Os valores a serem comparados com colunas de dados de caracteres devem ser colocados entre aspas simples (como em WHERE NAME = 'JONES').
Os dados numéricos não são colocados entre aspas.
Se você estiver utilizando dados gráficos, o valor depois de WHERE deverá ser precedido do caractere de byte único, 'G', e deverá ser colocado entre aspas.
O sinal de porcentagem e o sublinhado devem ser caracteres de byte duplo.
Exemplos
Aqui estão alguns exemplos de como usar uma cláusula WHERE em uma consulta:
No exemplo a seguir, a condição de pesquisa especifica que o valor da coluna DEPT seja 20. Esta consulta:
SELECT DEPT
, NAME
, JOB
FROM Q.STAFF
WHERE DEPT = 20
Produz este relatório:
DEPT NAME JOB
---- ---------- -----
20 SANDERS MGR
20 PERNAL SALES
20 JAMES CLERK
20 SNEIDER CLERK
Para listar o salário menor, maior e médio em cada departamento, excluindo os gerentes, para departamentos com uma média salarial maior do que $12.000, use
a seguinte consulta.
Esta consulta:
SELECT DEPT
, MIN(SALARY)
, MAX(SALARY)
, AVG(SALARY)
FROM Q.STAFF
WHERE JOB <> 'MGR'
GROUP BY DEPT
HAVING AVG(SALARY) > 12000
Produz este relatório:
DEPT COL1 COL2 COL3
------ ---------- ---------- ------------------
15 12258.50 16502.83 13756.5100000000
20 13504.60 18171.25 15309.5333333333
38 12009.75 18006.00 14944.7000000000
42 10505.90 18001.75 13338.7500000000
51 13369.80 19456.50 16235.2000000000
66 10988.00 21000.00 16880.1750000000
84 13030.50 17844.00 15443.0000000000
Você pode escrever uma condição de pesquisa WHERE que usa qualquer um dos operadores de comparação.
Por exemplo, para selecionar somente os funcionários que fez comissões de $1.000 ou mais, use uma consulta como a seguinte. Esta consulta:
SELECT ID
, COMM
FROM Q.STAFF
WHERE COMM >= 1000
Produz este relatório:
ID COMM
----- -------
70 1152.00
90 1386.70
340 1285.00
Para selecionar todos com 10 anos ou mais de serviço:
SELECT ID
, NAME
, YEARS
FROM Q.STAFF
WHERE YEARS >= 10
Para selecionar todos com mais de 10 anos de serviço:
SELECT ID
, NAME
, YEARS
FROM Q.STAFF
WHERE YEARS > 10
Para selecionar todos os gerentes:
SELECT ID
, NAME
, YEARS
FROM Q.STAFF
WHERE JOB = 'MGR'
Para selecionar todos cujo nome vem depois de SMITH na ordem alfabética:
SELECT NAME
, ID
FROM Q.STAFF
WHERE NAME > 'SMITH'
Para selecionar todos os nomes de funcionário em Q.STAFF que não estão no Departamento 10:
SELECT NAME
, ID
FROM Q.STAFF
WHERE DEPT < > 10
© Copyright IBM Corp.