Pouvons-nous utiliser la sous-requête dans la clause dans MySQL?

Pouvons-nous utiliser la sous-requête dans la clause dans MySQL?
Dans MySQL, une sous-requête est une requête imbriquée à l'intérieur de l'autre requête, comme «INSÉRER","SÉLECTIONNER","SUPPRIMER", ou "MISE À JOUR»Déclarations. De plus, une sous-requête peut être imbriquée dans l'autre requête et connue sous le nom de «intérieur" mettre en doute. D'un autre côté, la requête qui a la sous-requête est appelée ««extérieur" mettre en doute. La requête intérieure est toujours exécutée individuellement, et la requête extérieure dépend des résultats de la requête intérieure.

Cet article discutera:

  • Pouvons-nous utiliser la sous-requête dans la clause dans MySQL?
  • Comment utiliser la sous-requête dans la clause MySQL?
  • Comment utiliser la sous-requête MySQL avec des opérateurs de comparaison dans la clause où?
  • Comment utiliser la sous-requête MySQL dans Where Clause avec les opérateurs «in» ou «pas dans»?

Pouvons-nous utiliser la sous-requête dans la clause dans MySQL?

Oui, nous pouvons utiliser la sous-requête dans le «”Clause dans MySQL. La clause «où» peut extraire des enregistrements qui remplissent les conditions spécifiées.

Syntaxe
La syntaxe générale de la sous-requête de la clause est énumérée ci-dessous:

Sélectionnez * d'où Col1 = (Sélectionnez dans où)

Maintenant, utilisons la sous-requête dans le «”Clause pour une meilleure compréhension!

Étape 1: Accédez à MySQL
Tout d'abord, connectez-vous avec le serveur MySQL en exécutant le "mysql»Requête avec nom d'utilisateur et mot de passe par défaut:

mysql -u root -p

Étape 2: Afficher les bases de données
Ensuite, utilisez le "MONTRER”Commande pour répertorier toutes les bases de données:

Afficher des bases de données;

Nous avons sélectionné le «myNewdb”Base de données pour un processus supplémentaire:

Étape 3: Modifier la base de données
Exécutez le "UTILISER»Instruction pour modifier la base de données:

Utilisez MyNewDB;

Étape 4: Afficher le tableau de la base de données
Maintenant, exécutez le «SÉLECTIONNER»Instruction pour répertorier le contenu du tableau:

Sélectionner * chez Student;

Ici, nous avons répertorié le «étudiant" tableau:

De même, énumérez le contenu du «Student_marks" tableau:

SELECT * FROM Student_Marks;

Maintenant, nous appliquerons le «”Clause avec des sous-requêtes sur le tableau ci-dessus pour obtenir les enregistrements souhaités.

Comment utiliser la sous-requête dans la clause MySQL?

Exécuter le "SÉLECTIONNER»Déclaration avec un«"Clause et"SÉLECTIONNER»Déclaration comme sous-requête:

Sélectionnez FirstName, Ville de Student Where Std = (Sélectionnez Std From Student Where LastName = "Khan");

Ici:

  • "SÉLECTIONNER»L'instruction est utilisée pour sélectionner les données des bases de données.
  • "Firstname, ville"Sont les colonnes de table.
  • "DEPUIS”La clause est utilisée pour extraire certaines lignes de la table.
  • "étudiant«Est notre nom de table.
  • "”La clause est utilisée pour filtrer les enregistrements qui remplissent les conditions spécifiées.
  • "MST«Est le nom de colonne qui contient les identifiants étudiants.
  • "LastName = 'Khan'"Est également notre colonne de table.

Dans la commande ci-dessus, d'abord, la sous-requête sera exécutée. Après cela, la requête extérieure exécutera. Selon la sortie fournie, un seul enregistrement remplit la condition spécifiée:

Comment utiliser la sous-requête MySQL avec des opérateurs de comparaison dans la clause où?

Nous pouvons également utiliser différents opérateurs de comparaison pour comparer un seul résultat renvoyé par la sous-requête et l'expression dans le "»Clause. Ces opérateurs de comparaison sont «>" plus grand que, "=«Égal, et«<" moins que.

