


Explication détaillée des exemples d'utilisation de Existe dans SQL
Cet article présente principalement l'utilisation d'Exists en SQL. Il est très bon et a une valeur de référence. Les amis qui en ont besoin peuvent s'y référer
Par exemple, il y a une requête dans la base de données Northwind comme
. 🎜>SELECT c.CustomerId,CompanyName FROM Customers c WHERE EXISTS( SELECT OrderID FROM Orders o WHERE o.CustomerID=c.CustomerID)
Comment fonctionne EXISTS ici ? La sous-requête renvoie le champ OrderId, mais la requête externe recherche les champs CustomerID et CompanyName. Ces deux champs ne sont certainement pas dans OrderID. Comment correspondent-ils ?
EXISTS est utilisé pour vérifier si la sous-requête renverra au moins une ligne de données. La sous-requête ne renvoie réellement aucune donnée, mais renvoie True ou False.
EXISTS spécifie une sous-requête à détecter. existence de la ligne.
Syntaxe : sous-requête EXISTS
Paramètres : la sous-requête est une instruction SELECT restreinte (la clause COMPUTE et le mot-clé INTO ne sont pas autorisés).
Type de résultat : Booléen Renvoie VRAI si la sous-requête contient des lignes, FLASE sinon.
Exemple de table A : TableIn Exemple de table B : TableEx
(1) L'utilisation de NULL dans la sous-requête renvoie toujours le résultat. L'ensemble
select * from TableIn where exists(select null)
est équivalent à : select * from TableIn
(2). Notez que les deux requêtes renvoient les mêmes résultats.
select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME) select * from TableIn where ANAME in(select BNAME from TableEx)
(3). Comparez les requêtes en utilisant EXISTS et = ANY. Notez que les deux requêtes renvoient les mêmes résultats.
select * from TableIn where exists(select BID from TableEx where BNAME=TableIn.ANAME) select * from TableIn where ANAME=ANY(select BNAME from TableEx)
NOT EXISTS fait exactement le contraire d'EXISTS. Si la sous-requête ne renvoie aucune ligne, la clause WHERE dans NOT EXISTS est satisfaite.
Conclusion :
La valeur de retour de la clause EXISTS (y compris NOT EXISTS) est une valeur BOOL. Il existe une instruction de sous-requête (SELECT ... FROM...) dans EXISTS, que j'appelle l'instruction de requête interne d'EXIST. L'instruction de requête qu'il contient renvoie un ensemble de résultats. La clause EXISTS renvoie une valeur booléenne selon que le jeu de résultats de l'instruction de requête qu'elle contient est vide ou non vide.
Une façon courante de le comprendre est la suivante : remplacez chaque ligne de la table de requête externe par la requête interne en tant que test. Si le résultat renvoyé par la requête interne est une valeur non nulle, la clause EXISTS renvoie TRUE. .Cette ligne peut être la ligne de résultat de la requête externe, sinon elle ne peut pas être utilisée comme résultat.
L'analyseur examinera d'abord le premier mot de l'instruction. Lorsqu'il constatera que le premier mot est le mot-clé SELECT, il passera au mot-clé FROM, puis trouvera le nom de la table via le mot-clé FROM et le mettra. La table est chargée en mémoire. L'étape suivante consiste à rechercher le mot-clé WHERE. S'il ne peut pas être trouvé, il reviendra à SELECT pour trouver l'analyse du champ. Si WHERE est trouvé, il analysera les conditions qu'il contient. Une fois terminé, il reviendra à SELECT pour. analyser le terrain. Enfin, une table virtuelle est formée.
Ce qui suit le mot clé WHERE est une expression conditionnelle. Une fois l'expression conditionnelle calculée, il y aura une valeur de retour, qui est différente de zéro ou 0. Non nulle signifie vrai (vrai) et 0 signifie faux (faux). De la même manière, la condition après WHERE a également une valeur de retour, vraie ou fausse, pour déterminer s'il faut exécuter SELECT ensuite.
L'analyseur trouve d'abord le mot-clé SELECT, puis passe au mot-clé FROM pour importer la table STUDENT dans la mémoire, et trouve le premier enregistrement via le pointeur, puis trouve le mot-clé WHERE pour calculer son expression conditionnelle, si c'est vrai, chargez ensuite cet enregistrement dans une table virtuelle et le pointeur pointe vers l'enregistrement suivant. Si faux, le pointeur pointe directement vers l’enregistrement suivant sans effectuer d’autres opérations. Récupérez toujours la table entière et renvoyez la table virtuelle récupérée à l'utilisateur. EXISTS fait partie d'une expression conditionnelle, qui a également une valeur de retour (vrai ou faux).
Avant d'insérer un enregistrement, vous devez vérifier si l'enregistrement existe déjà. L'opération d'insertion ne sera effectuée que lorsque l'enregistrement n'existe pas. Vous pouvez empêcher l'insertion d'enregistrements en double en utilisant l'instruction conditionnelle EXISTS.
INSERT INTO TableIn (ANAME,ASEX) SELECT top 1 '张三', '男' FROM TableIn WHERE not exists (select * from TableIn where TableIn.AID = 7)
Concernant l'efficacité d'utilisation de EXISTS et IN, il est généralement plus efficace d'utiliser exist que in, car IN n'utilise pas d'indexation, mais l'utilisation spécifique dépend de la situation réelle :
IN Convient aux situations où l'apparence est grande mais la surface intérieure est petite ; EXISTS convient aux situations où l'apparence est petite mais la surface intérieure est grande.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

