Az adatbázisok világába új felhasználókat gyakran összekeverik egy speciális, a mezőhöz tartozó érték - a NULL érték. Ez az érték egy olyan mezőben található, amely bármilyen típusú adatot tartalmaz, és nagyon különleges jelentése van egy relációs adatbázis összefüggésében. Valószínűleg a legjobb, ha megkezdjük NULL beszélgetésünket néhány szóval arról, hogy mi a NULL nem :
- A NULL nem a nulla szám.
- A NULL nem az üres karakterlánc ("").
Inkább a NULL az az érték, amelyet egy ismeretlen adat megjelenítésére használnak. Az adatbázis-programozók gyakran használják a "NULL érték" kifejezést, de ez helytelen. Ne feledje: a NULL egy ismeretlen érték, amelyben a mező üresen jelenik meg.
NULL a valós világban
Vessünk egy egyszerű példát: egy asztalt, amely a gyümölcskosár készletét tartalmazza. Tegyük fel, hogy készletünk 10 almát és 3 narancsot tartalmaz. Szilvákkal is foglalkozunk, de készletinformációink hiányosak és nem tudjuk, hány (ha van) szilva van raktáron. A NULL érték használatával a lenti táblázatot az alábbi táblázat mutatja.
Fruit Stand Inventory
| InventoryID | Tétel | Mennyiség |
| 1 | Almák | 10 |
| 2 | narancs | 3 |
| 3 | szilva | NULLA |
Nyilvánvalóan téves, ha 0-as mennyiséget tartalmaz a szilvarekordhoz, mert ez azt jelentené, hogy voltunk nem szilva a készletben. Ellenkezőleg, lehet, hogy van néhány szilva, de nem vagyunk biztosak. Egy táblázatot úgy tervezhetünk, hogy megengedjük a NULL értékeket vagy sem. Itt van egy SQL példa, amely létrehoz egy Inventory táblát, amely lehetővé teszi néhány NULL-t: SQL CREATE TABLE INVENTORY (Leltárazonosító INT NOT NULL, VARCHAR elem (20) NOT NULL, mennyiség INT); A Készlet táblázat itt nem engedélyezi a NULL értékeket a InventoryID és a Tétel oszlopokat, de nem teszi lehetővé őket Mennyiség oszlop. Bár a NULL érték tökéletesen finom, a NULL értékek problémákat okozhatnak, mivel minden olyan érték összehasonlítása, amelyben az egyik NULL, mindig NULL eredményt eredményez. Annak ellenőrzéséhez, hogy a táblázatban NULL-értékeket tartalmaz-e, használja az IS NULL vagy IS NOT NULL operátort. Íme egy példa IS NULL: SQL SELECT INVENTORYID, ITEM, QUANTITY FROM INVENTORY, ahol a MENNYISÉG NEM NULL; Tekintettel a példánkra, ez visszatér: A NULL értékekkel való munka gyakran NULL eredményt ad, az SQL művelettől függően. Például, feltételezve, hogy A NULL: Számtani operátorok Összehasonlító operátorok Ezek csak néhány példát jelentenek az üzemeltetők számára mindig visszaadja a NULL értéket, ha az egyik operandus NULL. Sokkal összetettebb lekérdezések léteznek, és mindegyiket bonyolítja a NULL értékek. A lead home point az, hogy ha engedélyezi a NULL értékeket az adatbázisban, akkor érti meg a következményeket, és tervezze őket. Ez NULL a dióhéjban!NULL vagy NULL?
InventoryID Tétel Mennyiség 3 szilva
Működés NULL-okon




