MySQL NÃO ESTÁ EM

Resumo : neste tutorial, você aprenderá como usar o NOT INoperador MySQL para verificar se um valor não está em uma lista de valores.

Introdução ao operador MySQL NOT IN

O NOToperador nega o INoperador:

value NOT IN (value1, value2, value2)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

O NOT INoperador retorna um se o valor não for igual a nenhum valor na lista. Caso contrário, ele retorna 0.

O exemplo a seguir usa o NOT INoperador para verificar se o número 1 é NOT INa lista (1,2,3):

SELECT 1 NOT IN (1,2,3);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------------------+
| 1 NOT IN (1,2,3) |
+------------------+
|                0 |
+------------------+
1 row in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

Ele retorna 0 (falso) porque 1 é NOT INa lista false.

O exemplo a seguir usa o NOT INoperador para verificar se 0 é NOT INa lista (1,2,3):

SELECT 0 NOT IN (1,2,3);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------------------+
| 0 NOT IN (1,2,3) |
+------------------+
|                1 |
+------------------+
1 row in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

O NOT INoperador retornará NULL se o valor no lado esquerdo do INoperador for NULL. Por exemplo:

SELECT NULL NOT IN (1,2,3);Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+---------------------+
| NULL NOT IN (1,2,3) |
+---------------------+
|                NULL |
+---------------------+
1 row in set (0.00 sec)Linguagem de código:  texto simples  ( texto simples )

Tecnicamente, o NOT INoperador é equivalente ao seguinte:

NOT (value = value1 OR value = value2 OR value = valu3)Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Ou:

value <> value1 AND value <> value2 AND value <> value3Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Exemplo de operador MySQL NOT IN

Usaremos a officestabela do banco de dados de exemplo para ilustrar o NOT INoperador:

Operador MySQL IN - Tabela de exemplo

O exemplo a seguir usa o NOT INoperador para localizar os escritórios que não estão localizados em Francee no USA:

SELECT 
    officeCode, 
    city, 
    phone
FROM
    offices
WHERE
    country NOT IN ('USA' , 'France')
ORDER BY 
    city;Linguagem de código:  SQL (linguagem de consulta estruturada)  ( sql )

Saída:

+------------+--------+------------------+
| officeCode | city   | phone            |
+------------+--------+------------------+
| 7          | London | +44 20 7877 2041 |
| 6          | Sydney | +61 2 9264 2451  |
| 5          | Tokyo  | +81 33 224 5000  |
+------------+--------+------------------+
3 rows in set (0.02 sec)Linguagem de código:  texto simples  ( texto simples )

Resumo

  • Use o MySQL NOT INpara verificar se um valor não corresponde a nenhum valor de uma lista.

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *