Gebruikers die nieuw zijn in de wereld van databases, worden vaak verward door een speciale waarde die specifiek is voor het veld: de NULL-waarde. Deze waarde kan worden gevonden in een veld dat elk type gegevens bevat en heeft een zeer speciale betekenis binnen de context van een relationele database. Het is waarschijnlijk het beste om onze discussie over NULL te beginnen met een paar woorden over wat NULL is niet :
- NULL is niet het getal nul.
- NULL is niet de waarde van de lege string ("").
Integendeel, NULL is de waarde die wordt gebruikt om een onbekend gegeven te vertegenwoordigen. Databaseprogrammeurs gebruiken vaak de uitdrukking "een NULL-waarde", maar dit is onjuist. Let op: een NULL is een onbekende waarde waarbij het veld leeg lijkt.
NULL in de echte wereld
Laten we een eenvoudig voorbeeld bekijken: een tabel met de inventaris voor een fruitstand. Stel dat onze inventaris 10 appels en drie sinaasappels bevat. We hebben ook pruimen in voorraad, maar onze inventarisinformatie is onvolledig en we weten niet hoeveel (indien aanwezig) pruimen op voorraad zijn. Met behulp van de NULL-waarde zouden we de voorraadtabel hebben die wordt weergegeven in de onderstaande tabel.
Fruitstands inventaris
| InventoryID | Item | Aantal stuks |
| 1 | Appels | 10 |
| 2 | sinaasappels | 3 |
| 3 | pruimen | NUL |
Het zou duidelijk onjuist zijn om een hoeveelheid 0 op te nemen voor de pruimenrecord, omdat dat zou impliceren dat we dat hadden gedaan Nee pruimen in de inventaris. Integendeel, we hebben misschien wat pruimen, maar we weten het gewoon niet zeker. Een tabel kan worden ontworpen om NULL-waarden al dan niet toe te staan. Hier is een SQL-voorbeeld dat een tabel met inventarissen maakt die enkele NULL's toestaat: SQL> CREATE TABLE INVENTORY (InventoryID INT NOT NULL, Item VARCHAR (20) NOT NULL, Quantity INT); In de tabel Voorraad staan hier geen NULL-waarden voor de InventoryID en de Item kolommen, maar laat ze toe voor de Aantal stuks kolom. Hoewel het toestaan van een NULL-waarde perfect is, kunnen NULL-waarden problemen veroorzaken, omdat elke vergelijking van waarden waarbij één NULL is altijd resulteert in NULL. Als u wilt controleren of uw tabel NULL-waarden bevat, gebruikt u de operator IS NULL of IS NOT NULL. Hier is een voorbeeld van IS NULL: SQL> SELECT INVENTORYID, ITEM, HOEVEELHEID UIT INVENTARIS WAAR DE HOEVEELHEID NIET NULL IS; Gezien ons voorbeeld hier zou dit terugkeren: Het werken met NULL-waarden levert vaak NULL-resultaten op, afhankelijk van de SQL-bewerking. Stel dat A NULL is: Rekenkundige operatoren Vergelijkingsoperatoren Dit zijn slechts enkele voorbeelden van operatoren die dat wel zullen doen altijd return NULL als één operand NULL is. Veel complexere query's bestaan, en ze worden allemaal gecompliceerd door NULL-waarden. Het beginpunt is dat, als u NULL-waarden in uw database toestaat, de implicaties begrijpt en deze plant. Dat is NULL in een notendop!NULL of NIET NULL?
InventoryID Item Aantal stuks 3 pruimen
Werkt op NULLEN




