sql >> Databasteknik >  >> RDS >> Database

Hur man hittar poster med NULL i en kolumn

Problem:

Du vill hitta poster med NULL i en kolumn.

Exempel:

Vår databas har en tabell som heter children med data i fyra kolumner:id , first_name , middle_name och last_name .

id förnamn mellannamn efternamn
1 John Carl Jackson
2 Tom NULL Thomson
3 Lisa Alice NULL
4 Anne NULL Smith

Låt oss hitta id, förnamn och efternamn för barn utan mellannamn (NULL i kolumnen middle_name ). Vi använder operatorn IS NULL för detta.

Lösning:

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

Här är resultatet:

id förnamn efternamn
2 Tom Thomson
4 Anne Smith

Detta returnerar endast poster med NULL i middle_name , så Tom och Anne är närvarande, men inte John och Lisa som har mellannamn.

Diskussion:

Använd IS NULL operatorn i ett tillstånd med WHERE för att hitta poster med NULL i en kolumn. Naturligtvis kan du också använda vilket uttryck som helst istället för ett namn på en kolumn och kontrollera om det returnerar NULL. Inget mer än namnet på en kolumn och operatorn IS NULL behövs (i vårt exempel, middle_name IS NULL ). Sätt detta villkor i WHERE-satsen för att filtrera rader (i vårt exempel, WHERE middle_name IS NULL ). Om villkoret är sant, lagrar kolumnen en NULL och denna rad returneras. Ovan returnerar frågan endast två poster med barnen Tom och Anne, som inte har mellannamn, så kolumnen middle_name lagrar NULL.


  1. Hur inaktiverar man trigger i Oracle SQL Developer?

  2. ORA-01111 i MRP i fysisk standby-databas

  3. Oracle/SQL:Varför frågar SELECT * FROM-poster WHERE rownum>=5 AND rownum <=10 - returnerar noll rader

  4. Intervjutips för SQL-databasadministratör