FROM
Especificar de onde (from) os dados serão recuperados.
Tabelas/views (visões) que serão usadas para fornecer os dados que deseja-se consultar.
Junção entre as tabelas. (produto cartesiano)
JOIN
Inner Join – interseção
Left Join – todos os registros da esquerda e seus correspondentes (interseção) da direita.
Right Join – Todos os registros da direita e correspondentes da esquerda.
Full outer Join – todos os registros quando há correspondência.
Cross Join – mesma coisa do FROM em produto cartesiano (sem cláusulas FROM)
WHERE
Permitir a filtragem dos registros de uma tabela por meio de uma ou mais condições,
garantindo que a consulta retorne apenas os registros que atendem a esses critérios.
Operadores relacionais
Operadores AND, OR e NOT — RLM.
AND ou OR – Sintaxe:
NOT – sintaxe: ‘WHERE NOT’
BETWEEN – intervalos
Encontrar valores especificados em um intervalo.
Números, strings, datas.
Função: Simplificar consultas.
Considerado inclusivo: inclui as extremidades dos intervalos.
Sintaxe:
LIKE – busca de padrões
Encontrar colunas de texto (strings) que correspondam a um padrão específico;
Poderá ser padrão: aproximado ou parcial;
Não exige correspondência exata, facilitando a consulta em casos que não se sabe o
registro exato.
Utiliza caracteres curingas, dos quais:
Porcentagem (%) – Substitui qualquer número de caracteres
Sublinhado/underline (_) – Substitui exatamente um único caractere em uma string.
Sintaxe:
IS NULL ou IS NOT NULL
para verificar se uma coluna contém um valor NULL.
O SQL não pode determinar uma comparação lógica com operador relacional como NULL,
pois não se sabe o que o NULL representa (valor ausente, indeterminado).
Assim, a comparação resultaria em um UNKNOWN.
Assim, o IS NULL ou IS NOT NULL são projetados especificamente para avaliar a ausência
de valores nas colunas.
Operador IN
Abreviação de várias operações OR.
Adendo – Subconsultas (subqueries)
São consultas dentro de outras consultas
Podem ser classificadas em:
Correlacionadas: dependem e fazem referências às colunas de consultas externas a qual
estão contidas;
Não-correlacionadas: são consultas independentes das consultas externas nas quais estão
contidas.
Operador EXISTS
Usado para verificar a existência de registros retornados por uma subconsulta
Utilizado quando você deseja testar a presença de registros em uma tabela relacionada,
sem precisar se preocupar com o conteúdo exato desses registros.
Existe também o operador NOT EXISTS.
Operador GROUP BY
Agrupamento de registros com base em uma ou mais colunas;
os registros são agrupados em conjuntos com base nos valores das colunas especificadas,
e as funções agregadas operam sobre esses grupos.
Essa cláusula buscará registros de uma tabela que possuem um valor em comum para um
ou mais atributos e os agrupará baseado em algum critério de agrupamento (soma, média,
quantidade, entre outros).
Critérios de agrupamento:
Todas elas podem ser utilizadas com o operador DISTINCT!
Exemplo:
HAVING
É uma espécie de WHERE, mas utilizado só e somente só em conjunto com o GROUP BY.
Ele cria condições para os resultados que serão agrupados a partir do GROUP BY.
“o HAVING é utilizado para filtrar os resultados dos grupos gerados pelo GROUP BY, ou
seja, ele atua após o agrupamento e agregação dos dados”
ORDER BY
Ordenar registros/linhas de uma tabela em ordem crescente (ASC) ou decrescente (DESC).