sql >> Databáze >  >> RDS >> Database

Jak najít záznamy s NULL ve sloupci

Problém:

Chcete najít záznamy s NULL ve sloupci.

Příklad:

Naše databáze obsahuje tabulku s názvem children s údaji ve čtyřech sloupcích:id , first_name , middle_name a last_name .

id first_name prostřední_jméno last_name
1 Jan Carl Jackson
2 Tome NULL Thomson
3 Lisa Alice NULL
4 Anne NULL Smith

Pojďme najít id, jméno a příjmení dětí bez druhého jména (NULL ve sloupci middle_name ). K tomu používáme operátor IS NULL.

Řešení:

SELECT id,
  first_name,
  last_name
FROM children
WHERE middle_name IS NULL;

Zde je výsledek:

id first_name last_name
2 Tome Thomson
4 Anne Smith

To vrátí pouze záznamy s NULL v middle_name , takže jsou přítomni Tom a Anne, ale ne John a Lisa, kteří mají prostřední jména.

Diskuse:

Použijte IS NULL operátor ve stavu s WHERE k nalezení záznamů s NULL ve sloupci. Samozřejmě můžete také použít libovolný výraz místo názvu sloupce a zkontrolovat, zda vrací NULL. Není potřeba nic víc než název sloupce a operátor IS NULL (v našem příkladu middle_name IS NULL ). Chcete-li filtrovat řádky, vložte tuto podmínku do klauzule WHERE (v našem příkladu WHERE middle_name IS NULL ). Pokud je podmínka pravdivá, sloupec ukládá hodnotu NULL a tento řádek je vrácen. Výše uvedený dotaz vrátí pouze dva záznamy s dětmi Tomem a Anne, kteří nemají prostřední jména, takže sloupec middle_name ukládá NULL.


  1. Jak nastavit národní prostředí pro aktuální připojení v MySQL

  2. Jak aktualizovat pole v PostgreSQL

  3. Odstranění událostí z protokolu pošty databáze SQL Server (T-SQL)

  4. Jak získat aktuální datum v PostgreSQL