10 - Linguagem SQL
10 - Linguagem SQL
125-98
[Escolha a data]
[Digite o
título do [Ano
documento
]
]
[Digite aqui o resumo do documento. Em geral, o resumo é uma [Digite o
breve descrição do conteúdo do documento. Digite aqui o resumo
do documento. Em geral, o resumo é uma breve descrição do subtítulo do
conteúdo do documento.] documento]
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
SUMÁRIO
CONSIDERAÇÕES INICIAIS
Estudar SQL não é uma tarefa simples, haja vista a existência de uma infinidade de comandos e sintaxes.
Aqui nós encontraremos os conceitos fundamentais de SQL e uma visão ampliada sobre o assunto a fim
de que possamos massificar o tema, posteriormente, por meio das questões. Vale ressaltar que nós
colocamos tudo aquilo que é necessário para que possamos iniciar nosso caminho pelo caderno de
questões. Logo, nosso tempo será economizado e nosso estudo será muito mais produtivo.
Bons estudos!
@RADEGONDESS 1
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
Exemplo: Vamos utilizar o comando CREATE TABLE para criar uma nova tabela no BD:
DQL SELECT
COMANDO DESCRIÇÃO
@RADEGONDESS 2
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
Exemplo 01: Se quisermos saber o nome dos produtos que estão na tabela produtos, devemos executar
o seguinte comando no SGBD:
Exemplo 02: Se quisermos todos os dados da tabela produtos (ex: código, nome, preço e quantidade),
devemos executar o seguinte comando:
OBSERVAÇÕES
04 Tem autores que consideram o comando SELECT como sendo da categoria DML.
COMANDOS DESCRIÇÃO
ATENÇÃO
O comando DELETE deve ser utilizado junto com a cláusula WHERE. Se não for utilizada
a cláusula WHERE, o DELETE funcionará como um TRUNCATE (remove todas as linhas).
@RADEGONDESS 3
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
COMANDOS DESCRIÇÃO
CREATE Utilizado para CRIAR bancos de dados, tabelas, índices, entre outros.
ATENÇÃO
O comando TRUNCATE não utiliza a cláusula WHERE (restrição de linhas). (as bancas
adoram cobrar isso)
COMANDOS DESCRIÇÃO
COMANDOS DESCRIÇÃO
@RADEGONDESS 4
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
ATENÇÃO
Onde:
BEGIN TRANSACTION BEGIN TRANSACTION: Tag inicial para o inicio de uma transação.
É uma declaração (em inglês) que executa uma função para a instrução (sintaxe) criada.
Exemplo: SELECT (...) FROM (...) WHERE (...) GROUP BY (...) HAVING (...) ORDER BY (...)
CLÁUSULAS DESCRIÇÃO
FROM Utilizado para indicar a tabela de onde os dados devem ser selecionados.
@RADEGONDESS 5
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
OBSERVAÇÕES
Sempre precisará utilizar uma função de agregação (ex: AVG) junto com a
02 cláusula GROUP BY. Exemplo:
Essa sintaxe vai executar uma consulta SQL que irá selecionar o campo minuto
da data fornecida, ou seja, vai retornar o valor 22.
@RADEGONDESS 6
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
TIPOS DE DADOS
Em SQL, cada coluna tem um tipo de dado relacionado. O tipo de dados é uma característica que
especifica o que o objeto pode manter: dados inteiros, dados de caractere, dados monetários, data e
hora, cadeias de caracteres binárias, etc.
@RADEGONDESS 7
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
aluno integer,
disciplina integer,
Atributos (colunas) + Tipo de Dado
ano integer,
nota numeric,
);
EXPLICANDO O COMANDO
A sintaxe SQL acima cria uma tabela chamada “matricula” e define sua estrutura no
SGBD PostgreSQL.
Obs: Nos outros SGBDs (SQL Server, Oracle, MySQL) mudam alguns detalhes, mas a
essência é a mesma.
@RADEGONDESS 8
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
COMANDO INSERT
Este comando é utilizado após criarmos uma tabela com seus atributos (colunas) no banco de dados. Ou
seja, após criarmos uma tabela (CREATE TABLE), podemos utilizar o comando INSERT para inserir novos
registros (linhas). A sintaxe do comando é:
ou
Exemplo:
OBSERVAÇÕES
Tem autores que consideram que o nome do comando é INSERT INTO e não
01
apenas INSERT.
@RADEGONDESS 9
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
COMANDO UPDATE
Este comando também é utilizado após criarmos uma tabela com seus atributos (colunas) no banco de
dados. Ou seja, após criarmos uma tabela (CREATE TABLE), podemos utilizar o comando UPDATE para
atualizar os registros dela.
A sintaxe do comando é:
Note que a tabela “’matricula” foi atualizada para a coluna “nota = 9,5” onde a coluna “aluno = 3” e a
coluna “disciplina = 5”.
CLÁUSULA JOIN
Utilizamos a cláusula JOIN quando queremos mesclar (juntar) consultas.
Existem basicamente 5 tipos de junções:
Junção Externa Esquerda (LEFT JOIN)
Junção Externa Direita (RIGHT JOIN)
Junção Externa Completa (OUTER JOIN)
Junção Interna (INNER JOIN)
Auto relacionamento (SELF JOIN)
Mantém todas as linhas da tabela esquerda e traz todas as linhas correspondentes da tabela
direita.
@RADEGONDESS 10
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
Sintaxe:
SELECT nome_das_colunas FROM tabela1 LEFT JOIN tabela2 ON tabela1.nome_coluna =
tabela2.nome_coluna;
Mantém todas as linhas da tabela direita e traz todas as linhas correspondentes da tabela
esquerda.
Sintaxe:
SELECT nome_das_colunas FROM tabela1 RIGHT JOIN tabela2 ON tabela1.nome_coluna =
tabela2.nome_coluna;
@RADEGONDESS 11
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
Sintaxe:
SELECT nome_das_colunas FROM tabela1 OUTER JOIN tabela2 ON tabela1.nome_coluna =
tabela2.nome_coluna;
Sintaxe:
SELECT nome_das_colunas FROM tabela1 INNER JOIN tabela2 ON tabela1.nome_coluna =
tabela2.nome_coluna;
@RADEGONDESS 12
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
CLÁUSULA WHERE
SINTAXE DO COMANDO
SELECT nome_coluna1
FROM nome_da_tabela1
WHERE condição;
SELECT *
FROM Empregado
WHERE nome = ‘Thiago’ AND salario > 5000
CLÁUSULA GROUP BY
Para utilizarmos uma função de agregação (soma, valores máximos, valores mínimos, média, etc.),
precisamos da cláusula GROUP BY. A finalidade é pegar as linhas de uma tabela e formar um grupo
menor.
SINTAXE DO COMANDO
@RADEGONDESS 13
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
CLÁUSULA HAVING
Esta cláusula só pode existir se houver anteriormente uma cláusula GROUP BY, uma vez que a finalidade
dela (cláusula HAVING) é restringir o número de linhas do grupo formado pela cláusula GROUP BY. A
cláusula HAVING possui finalidade semelhante à cláusula WHERE.
SINTAXE DO COMANDO
CLÁUSULA ORDER BY
É utilizada para ordenar os registros (linhas) de uma tabela em ordem crescente (ASC) ou
decrescente (DESC).
SINTAXE DO COMANDO
SELECT nome_coluna1, função_de_agregação (coluna)
FROM nome_da_tabela1
WHERE condições (opcional)
GROUP BY nome_coluna1 (opcional)
HAVING condições (opcional)
ORDER BY coluna1 ASC/DESC;
@RADEGONDESS 14
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
OPERADOR EXISTS
Esta operação é “chatinha”, porém ela despenca nas provas da FGV. Por outro lado, as outras bancas
não costumam cobrá-la com a mesma frequência. O EXISTS é um operador utilizado junto com a
cláusula WHERE com a finalidade de testar quando há um ou mais resultados em
uma SUBQUERY (subconsulta) e retorna o valor “TRUE” ou “FALSE”, permitindo filtrar colunas dentro de
uma subconsulta. Ou seja, o operador EXISTS faz uma verificação se existe algum resultado para a
subquery informada. Caso haja, o resultado da consulta principal é exibido.
SINTAXE DO COMANDO
SELECT nome_coluna1
FROM nome_da_tabela1
SELECT Descricao
FROM Produto p
FROM ItemNota i
OBSERVAÇÕES
@RADEGONDESS 15
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
CONCEITOS IMPORTANTES
Nesse tópico do resumo vamos colocar aqueles conceitos que já apareceram em provas, ou seja, que
possuem grandes chances de aparecerem novamente. Logo, faz-se necessário uma leitura pragmática,
como se fosse “lei seca”. Essa leitura deve ser repetida o máximo de vezes até o dia da prova.
TOME NOTA!
OPERADOR LIKE:
LIKE ‘m%’ => Retorna valores (textos, strings) que comecem com “m”.
04 LIKE ‘%mo%’ => Retorna valores que possuam “mo” em qualquer posição.
LIKE ‘_m%’ => Retorna valores que possuem a letra “m” na segunda
posição.
LIKE ‘%m_’ => Retorna valores que possuam a letra “m” na penúltima
posição.
@RADEGONDESS 16
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
Tipos de CONSTRAINT:
Primary Key => Garante que todos os valores de uma coluna sejam
diferentes entre si e não nulos.
Unique => Garante que todos os valores de uma coluna sejam diferentes
09 entre si.
Not Null => Garante que uma coluna não possa ter um valor nulo.
Check => Garante que os valores em uma coluna satisfaçam uma condição
específica.
Default => Define um valor padrão para uma coluna, se nenhum valor for
especificado.
@RADEGONDESS 17
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
CONSIDERAÇÕES FINAIS
Vale ressaltar que o assunto SQL possui uma infinidade de detalhes, pois existem inúmeros comandos,
cláusulas e sintaxes, porém o que nós precisamos aprender antes de partir para as questões está aqui
neste resumo. As outras particularidades desse gigantesco tópico (SQL) nós pegamos por meio das
questões (vendo e revendo) da banca. Por isso, eu acredito de verdade que esse resumo aliado à
resolução do caderno de questões é uma das estratégias mais eficientes para alocarmos nossas horas de
estudos na disciplina de TI.
Contudo, caso tenha alguma dúvida sobre algum assunto específico, abra um vídeo no Youtube e tire
sua dúvida de forma pontual. Evite ao máximo reler todo o PDF de teoria, pois isso não é produtivo.
Devemos estudar inúmeras vezes este resumo, visto que a repetição do estudo dos assuntos que de fato
são cobrados vai elevar nosso desempenho nas questões e nos deixar mais preparados para o dia da
prova.
Ademais, não devemos nos assustar com questões que possuem comandos SQL gigantescos, pois elas
foram feitas para não serem resolvidas na hora da prova, assim como aquelas questões bizarras de
Estatística Inferencial que de vez em quando aparecem. Essas questões só servem para abalar nosso
psicológico, portanto cuidado para não se deixar abalar.
Por fim, ressaltamos novamente a importância de não nos preocuparmos com o desempenho nas
questões, mas sim em aprender com as questões. O desempenho melhora naturalmente à medida que
o reestudo das questões for solidificando o aprendizado na nossa memória de longo prazo, mas isso só
acontece por meio da repetição, por isso quanto mais passarmos pela matéria, teoricamente, mais
estaremos consolidando o aprendizado e melhorando nosso desempenho. Logo, não devemos nos
desesperar, pois tudo tem sua hora.
@RADEGONDESS 18
Licensed to tamyres barbosa de freitas - [email protected] - 075.412.125-98
RESUMO 10
CADERNOS DE QUESTÕES
TEORIA QUESTÕES
LACUNA DE
CONHECIMENTO
AVISOS:
Se você possui assinatura em algum site de questões, monte seu caderno com os assuntos
estudados neste PDF.
Se você possui a assinatura do TEC CONCURSOS, escolha a banca do seu concurso e clique no
link abaixo para abrir o caderno de questões do assunto estudado.
https://www.tecconcursos.com.br/s/Q1g6Nf CEBRASPE
https://www.tecconcursos.com.br/s/Q20Ur6 FCC
https://www.tecconcursos.com.br/s/Q20Ur9 FGV
https://www.tecconcursos.com.br/s/Q20UrC VUNESP
@RADEGONDESS 19