msyql中子查询IN,EXISTS,ANY,ALL,UNION介绍
在mysql中子查询是将一个查询语句嵌套在另一个查询语句中内层查询语句的查询结果,可以为外层查询语句提供查询条件,mysql中常用的子查询IN,EXISTS,ANY,ALL,UNION,下面我一一介绍介绍。
因为在特定情况下,一个查询语句的条件需要另一个查询语句来获取
带IN关键字的子查询
IN 运算符用于 WHERE 表达式中,以列表项的形式支持多个选择,语法如下:
WHERE column IN (value1,value2,...)
WHERE column NOT IN (value1,value2,...)
当 IN 前面加上 NOT 运算符时,表示与 IN 相反的意思,即不在这些列表项内选择。
代码如下 | 复制代码 |
查询 SELECT ID,NAME FROM A WHERE ID IN (SELECT AID FROM B)//查询B表中AID的记录 删除 delete from articles where id in (1,2,3); //删除id=1,id=2,id=3的记录 |
此处首先查询出department表中所有d_id字段的信息,并将结果作为条件
接着查询employee表中以d_id为条件的所有字段信息
NOT IN的效果与上面刚好相反
带比较运算符的子查询
代码如下 | 复制代码 |
mysql> SELECT d_id, d_name FROM department -> WHERE d_id!= -> (SELECT d_id FROM employee WHERE age=24); +------+-----------+ | d_id | d_name | +------+-----------+ | 1002 | 生产部 | | 1003 | 销售部 | +------+-----------+ |
2 rows in set (0.00 sec)这里查询出了哪些部门没有年龄为24岁的员工,看起来有点复杂
此外,运算符还有很多,这里不再赘述
带EXISTS关键字的子查询
MySQL EXISTS 和 NOT EXISTS 子查询语法如下:
SELECT ... FROM table WHERE EXISTS (subquery)
该语法可以理解为:将主查询的数据,放到子查询中做条件验证,根据验证结果(TRUE 或 FALSE)来决定主查询的数据结果是否得以保留。
代码如下 | 复制代码 |
mysql> SELECT * FROM employee -> WHERE EXISTS -> (SELECT d_name FROM department WHERE d_id=1004); Empty set (0.00 sec) |
此处内层循环并没有查询到满足条件的结果,因此返回false,外层查询不执行
NOT EXISTS刚好与之相反
当然,EXISTS关键字可以与其他的查询条件一起使用
条件表达式与EXISTS关键字之间用AND或者OR来连接
代码如下 | 复制代码 |
|
提示
•EXISTS (subquery) 只返回 TRUE 或 FALSE,因此子查询中的 SELECT * 也可以是 SELECT 1 或其他,官方说法是实际执行时会忽略 SELECT 清单,因此没有区别。
•EXISTS 子查询的实际执行过程可能经过了优化而不是我们理解上的逐条对比,如果担忧效率问题,可进行实际检验以确定是否有效率问题。
•EXISTS 子查询往往也可以用条件表达式、其他子查询或者 JOIN 来替代,何种最优需要具体问题具体分析
带ANY关键字的子查询
ANY关键字表示满足其中任一条件
代码如下 | 复制代码 |
mysql> SELECT * FROM employee 4 rows in set (0.00 sec) |
带ALL关键字的子查询
ALL关键字表示满足其中所有条件
代码如下 | 复制代码 |
mysql> SELECT * FROM employee -> WHERE d_id>=ALL -> (SELECT d_id FROM department); |
1 row in set (0.00 sec)暂时不明白这两条语句是什么意思,到时候再补上
UNION合并查询结果
MySQL UNION 用于把来自多个 SELECT 语句的结果组合到一个结果集合中。语法为:
SELECT column,... FROM table1
UNION [ALL]
SELECT column,... FROM table2
...
在多个 SELECT 语句中,对应的列应该具有相同的字段属性,且第一个 SELECT 语句中被使用的字段名称也被用于结果的字段名称。
UNION 与 UNION ALL 的区别
当使用 UNION 时,MySQL 会把结果集中重复的记录删掉,而使用 UNION ALL ,MySQL 会把所有的记录返回,且效率高于 UNION。
代码如下 | 复制代码 |
mysql> SELECT d_id FROM employee -> UNION -> SELECT d_id FROM department; +------+ | d_id | +------+ | 1001 | | 1002 | | 1004 | | 1003 | +------+ |
4 rows in set (0.00 sec)合并比较好理解,也就是将多个查询的结果合并在一起,然后去除其中的重复记录
如果想保存重复记录可以使用UNION ALL语句

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

Video Face Swap
Échangez les visages dans n'importe quelle vidéo sans effort grâce à notre outil d'échange de visage AI entièrement gratuit !

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)

