GeeksforGeeks

w tym artykule zobaczymy, jak używać wartości NULL wewnątrz klauzuli NOT IN w SQL. NULL ma specjalny status w SQL. Reprezentuje brak wartości, więc nie może być użyty do porównania. Jeśli użyjesz go do porównania, zawsze zwróci NULL.

aby użyć wartości NULL w klauzuli NOT IN, możemy utworzyć osobne subquery zawierające wartości NULL.

Uwaga czytelniku! Nie przestawaj się uczyć. Dowiedz się SQL dla wywiadów za pomocą kursu SQL przez GeeksforGeeks.

Utwórz oddzielną klauzulę where dla NULL, taką jak:

zapytanie:

WHERE value IS NULL;

Krok 1: Tworzenie bazy danych

użyj poniższego polecenia SQL, aby utworzyć bazę danych o nazwie geeks;

zapytanie:

CREATE DATABASE geeks;

Krok 2: Korzystanie z bazy danych

użyj poniższego polecenia SQL, aby zmienić kontekst bazy danych na geeks:

zapytanie:

USE geeks;

Krok 3: Tworzenie tabeli

mamy następujący demo_table w bazie danych naszego Geeka.

zapytanie:

CREATE TABLE demo_table(NAME VARCHAR(20),GENDER VARCHAR(20),AGE INT,CITY VARCHAR(20) );

Krok 4: Wstaw dane do tabeli

zapytanie:

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');

Krok 5: Wyświetl dane tabeli

zapytanie:

SELECT * FROM demo_table;

wyjście:

Krok 6: użycie wartości NULL w NOT NULL

w celu demonstracji zwrócimy wartości z tabeli, których wiek nie jest wartościami NULL.

zapytanie:

SELECT * FROM demo_table WHERE AGE NOT IN (SELECT AGE WHERE AGE IS NULL);

wyjście:

jeśli chcesz dodać wartości w klauzuli NOT IN, zdefiniuj oddzielną klauzulę NOT in z operatorem AND. Jeśli dodasz wartość w tej samej klauzuli NOT in, zwróci ona NULL.

Zapytanie:

SELECT * FROM demo_table WHERE AGE NOT IN ((SELECT AGE WHERE AGE IS NULL),24);

Wyjście:

zwrócono pusty stół.

poprawny sposób dodawania innych wartości w klauzuli NOT in z wartościami NULL:

zapytanie:

SELECT * FROM demo_table WHERE AGE NOT IN (SELECT AGE WHERE AGE IS NULL) and AGE NOT IN (24);

wyjście:

Tagi artykułu:

SQL

Tagi praktyki :

Leave a Reply