Maison > Article > base de données > Comment effectuer une sous-requête dans la base de données MySQL
Une sous-requête est une instruction de requête imbriquée dans une autre instruction de requête. Les résultats de la requête de l'instruction de requête interne peuvent être utilisés comme instruction de requête externe pour fournir des conditions de requête. La sous-requête peut inclure des mots-clés tels que IN, NOT IN, ANY, ALL, EXISTS et NOT EXISTS, ainsi que des opérateurs de comparaison tels que "=", "!=", etc. Comment effectuer une sous-requête ? comme suit :
1. Tout d'abord, le résultat de la requête dans une requête est utilisé comme condition de la requête externe et le mot-clé IN peut être utilisé. le code est le suivant :
SELECT * FROM city WHERE CountryCode IN (SELECT Code FROM country);
Comme indiqué ci-dessous :
2. la requête externe n'est pas le résultat de la requête interne, vous pouvez utiliser le mot-clé NOT IN, le code est le suivant :
SELECT * FROM city WHERE CountryCode NOT IN (SELECT Code FROM country);
comme indiqué ci-dessous :
3. Lors de l'utilisation de la requête par mot-clé EXISTS, l'instruction de requête interne ne renvoie pas l'enregistrement de la requête, mais renvoie une valeur booléenne lorsque la valeur renvoyée par la requête interne est vraie, l'instruction de requête externe le fera. effectuer la requête. Si false est renvoyé, la requête ne sera pas exécutée ou le résultat de la requête sera vide, le code est le suivant :
SELECT * FROM city WHERE EXISTS (SELECT Name FROM country);
comme indiqué ci-dessous :
4. À partir de la troisième étape, on peut voir qu'avec EXISTS L'opposé est NOT EXISTS Lorsque la valeur renvoyée par la requête interne est fausse, l'instruction de requête externe interrogera. . Si true est renvoyé, la requête ne sera pas effectuée ou le résultat de la requête sera vide. Le code est le suivant :
SELECT * FROM city WHERE NOT EXISTS (SELECT Name FROM country);
Comme le montre la figure ci-dessous :
5. Si l'une des conditions est remplie, l'instruction de requête externe peut être exécutée via cette condition. Utiliser le mot-clé ANY, le code est le suivant : .
SELECT * FROM city WHERE Population >= ANY (SELECT Population FROM country);comme indiqué ci-dessous :
6. La sous-requête contient également des opérateurs de comparaison, notamment ">=", "
SELECT * FROM city WHERE Population >= (SELECT Population FROM country WHERE Name = 'Afghanistan'); SELECT * FROM city WHERE Population <= (SELECT Population FROM country WHERE Name = 'Afghanistan'); SELECT * FROM city WHERE Population != (SELECT Population FROM country WHERE Name = 'Afghanistan');Comme le montre la figure ci-dessous :
7. Si toutes les conditions sont remplies, tous les résultats ne seront renvoyés que si l'instruction de requête interne est remplie. Le code est le suivant :
SELECT * FROM city WHERE Population >= ALL (SELECT Population FROM country WHERE Name = 'Afghanistan');Comme indiqué ci-dessous :
Faites attention à la différence entre chaque mot-clé dans la sous-requête
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!