Exemple 1: Utilisation de «>» supérieur à l'opérateur de comparaison dans la clause «où» avec sous-requête
Le commandement ci-dessous renvoie les dossiers des étudiants dont les marques sont plus élevées que «70”Utilisation de la sous-requête:

Sélectionnez * dans Student_Marks Where Std in (Sélectionnez Std dans Student_Marks Where Marks> 70);

Dans cette requête:

  • Premièrement, il déterminera le dossier des étudiants dont les marques sont supérieures à «70”Utilisation de la sous-requête.
  • Après cela, la requête extérieure renvoie les marques avec des détails dont les identifiants étudiants sont dans l'ensemble de résultats renvoyés par la sous-requête exécutée:

Exemple 2: Utilisation "<” Less than Comparison Operator in “WHERE” Clause with Subquery
La commande suivante renvoie les détails de ces étudiants dont les marques sont inférieures à «70"En utilisant la sous-requête dans le"”Clause:

Sélectionnez * dans Student_marks où Std in (sélectionnez Std dans Student_marks où les marques < 70);

Selon la déclaration exécutée, un seul étudiant a moins de «70" Des marques:

Exemple 3: Utilisation de l'opérateur de comparaison égal «=» dans la clause «où» avec sous-requête
De même, la commande ci-dessous obtiendra les détails de ces étudiants dont les marques sont égales au «78" en utilisant le "SÉLECTIONNER»Déclaration comme sous-requête:

Sélectionnez * dans Student_Marks Where Std in (sélectionnez Std dans Student_Marks Where Marks = 78);

Comment utiliser la sous-requête MySQL dans Where Clause avec les opérateurs «in» ou «pas dans»?

Si la sous-requête spécifiée renvoie plusieurs valeurs, nous devons utiliser le «"Clause avec le"DANS" ou "PAS DEDANS»Opérateur.

Supposons que nous ayons un tableau nommé «étudiant«Cela contient les données suivantes:

Le "Student_marks»Le tableau contient les enregistrements ci-dessous:

Exemple 1: Utilisation de l'opérateur «Not in» dans la clause «où» avec sous-requête
Supposons que nous ayons un tableau nommé «étudiant"Cela contient les données de l'élève, telles que"Prénom","Nom de famille","Ville","Adresse permanente», Et plus de détails. Nous voulons obtenir le «Firstname» et la «ville» du «étudiant”Table où les ID des élèves n'existent pas dans la sous-requête. Dans une sous-requête, nous obtenons le dossier des étudiants avec différents noms de ville:

Sélectionnez FirstName, Ville parmi les étudiants où Std Not In (Sélectionnez une ville distincte de Student);

Ici le "DISTINCT»L'instruction est utilisée pour ne renvoyer que différentes valeurs:

Exemple 2: Utilisation de l'opérateur «in» dans la clause «où» avec sous-requête
Nous avons un tableau nommé «Student_marks"Cela contient les données de l'élève, telles que"MST","Prénom","Nom de famille", et "Des marques". Nous devons obtenir le «premier nom» du «Student_marks”Table où les marques d'élèves existent dans la sous-requête. Dans une sous-requête, nous obtenons les marques de ces étudiants qui diffèrent les uns des autres.

Pour ce faire, exécutez la déclaration ci-dessous:

Sélectionnez STD, FirstName dans Student_Marks où les marques (sélectionnent des marques distinctes de Student_Marks);

Il s'agit d'utiliser une sous-requête dans la clause WHERE dans MySQL.

Conclusion

Oui, vous pouvez utiliser la sous-requête dans MySQL "»Clause. Nous pouvons utiliser des opérateurs de comparaison, tels que moins que, égal et supérieur, dans la sous-requête de la clause «où». De plus, le «DANS" et "PAS DEDANS»Les opérateurs peuvent être utilisés dans la sous-requête. Cet article a démontré la sous-requête dans la clause «où» dans MySQL.