Maison > programmation quotidienne > connaissance de MySQL > il n'existe pas d'utilisation

il n'existe pas d'utilisation

anonymity
Libérer: 2020-09-08 10:34:51
original
85743 Les gens l'ont consulté

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.

il n'existe pas d'utilisation

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 ...)
Copier après la connexion

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 ...)
Copier après la connexion

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       返回结果集,为真)
Copier après la connexion

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       不返回结果集,为真)
Copier après la connexion

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.

il n'existe pas d'utilisation

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' )
--无结果
Copier après la connexion
select * from test c where  not exists
(select 1 from test t where t.id= '1'  and t.id = c.id)
--返回2 李四
Copier après la connexion

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!

Étiquettes associées:
sql
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