O comando SELECT é usado para a execução de operações de consulta no banco de dados, e estas consultas podem ser elaboradas, desde as simples até as mais avançadas. E uma das melhores formas de se aprender a linguagem SQL é por meio de exemplos. Veremos alguns que irão abranger cada tipo de consulta e todos serão realizados tendo-se como base as tabelas criadas na lição anterior.
Vamos iniciar falando sobre operadores lógicos. As condições dos comandos SQL podem utilizar comparadores lógicos similares aos usados em linguagens de programação. Os operadores lógicos usados são: = (igual), < (menor), <= (menor ou igual), > (maior), >= (maior ou igual) e <> (diferente). A linguagem SQL permite operadores que comparam strings, expressões aritméticas, além de comparativos entre datas (SILBERSCHATZ, 2020). Vamos considerar a seguinte consulta: “encontre todos os registros dos alunos os quais a idade é maior que 20”.
Select * From aluno
Where idade > 20
Segundo Silberschatz (2020), a linguagem SQL oferece ao usuário um controle sobre a ordem que os dados são retornados para o usuário. A cláusula ORDER BY é usada para que o resultado da busca seja ordenado de acordo com os parâmetros informados. Por padrão, a cláusula ORDER BY lista os resultados em ordem crescente (ASC). Contudo, podemos ordenar em ordem decrescente (DESC). Vamos ao exemplo 1: selecione o nome de todos os alunos por ordem alfabética crescente.
select nome from aluno order by nome asc
Agora vamos usar o comparador LIKE para definir uma busca por padrões em strings. E para isso, usamos o caractere ‘%’ que é utilizado em condições LIKE para definir zero ou mais caracteres. Exemplo 2: selecione o nome de todos os alunos cujo nome inicie com ‘C’ e ordene por nome em ordem decrescente.
SELECT nome_aluno FROM aluno
WHERE nome_aluno LIKE ‘C%’
ORDER BY nome_aluno DESC;
Outra condição usada em SQL é a BETWEEN que é utilizada para determinar intervalos de valores em comparações. Exemplo 3: selecione todos os alunos cuja idade esteja entre 14 e 18 anos.
select * from aluno
where idade
between 14 and 18;
E quando temos valores nulos? Ou seja, a ausência de informações nos registros. Na linguagem SQL, utilizamos a palavra null para verificar a presença de um valor nulo. Exemplo 4: selecione os registros que não possuem valor.
Select * From pedido_item
Where valor is null
Agora vamos usar filtros para incluir ou excluir múltiplos valores. Para filtrar múltiplos valores, deve-se usar os operadores IN (incluindo) e NOT IN (excluindo), seguidos dos valores entre parênteses e separados por vírgulas. Exemplo 5: selecione somente os alunos cujo nome seja Ana, Gabriel, Maria e Pedro.
select nome_aluno
from Alunos
where nome IN ('Ana', 'Gabriel', 'Maria', 'Pedro')
Podemos combinar mais de uma condição na mesma consulta usando as cláusulas AND (e) e OR (ou). Exemplo 6: selecione todos os alunos cuja idade seja maior que 15 anos e que more em Curitiba.
select nome_aluno, idade, cidade
from Alunos
where idade > 15
and cidade= 'Curitiba’
Podemos executar diversas consultas com SQL para criar relatórios que serão analisados e usados pelas empresas para a tomada de decisão (SILBERSCHATZ, 2020). E para criarmos consultas mais completas, precisamos utilizar várias tabelas em conjunto e para isso usamos o comando JOIN.
A cláusula JOIN corresponde a uma operação de junção em álgebra relacional, pois combina colunas de uma ou mais tabelas em um banco de dados relacional. O comando JOIN é um meio de combinar colunas de uma ou mais tabelas, usando valores comuns a cada uma delas. O SQL padrão ANSI especifica os tipos de JOIN: INNER JOIN, LEFT JOIN, RIGHT JOIN, FULL JOIN e CROSS JOIN.