Maison > base de données > tutoriel mysql > Pourquoi les opérateurs '!=' et '<>' ne parviennent-ils pas à comparer avec NULL en SQL ?

Pourquoi les opérateurs '!=' et '<>' ne parviennent-ils pas à comparer avec NULL en SQL ?

DDD
Libérer: 2025-01-21 14:57:14
original
784 Les gens l'ont consulté

Why Do " Les opérateurs ne parviennent pas à comparer avec NULL en SQL ? " />

Comprendre les comparaisons NULL en SQL

SQL utilise "!=" et "<>" pour les contrôles d’inégalités. Cependant, ces opérateurs se comportent de manière inattendue avec NULL valeurs.

Le problème :

Considérez ces requêtes SQL :

<code class="language-sql">SELECT * FROM MyTable WHERE MyColumn != NULL;
SELECT * FROM MyTable WHERE MyColumn <> NULL;
SELECT * FROM MyTable WHERE MyColumn IS NOT NULL;</code>
Copier après la connexion

Les deux premières requêtes renvoient des ensembles de résultats vides, tandis que la troisième renvoie correctement 568 lignes. Pourquoi cet écart ?

Explication :

"!=" et "<>" comparer les valeurs. NULL, cependant, n'est pas une valeur ; cela signifie l’absence de valeur. Par conséquent, ces opérateurs ne conviennent pas aux NULL comparaisons.

Utilisez IS NULL ou IS NOT NULL à la place. Ces prédicats vérifient spécifiquement la présence ou l’absence d’une valeur. Le succès de la troisième requête vient de son utilisation correcte de IS NOT NULL.

Points clés :

  • Pour tester les valeurs nonNULL, utilisez IS NOT NULL.
  • Utilisez "<>" ou "!=" pour comparer avec des valeurs spécifiques non NULL.
  • NULL ne peut être considéré comme égal ou inégal à aucune valeur, car il représente des données manquantes.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal