SQL Linguagem IN & BETWEEN
O operador condicional IN é realmente um operador de teste de adesão definido. Ou seja, ele é usado para testar se um valor (declarado antes da palavra-chave IN) está “na” lista de valores fornecidos após a palavra-chave IN.
SELECT col1, SUM(col2)
FROM "list-of-tables"
WHERE col3 IN
(list-of-values);
SELECT col1, SUM(col2)
FROM "list-of-tables"
WHERE col3 BETWEEN value1
AND value2;
Outro exemplo:
SELECT employeeid, lastname, salary
FROM employee_info
WHERE lastname IN ('Hernandez', 'Jones', 'Roberts', 'Ruiz');
Esta instrução selecionará o employeeid, o sobrenome, o salário da tabela de informações do empregado onde o sobrenome é igual a um deles: Hernandez, Jones, Roberts ou Ruiz. Ele retornará as linhas se for QUALQUER um destes valores.
O operador condicional IN pode ser reescrito usando condições compostas usando o operador igual e combinando-o com OR – com exatamente os mesmos resultados de saída:
SELECT employeeid, lastname, salary
FROM employee_info
WHERE lastname = 'Hernandez' OR lastname = 'Jones' OR lastname = 'Roberts'
OR lastname = 'Ruiz';
Como você pode ver, o operador IN é muito mais curto e mais fácil de ler quando você está testando mais de dois ou três valores.
Você também pode usar NOT IN para excluir as linhas da sua lista.
O operador condicional BETWEEN é usado para testar se um valor (indicado antes da palavra-chave BETWEEN) está “entre” os dois valores indicados após a palavra-chave BETWEEN.
Por exemplo:
SELECT employeeid, age, lastname, salary
FROM employee_info
WHERE age BETWEEN 30 AND 40;
Essa instrução selecionará o employeeid, idade, sobrenome e salário da tabela de info_empregado onde a idade está entre 30 e 40 anos (incluindo 30 e 40 anos).
Essa instrução também pode ser reescrita sem o operador BETWEEN:
SELECT employeeid, age, lastname, salary
FROM employee_info
WHERE age >= 30 AND age <= 40;
Você também pode usar NOT BETWEEN para excluir os valores entre seus intervalos.
0 comentários :
Postar um comentário