Utilize a instrução IN para recuperar as linhas que correspondem a pelo menos um valor em um grupo de valores especificado.
Utilizar a instrução IN é equivalente a utilizar as múltiplas instruções OR para juntar as condições;
ao aplicar as condições de busca para uma coluna, algumas vezes é mais fácil utilizar a instrução IN das múltiplas instruções OR. Quando IN é usado,
pelo menos dois valores devem ser especificados entre parênteses.
Inclua a lista de valores (excluindo NULL, que não pode ser usado com IN) entre parênteses.
Separe um valor do outro com uma vírgula. Um espaço em branco entre os valores é opcional.
A ordem dos objetos da lista não é importante, você receberá as mesmas linhas de qualquer forma.
A ordem dos objetos da lista não afeta a ordenação do resultado. Para ordenar o resultado, utilize a opção ORDER BY.
Esta consulta:
SELECT DEPTNUMB
, DEPTNAME
FROM Q.ORG
WHERE DEPTNUMB IN (20, 38, 42)
Produz este relatório:
DEPTNUMB DEPTNAME
-------- ---------------
20 MID ATLANTIC
38 SOUTH ATLANTIC
42 GREAT LAKES
Na consulta acima, IN(20, 38, 42) é equivalente a (DEPTNUMB = 20 OR DEPTNUMB = 38 OR DEPTNUMB = 42).
Exemplos adicionais:
- Para selecionar cada departamento nas divisões Leste e Meio-Oeste:
SELECT DEPTNAME
, DIVISION
, LOCATION
FROM Q.ORG
WHERE DIVISION IN ('EASTERN', 'MIDWEST')
- Para selecionar cada vendedor e escriturário nos Departamentos 15, 20 e 38:
SELECT ID
, NAME
, JOB
, DEPT
FROM Q.STAFF
WHERE JOB IN ('CLERK', 'SALES')
AND DEPT IN (15, 20, 38)
- Para selecionar todos com 1, 2 ou 3 anos de serviço ou cujo valor de YEARS é nulo:
SELECT ID
, NAME
, YEARS
FROM Q.STAFF
WHERE YEARS IN (1, 2, 3) OR YEARS IS NULL
© Copyright IBM Corp.