GeeksforGeeks
neste artigo, veremos como usar valores nulos dentro da Cláusula NOT IN No SQL. NULL tem um status especial em SQL. Representa a ausência de valor, portanto, não pode ser usado para comparação. Se você usá-lo para comparação, ele sempre retornará NULL.
para usar o valor nulo na Cláusula NOT IN, podemos fazer uma subconsulta separada para incluir valores nulos.
Leitor de atenção! Não pare de aprender agora. Aprenda SQL para entrevistas usando o curso SQL por GeeksforGeeks.
Fazer uma cláusula where para NULL como:
Consulta:
WHERE value IS NULL;
Passo 1: Criando o banco de dados
Use o abaixo instrução de SQL para criar a base de dados chamados de geeks;
Consulta:
CREATE DATABASE geeks;
Passo 2: Usando o banco de dados
Use o abaixo instrução SQL para mudar o contexto de banco de dados para os geeks:
Consulta:
USE geeks;
Passo 3: criação de Tabela
temos o seguinte demo_table em nosso geek do banco de dados.
Consulta:
CREATE TABLE demo_table(NAME VARCHAR(20),GENDER VARCHAR(20),AGE INT,CITY VARCHAR(20) );
Passo 4: Inserir dados em uma tabela
Consulta:
INSERT INTO demo_table VALUES('ROMY KUMARI', 'FEMALE', NULL, 'NEW DELHI'),('PUSHKAR JHA', 'MALE',24, 'NEW DELHI'),('RINKLE ARORA', 'FEMALE',23, 'PUNJAB'),('AKASH GUPTA', 'MALE', NULL, 'UTTAR PRADESH'),('NIKHIL KALRA', 'MALE', 23, 'PUNJAB'),('SHALINI JHA','FEMALE', 22, 'DELHI');
Passo 5: Ver dados da tabela
Consulta:
SELECT * FROM demo_table;
Saída:
Etapa 6: Usar valores NULL not NULL
Para a demonstração, iremos retornar os valores da tabela cuja IDADE não valores NULOS.
Consulta:
SELECT * FROM demo_table WHERE AGE NOT IN (SELECT AGE WHERE AGE IS NULL);
Saída:
Se você deseja adicionar valores na caixa NÃO consta cláusula, definem separado NÃO NA cláusula com o operador AND. Se você adicionar o valor dentro da mesma cláusula NOT in, ele retornará NULL.
Consulta:
SELECT * FROM demo_table WHERE AGE NOT IN ((SELECT AGE WHERE AGE IS NULL),24);
Saída:
tabela vazia retornada.
A maneira correta de adicionar outros valores NÃO NA Cláusula, com valores NULOS:
Consulta:
SELECT * FROM demo_table WHERE AGE NOT IN (SELECT AGE WHERE AGE IS NULL) and AGE NOT IN (24);
Saída:
Leave a Reply