PROFESSORA LUCIANA BÜHRER
CONTEÚDO LINGUAGEM SQL – CONSULTAS BÁSICAS
AULA 2 WHERE: IN, NOT IN, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IS NULL, IS NOT NULL
LINGUAGEM SQL – CONSULTAS BÁSICAS
Consultar dados de uma tabela
• select lista_atributos from tabela
• select lista_atributos from tabela where condição
Apresenta específicas Sintaxe: Exemplo:
colunas de uma relação. SELECT CAMPO1, CAMPO2 FROM TABELA; SELECT Nome, idade FROM Pacientes;
Seleção de todas os campos Exemplo: O exemplo utiliza o coringa "*" para selecionar
(colunas) da tabela de SELECT * FROM Pacientes; todas as colunas na ordem em que foram criadas.
Pacientes.
A cláusula "where" corresponde ao operador seleção da álgebra relacional. Contém a condição que a consulta
deverá obedecer.
Operadores lógicos:
⚫ = igual a
⚫ > maior que
⚫ >= maior que ou igual a
⚫ < menor que
⚫ <= menor que ou igual a
Sintaxe:
• SELECT Campos FROM Tabela WHERE condição
Exemplos:
⚫ SELECT nome, idade FROM Pacientes WHERE idade = 20
⚫ SELECT nome, idade FROM Pacientes WHERE idade >= 20
Uso de Expressões
Em uma consulta você pode mostrar não somente os campos mais também expressões sobre os campos.
Sintaxe:
• SELECT Campos, expressões FROM Tabela
Exemplo:
• SELECT Nome, Salario * 12 FROM Funcionarios WHERE Salario > 1000
PROFESSORA LUCIANA BÜHRER
CONTEÚDO LINGUAGEM SQL – CONSULTAS BÁSICAS
AULA 2 WHERE: IN, NOT IN, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IS NULL, IS NOT NULL
Exercícios sobre a tabela produtos:
Cod Nome Valor
1) Listar todos os produtos da tabela produtos cujo valor seja maior que R$ 20,00
SELECT * FROM produtos WHERE Valor > 20;
2) Apresente o Nome destes produtos e o preço total de 12 peças.
OBS: Valor de 12 peças = valor unitário multiplicado por 12.
SELECT Nome, Valor*12 FROM produtos;
A cláusula "Distinct"
Elimina duplicidades, significando que somente relações distintas serão apresentadas como resultado de uma
pesquisa.
Exemplo: SELECT DISTINCT Estado FROM Funcionarios;
O exemplo apresenta todos os Países que existe cliente cadastrado, porém omite eventuais duplicidades.
Exemplo: SELECT DISTINCT Estado FROM Funcionarios;
O exemplo apresenta todos os Países que existe cliente cadastrado, porém apresentando duplicidades.
Demais Operadores
⚫ between ... and ... → seleciona as linhas que os valores do campo estão entre dois valores (inclusive);
⚫ in ( .... ) → seleciona as linhas que os valores (do campo) estão contidos em uma lista de valores;
⚫ Like → com um padrão de caracteres;
⚫ is null → seleciona as linhas com valor nulo.
PROFESSORA LUCIANA BÜHRER
CONTEÚDO LINGUAGEM SQL – CONSULTAS BÁSICAS
AULA 2 WHERE: IN, NOT IN, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IS NULL, IS NOT NULL
Exemplos:
Listar o nome e salário dos funcionários que tem valor nulo no SELECT Nome, salario FROM Funcionarios
campo salário WHERE Salario IS NULL;
Verifica se um campo tem valor entre dois valores pré-definido.
SELECT Nome, salario FROM Funcionarios
Listar o nome e salário dos funcionários com salário entre 3000 WHERE salario BETWEEN 3000 AND 5000;
e 5000 anos (inclusive)
Verifica se um campo está contido em uma lista de valores.
SELECT Nome, estado FROM Funcionarios
Listar o nome e estado dos funcionários que trabalham no WHERE estado IN ('SP' , 'BA');
estado de SP e BA
Verifica se um campo tem o dado (string) começando por
caracteres específicos. Utilizar %. SELECT Nome, salario FROM Funcionarios
WHERE Nome LIKE 'F%';
Listar o nome e salário dos funcionários apenas dos
funcionários contendo o nome começando com a letra F
Verifica se um campo tem o dado (string) começando por
caracteres específicos. Utilizar %. SELECT Nome, salario FROM Funcionarios
WHERE Nome LIKE 'F______';
Listar o nome e salário dos funcionários, mas apresentar
apenas os funcionários com nome que comece com a letra F e
que contenha 7 letras
Operadores negativos
⚫ < > → diferente
⚫ not between → não entre dois valore;
⚫ not in → não existente em uma lista;
⚫ not like → diferente dos caracteres informado;
⚫ is not null → não é um valor nulo.
AND / OR
Consultas que necessitam de mais de um critério dentro da clausula WHERE.
Utilizar os operadores "AND" (E) e "OR" (OU).
Sintaxe: SELECT Campos FROM Tabela WHERE Condição AND / OR Condição
PROFESSORA LUCIANA BÜHRER
CONTEÚDO LINGUAGEM SQL – CONSULTAS BÁSICAS
AULA 2 WHERE: IN, NOT IN, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IS NULL, IS NOT NULL
Order BY
O comando Order by ordena os campos de retorno de uma seleção (consulta).
Sintaxe: SELECT Campo1, Campo2 FROM Tabela ORDER BY Campo1 [ASC|DESC];
Exemplo: SELECT Nome, salario FROM Funcionarios ORDER BY Nome DESC;
Exemplo: SELECT Nome, salario FROM Funcionarios ORDER BY Nome ASC;
Exercícios:
1) Com base na tabela PACIENTES, escreva o significado de cada um dos seguintes comandos:
NUMERO CPF NOME IDADE
Select * From Pacientes
Select * From Pacientes
Where idade > 18
Select CPF, nome From Pacientes
Select CPF, nome from Pacientes
where nome like ´M%´
2) Com base na tabela MEDICOS, escreva a query:
NUMERO CPF NOME CIDADE IDADE ESPECIALIDADE
Buscar os dados dos médicos ortopedistas,
traumatologistas e cardiologistas de
Florianópolis
3) Com base na tabela abaixo (EMPREGADO), escreva o significado de cada um dos seguintes comandos:
NUM NOME DEPTO IDADE SALARIO
a) Select * From Empregado;
b) Select Num, Nome From Empregado;
c) Select Depto From Empregado;
Cuidado: Aparecerá dados duplicados!
d) Select Distinct Depto From Empregado;
e) Select * From Empregado
Where Salario > 20000 and Salario < 30000;
f) Select * From Empregado
Where Salario Between 20000 and 30000;
PROFESSORA LUCIANA BÜHRER
CONTEÚDO LINGUAGEM SQL – CONSULTAS BÁSICAS
AULA 2 WHERE: IN, NOT IN, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IS NULL, IS NOT NULL
g) Select * From Empregado
Where (Salario Between 20000 and 30000)
or Num = 1;
h) Select * From Empregado
Order By Nome Desc;
i) Select * From Empregado
Where Salario Between 20000 and 30000
Order By Salario;
j) Select * From Empregado
Where Nome Like 'D%';
k) Select * From Empregado
Where Num > 3;
l) Select * From empregado
Where Num = 3 or Num = 5;
m) Select * From Empregado
Where Num IN (3,5);
PROFESSORA LUCIANA BÜHRER
CONTEÚDO LINGUAGEM SQL – CONSULTAS BÁSICAS
AULA 2 WHERE: IN, NOT IN, BETWEEN, NOT BETWEEN, LIKE, NOT LIKE, IS NULL, IS NOT NULL
4)Realizar as seguintes consultas no BD. Utilize as tabelas Pacientes, Medicos ou Empregado:
a) Buscar o nome e o CPF dos médicos com
especialidade diferente de traumatologia
b) Buscar o nome e a cidade dos médicos
que não residem em Florianópolis
c) De quais cidades vêm os médicos
d) Buscar o CPF, o nome e a especialidade
dos médicos
e) Buscar o nome dos empregados que
terminam com a letra “a”
f) Buscar o nome e idade dos empregados
que não possuam a sequência “00000” em
seus CPFs
g) Buscar o nome e a especialidade dos
médicos cuja segunda e a última letra de seus
nomes sejam a letra “o”
h) Buscar os nomes e as idades dos
empregados com mais de 25 anos
5)Realizar as seguintes consultas no BD. Utilize a tabela FUNCIONARIOS.
NUMERO NOME SALARIO ESTADO ANO_ADMISSAO
a) Criar uma consulta que exiba nome, salário e
o estado dos funcionários em ordem crescente
pelo nome
b) Criar uma consulta que exiba os funcionários
em que qualquer parte do nome possua a string
almeida
c) Criar uma consulta que exiba os funcionários
que moram na BA ou em SP
d) Exibir salário de funcionários entre 800 e
1800 (inclusive)
e) Exibir todos os funcionários em que o nome
se inicia com el
f) Exibir todos os funcionários com exceção
daqueles que moram em SP
g) Exibir todos os funcionários com salario = 0
h) Exibir todos os funcionários que foram
admitidos entre 1999 e 2009 (inclusive)