HQL et SQL sont comparés dans le framework Hibernate : HQL (1. Syntaxe orientée objet, 2. Requêtes indépendantes de la base de données, 3. Sécurité des types), tandis que SQL exploite directement la base de données (1. Normes indépendantes de la base de données, 2. Exécutable complexe requêtes et manipulation de données).

"Utilisation de l'opération de division dans OracleSQL" Dans OracleSQL, l'opération de division est l'une des opérations mathématiques courantes. Lors de l'interrogation et du traitement des données, les opérations de division peuvent nous aider à calculer le rapport entre les champs ou à dériver la relation logique entre des valeurs spécifiques. Cet article présentera l'utilisation de l'opération de division dans OracleSQL et fournira des exemples de code spécifiques. 1. Deux méthodes d'opérations de division dans OracleSQL Dans OracleSQL, les opérations de division peuvent être effectuées de deux manières différentes.

Oracle et DB2 sont deux systèmes de gestion de bases de données relationnelles couramment utilisés, chacun possédant sa propre syntaxe et ses propres caractéristiques SQL. Cet article comparera et différera la syntaxe SQL d'Oracle et de DB2, et fournira des exemples de code spécifiques. Connexion à la base de données Dans Oracle, utilisez l'instruction suivante pour vous connecter à la base de données : CONNECTusername/password@database Dans DB2, l'instruction pour vous connecter à la base de données est la suivante : CONNECTTOdataba.

Interprétation des balises SQL dynamiques MyBatis : explication détaillée de l'utilisation des balises Set MyBatis est un excellent cadre de couche de persistance. Il fournit une multitude de balises SQL dynamiques et peut construire de manière flexible des instructions d'opération de base de données. Parmi elles, la balise Set est utilisée pour générer la clause SET dans l'instruction UPDATE, qui est très couramment utilisée dans les opérations de mise à jour. Cet article expliquera en détail l'utilisation de la balise Set dans MyBatis et démontrera ses fonctionnalités à travers des exemples de code spécifiques. Qu'est-ce que Set tag Set tag est utilisé dans MyBati

Qu'est-ce que l'identité en SQL ? Des exemples de code spécifiques sont nécessaires. En SQL, l'identité est un type de données spécial utilisé pour générer des nombres à incrémentation automatique. Il est souvent utilisé pour identifier de manière unique chaque ligne de données dans une table. La colonne Identité est souvent utilisée conjointement avec la colonne clé primaire pour garantir que chaque enregistrement possède un identifiant unique. Cet article détaillera comment utiliser Identity et quelques exemples de code pratiques. La manière de base d'utiliser Identity consiste à utiliser Identit lors de la création d'une table.

Classification et analyse de l'utilisation des commentaires JSP Les commentaires JSP sont divisés en deux types : commentaires sur une seule ligne : se terminant par, une seule ligne de code peut être commentée. Commentaires multilignes : commençant par /* et se terminant par */, vous pouvez commenter plusieurs lignes de code. Exemple de commentaire sur une seule ligne Exemple de commentaire sur plusieurs lignes/**Ceci est un commentaire sur plusieurs lignes*Peut commenter plusieurs lignes de code*/Utilisation des commentaires JSP Les commentaires JSP peuvent être utilisés pour commenter le code JSP afin de le rendre plus facile à lire

Solution : 1. Vérifiez si l'utilisateur connecté dispose des autorisations suffisantes pour accéder ou utiliser la base de données, et assurez-vous que l'utilisateur dispose des autorisations appropriées ; 2. Vérifiez si le compte du service SQL Server est autorisé à accéder au fichier spécifié ou ; dossier et assurez-vous que le compte dispose des autorisations suffisantes pour lire et écrire le fichier ou le dossier ; 3. Vérifiez si le fichier de base de données spécifié a été ouvert ou verrouillé par d'autres processus, essayez de fermer ou de libérer le fichier et réexécutez la requête ; . Essayez en tant qu'administrateur, exécutez Management Studio en tant que etc.

WPS est une suite logicielle bureautique couramment utilisée et la fonction de table WPS est largement utilisée pour le traitement des données et les calculs. Dans le tableau WPS, il existe une fonction très utile, la fonction DATEDIF, qui permet de calculer le décalage horaire entre deux dates. La fonction DATEDIF est l'abréviation du mot anglais DateDifference. Sa syntaxe est la suivante : DATEDIF(start_date,end_date,unit) où start_date représente la date de début.