Avec le développement continu de l’internationalisation, de plus en plus de sites Web et d’applications doivent prendre en charge des fonctions de commutation multilingue. En tant que framework frontal populaire, Vue fournit un plug-in appelé i18n qui peut nous aider à réaliser une commutation multilingue. Cet article présentera les techniques courantes d'utilisation d'i18n pour réaliser une commutation multilingue dans Vue. Étape 1 : Installer le plug-in i18n Tout d'abord, nous devons utiliser npm ou Yarn pour installer le plug-in i18n. Entrez la commande suivante sur la ligne de commande : npminst

L'interface de sortie fait référence à l'interface de sortie et l'interface d'entrée fait référence à l'interface d'entrée. L'interface de sortie représente généralement l'interface de sortie de ligne de source audio, qui est utilisée pour connecter des charges, telles que des haut-parleurs, des écouteurs, etc., tandis que l'interface d'entrée représente généralement l'interface d'entrée de ligne de source audio, qui est utilisée pour connecter des lecteurs de CD, des appareils mobiles. téléphones, lecteurs MP3, ordinateurs, etc.

Poussés par l’ère de l’électrification des véhicules, les constructeurs automobiles chinois sont activement impliqués dans la production de supercars électriques. Récemment, Haopin, une marque électrique haut de gamme appartenant à GAC Aian, a lancé une supercar électrique appelée SSR. Auparavant, le Yangwang U9 de BYD a également reçu une large attention. Récemment, une vidéo a circulé sur Internet, prétendument montrant une vidéo de test du Yangwang U9. Dans la vidéo, un U9 roule à toute vitesse sur la piste. Étonnamment, les disques de frein du véhicule clignotent en orange vif, donnant l'impression qu'il participe aux 24 Heures du Mans. Il est particulièrement frappant de constater que les disques de frein des roues avant sont au moins deux fois plus brillants que ceux des roues arrière. Cependant, il est impossible de déterminer à partir de la vidéo si l'éclair lumineux est provoqué par les flammes produites par les disques de frein lors du freinage ou s'il s'agit de l'effet lumineux du véhicule. échappement

Lorsque certains clients d'ordinateurs portables Win7 utilisent le clavier numérique, ils rencontrent la raison pour laquelle ils tapent u, mais cela devient 4. que se passe-t-il? En fait, c’est parce que votre ordinateur portable a le clavier intégré aux touches alphabétiques. Vous pouvez résoudre ce problème en fermant simplement le clavier. Les étapes spécifiques sont les suivantes : La conversion de clé FN+nunlock peut saisir des lettres anglaises normalement. Cette méthode peut également être utilisée si le client rencontre une pression sur I pour passer à 5. Comment résoudre le problème selon lequel le clavier numérique Win7 devient 4:1 Pour une meilleure commodité, l'ordinateur portable n'a pas de petite zone de clavier. Il existe donc des touches qui définissent la fonction du pavé numérique. Vous pouvez utiliser la touche FN+nunlock pour convertir. Certains doivent utiliser Shift+numlock pour saisir l'anglais ou les données. 2. Pavé numérique-

Introduction aux fonctions Python : Présentation des fonctions et exemples d'utilisation de n'importe quelle fonction : En Python, any() est une fonction intégrée utilisée pour déterminer si au moins un élément d'un objet itérable est vrai. Renvoie True si un élément de l'objet itéré est vrai ; sinon, renvoie False. Syntaxe d'utilisation : any (itérable) Paramètres : itérable : objets itérables, tels que des listes, des tuples, des ensembles, etc. Valeur de retour : vrai s'il y a au moins un élément dans l'objet itérable

La plateforme de trading OKX offre une variété de tarifs, y compris les frais de transaction, les frais de retrait et les frais de financement. Pour les transactions ponctuelles, les frais de transaction varient en fonction du volume des transactions et du niveau VIP et adoptent le "modèle de marché de marché", c'est-à-dire que le marché facture des frais de traitement inférieurs pour chaque transaction. De plus, OKX propose également une variété de contrats à terme, y compris des contrats standard de devises, des contrats USDT et des contrats de livraison, et la structure des frais de chaque contrat est également différente.

Comment utiliser la fonction File.Exists en C# pour déterminer si un fichier existe. Dans les opérations sur les fichiers C#, déterminer si un fichier existe est une exigence fonctionnelle de base. La fonction File.Exists est une méthode en C# utilisée pour déterminer si un fichier existe. Cet article explique comment utiliser la fonction File.Exists en C# pour déterminer si un fichier existe et fournit des exemples de code spécifiques. Référencer l'espace de noms Avant de commencer à écrire du code, vous devez d'abord référencer l'espace de noms System.IO, qui

L'article présente que la monnaie virtuelle est une forme de devise numérique ou virtuelle qui repose sur la cryptographie et les transactions via des réseaux peer-to-peer, et répertorie les monnaies communes telles que Bitcoin. Il est généralement disponible sur les échanges de crypto-monnaie tels que Coinbase, et tous les avantages et inconvénients de chaque transaction. Il souligne que l'achat de monnaie virtuelle est élevé, le prix fluctue considérablement et est sujet à la fraude et au piratage.
