DB2 - Banco de dados - Instruções e Funções Básicas - IN


Volta a página anterior

Volta ao Menu Principal


Desenvolvido por DORNELLES Carlos Alberto - Analista de Sistemas - Brasília DF. - cad_cobol@hotmail.com

IN

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:

  1. Para selecionar cada departamento nas divisões Leste e Meio-Oeste:
       SELECT DEPTNAME
       ,      DIVISION
       ,      LOCATION
       FROM   Q.ORG
       WHERE   DIVISION IN ('EASTERN', 'MIDWEST')
  2. 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)
  3. 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.