Bonjour à tous
Pardon de poser cette question très bas niveau mais je me demande pourquoi le "select" ne traite pas le null comme la logique semblerait (enfin ma façon de voir cette logique)
Imaginons une table des personnes contenant nom (not null), prenom (not null) et ville. Le champ "ville" peut donc être null.
Cette table contient 3 infos
Si je demande select nom from personne where ville='paris' je n'obtiens que "toto" et "titi". Pourtant rien n'indique que "tutu" n'est pas sur Paris lui aussi, absence d'info n'est pas preuve d'absence.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 'toto', 'alfred', 'paris' 'titi', 'jean', 'paris' 'tutu', 'paul', null
Si je veux tutu, je dois écrire select nom from personne where ville='paris' or ville is null.
Et là je ne sais pas trop comment formuler ma question. En gros, c'est "qu'est-ce qui a poussé les concepteurs SQL à adopter cette politique" ou plutôt "est-ce que ma façon de considérer ce manque d'information est la bonne" ?
Ou peut-être y a-t-il une option particulière qui permettrait au select de récupérer aussi la ligne quand le champ demandé est null (en dehors de rajouter ce or ville is null dans le where)...
Voilà, merci à tous.
Partager