Maison >programmation quotidienne >connaissance de MySQL >il n'existe pas d'utilisation
n'existe pas est une syntaxe en SQL. Elle est couramment utilisée entre les sous-requêtes et les requêtes principales. Elle est utilisée pour le jugement conditionnel. Elle renvoie une valeur booléenne basée sur une condition pour déterminer comment effectuer l'opération suivante. il en va de même pour ne pas exister. Le contraire de existe ou dans.
ne pas exister est l'opposé d'existe, donc pour comprendre l'utilisation de ne pas exister, nous comprenons d'abord les différences et les caractéristiques d'existe et dans :
exists : l'accent est mis sur le retour ou non de l'ensemble de résultats, et il n'est pas nécessaire de savoir ce qui est renvoyé. Par exemple :
select name from student where sex = 'm' and mark exists(select 1 from grade where ...)
Tant que la clause guidée existe renvoie le résultat. défini, alors la condition d'existence est établie. Veuillez faire attention au retour. Le champ est toujours 1. S'il est remplacé par "sélectionner 2 dans la classe où...", alors le champ renvoyé est 2. Ce nombre n'a aucun sens. Ainsi, la clause exist ne se soucie pas de ce qui est renvoyé, mais de savoir si un jeu de résultats est renvoyé.
La plus grande différence entre exist et in est que la clause in ne peut renvoyer qu'un seul champ. Par exemple :
select name from student where sex = 'm' and mark in (select 1,2,3 from grade where ...)
La clause in renvoie trois champs, ce qui est incorrect . La clause est autorisée, mais elle ne permet de renvoyer qu'un seul champ. Supprimez simplement deux champs dans 1, 2 et 3.
Et non existe et pas dans sont les opposés de existe et dans respectivement.
exists (sql 返回结果集,为真)
Cela dépend principalement du fait que le résultat de l'instruction SQL entre parenthèses existe a un résultat : s'il y a un résultat : la condition Where continuera à être exécutée s'il n'y a pas de résultat : on considère que ; la condition où n’est pas établie.
not exists (sql 不返回结果集,为真)
Cela dépend principalement du fait que l'instruction SQL entre parenthèses n'existe pas a un résultat : s'il n'y a pas de résultat : la condition Where continuera à être exécutée s'il y a un résultat : la condition Where est ; considéré comme faux.
n'existe pas : après le test, lorsque la sous-requête et la requête principale ont des conditions liées, cela équivaut à supprimer les données de la sous-requête de la requête principale.
Par exemple :
données de test : nom d'identification
1 1 Zhang San
2 Li Si
select * from test c where not exists (select 1 from test t where t.id= '1' ) --无结果
select * from test c where not exists (select 1 from test t where t.id= '1' and t.id = c.id) --返回2 李四
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!