Nome: _____________________n.º __ WEB – Série 2B / 2C / 2D / 2E
Barueri, 22 / 08 / 2009
3ª Postagem
Disciplina: Gerenciamento e Estrutura de Banco de Dados
Professor Marcio
Usando Operadores Relacionais (continuação)
Até agora nós utilizamos o operador igual ( = ), no exemplo seguinte, utilizaremos os operadores maior ( > ) e
menor (< ), para selecionar os funcionários que possuem salários maior do que mil reais:
SELECT NOME_EMP, CARGO, SALARIO
FROM FUNCIONARIOS
WHERE SALARIO > 1000
Repare na imagem acima, o ambiente MySQL Query Browser permitindo o desenvolvimento da consulta, e o
resultado demonstra três funcionários com salários acima de mil reais.
Um outro exemplo é selecionar todos os funcionários que não moram no estado de São Paulo
SELECT NOME_EMP
FROM FUNCIONARIOS
WHERE UF_EMP <> "SP"
Repare que o valor SP na cláusula WHERE está entre áspas devido ao campo UF_EMP ser do tipo texto/string
Outros Operadores Relacionais
Além dos convencionais, que já conhecemos (maior, menor, maior ou igual a, menor ou igual a, igual e diferente
de), na linguagem SQL, especificamente no SGBD MySQL, há outros operadores relacionais:
Operador
Significado
BETWEEN
Entre dois valores (inclusive eles)
IN(lista)
Vincula qualquer um de uma lista de valores
LIKE
Vincula um padrão de caractere
IS NULL
É um valor nulo
Um exemplo de consulta utilizando o operador BETWEEN:
selecionar o nome e endereço de todos os funcionários que ganham entre mil a dois mil e quinhentos reais
SELECT NOME_EMP, ENDERECO_EMP
FROM FUNCIONARIOS
WHERE SALARIO BETWEEN 1000 AND 2500;
Repare na imagem acima que somente Roberto é o funcionário que possui o salário entre mil a dois mil e
quinhentos reais.
Um exemplo de consulta utilizando o operador IN:
selecionar o nome e email de todos os funcionários que trabalham nos departamentos 1, 2 e 3.
SELECT NOME_EMP, EMAIL_EMP
FROM FUNCIONARIOS
WHERE COD_DEPTO IN(1,2,3)
O operador IN pode ser usado com qualquer tipo de dados.
O exemplo anterior mostra o uso do operador IN com um campo do tipo de dado numérico
O exemplo seguinte mostra o uso do operador IN com um campo do tipo de dado texto, onde é realizado a
consulta dos nomes de todos os vendedores e gerentes da empresa
SELECT NOME_EMP, EMAIL_EMP
FROM FUNCIONARIOS
WHERE CARGO IN("Vendedor", "Gerente")
O operador LIKE é utilizado quando não se tem a precisão exata do valor a ser consultado
Um exemplo de consulta utilizando o operador LIKE:
Consultar os nomes de todos os funcionários cuja a primeira letra é R .
SELECT NOME_EMP
FROM FUNCIONARIOS
WHERE NOME_EMP LIKE 'R%'
Observe no resultado, onde Roberto é o único funcionário que satisfaz a consulta .
O operador IS NULL testa valores que são nulos. Um valor nulo significa um valor indecifrável / desconhecido .
Assim sendo, não é possível testar com o operador relacional igual (=) .
Um exemplo de consulta utilizando o operador IS NULL:
Consultar os nomes de todos os funcionários que não possui comissão.
SELECT NOME_EMP
FROM FUNCIONARIOS
WHERE COMISSAO IS NULL;
Exercícios
Em relação a tabela FUNCIONARIOS, cuja estrutura foi criada no MySQL Monitor, faça as seguintes
consultas utilizando a linguagem SQL .
1. Selecionar nome, cargo e salário de todos os funcionários que ganham a partir de mil e quinhentos reais .
2. Selecionar os nomes de todos os funcionários que não são vendedores.
3. Selecionar os nomes de todos os funcionários cujo a última letra do nome é a letra ‘ a ‘ .
4. Selecionar nomes e cargos de todos os funcionários que ganham entre mil e dois mil reais
Download

Após usarmos o ambiente MySQL Monitor, que é um