Maison > base de données > tutoriel mysql > Comment corriger l'erreur « La sous-requête renvoie plus d'une ligne » dans SQL ?

Comment corriger l'erreur « La sous-requête renvoie plus d'une ligne » dans SQL ?

Susan Sarandon
Libérer: 2024-12-04 13:54:11
original
187 Les gens l'ont consulté

How to Fix the

Surmonter l'erreur « La sous-requête renvoie plus d'une ligne »

Lorsque vous travaillez avec des sous-requêtes, il n'est pas rare de rencontrer l'erreur frustrante « la sous-requête renvoie plus d'une ligne ». " Ce problème survient lorsqu'une sous-requête est censée renvoyer une seule valeur mais génère à la place plusieurs lignes. Pour résoudre cette erreur et exécuter correctement votre requête, il est crucial de comprendre l'utilisation appropriée des sous-requêtes.

Dans l'exemple donné, une sous-requête est utilisée pour renvoyer plusieurs lignes, qui sont ensuite référencées dans la requête principale pour définir le champ d'identification. Cependant, cette approche entraîne l'erreur susmentionnée car = ne peut évaluer qu'une sous-requête qui renvoie une seule valeur.

Pour résoudre ce problème, vous devez plutôt utiliser l'opérateur IN, qui est conçu pour évaluer les sous-requêtes qui renvoient plusieurs valeurs. En utilisant IN, vous pouvez spécifier que le champ id doit correspondre à l'une des valeurs renvoyées par la sous-requête.

Voici un exemple qui démontre l'utilisation correcte de IN :

SELECT *
FROM table
WHERE id IN (multiple row query);
Copier après la connexion

Par exemple , si la sous-requête renvoie les valeurs 1, 2 et 3, le champ id sera défini sur 1 ou 2 ou 3, filtrant efficacement les résultats en fonction des multiples valeurs renvoyées par la sous-requête.

En utilisant IN, vous pouvez gérer efficacement les sous-requêtes qui renvoient plusieurs lignes, garantissant ainsi que votre requête s'exécute avec succès sans rencontrer l'erreur « La sous-requête renvoie plus d'une ligne ».

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!

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal