Maison > base de données > tutoriel mysql > le corps du texte

Quelle est la méthode de requête de jointure interne dans MySQL

WBOY
Libérer: 2023-06-02 08:52:32
avant
1139 Les gens l'ont consulté

Inner join est également appelée connexion et constitue le premier type de connexion. Également appelée jointure normale ou jointure naturelle, une jointure interne supprime toutes les lignes de la table de résultats qui ne correspondent pas aux lignes d'autres tables jointes, de sorte que des informations peuvent être perdues dans la jointure interne.

Quelle est la méthode de requête de jointure interne dans MySQL

Utilisez le mot-clé INNER JOIN dans la clause MySQL FROM pour joindre les deux tables, et utilisez la clause ON pour définir les conditions de connexion. Syntaxiquement, INNER JOIN et CROSS JOIN peuvent être interchangés sans aucune condition.

Le format de la syntaxe est le suivant

SELECT 
FROM  INNER JOIN  [ ON子句]
Copier après la connexion

La description de la syntaxe est la suivante

 : Le nom de la colonne à récupérer.

 : Les noms des deux tables pour la connexion interne.

Après la clause FROM, vous pouvez omettre le mot-clé INNER et utiliser directement le mot-clé JOIN, car les jointures internes sont la méthode de connexion de table par défaut du système. Après avoir utilisé les jointures internes, les conditions de jointure des tables peuvent être définies via la clause ON de la clause FROM.

INNER JOIN ou JOIN peuvent être utilisés en continu entre plusieurs tables dans la clause FROM, afin que les jointures internes de plusieurs tables puissent être réalisées en même temps.

La table tb_students_info et la table tb_departments contiennent le champ dept_id du même type de données, et une requête de jointure interne est utilisée entre les deux tables.

L'instruction SQL d'entrée et les résultats de l'exécution sont les suivants

mysql> SELECT id,name,age,dept_name
   -> FROM tb_students_info,tb_departments
   -> WHERE tb_students_info.dept_id=tb_departments.dept_id;
+----+--------+------+-----------+
| id | name   | age  | dept_name |
+----+--------+------+-----------+
|  1 | Dany   |   25 | Computer  |
|  2 | Green  |   23 | Chinese   |
|  3 | Henry  |   23 | Math      |
|  4 | Jane   |   22 | Computer  |
|  5 | Jim    |   24 | Computer  |
|  6 | John   |   21 | Math      |
|  7 | Lily   |   22 | Computer  |
|  8 | Susan  |   23 | Economy   |
|  9 | Thomas |   22 | Chinese   |
| 10 | Tom    |   23 | Economy   |
+----+--------+------+-----------+
10 rows in set (0.00 sec)
Copier après la connexion

Ici, la plus grande différence entre l'instruction SELECT et l'introduction précédente est la suivante : les colonnes spécifiées après SELECT appartiennent respectivement à deux tables différentes, l'identifiant, le nom et l'âge sont dans la table tb_students_info , tandis que dept_name est dans la table tb_departments, et la clause FROM répertorie deux tables, tb_students_info et tb_departments. La clause WHERE est utilisée ici comme condition de filtre, indiquant que ce n'est que lorsque les valeurs du champ dept_id dans les deux tables sont égales que les conditions de la requête de jointure sont remplies.

Vous pouvez voir à partir des résultats renvoyés que les enregistrements affichés sont de nouveaux enregistrements composés de valeurs de colonnes différentes dans les deux tables.

Conseils : étant donné que la table tb_students_info et la table tb_departments ont le même champ dept_id, lors de la comparaison, le nom de la table doit être entièrement qualifié (au format "nom de la table. nom de la colonne"). Si seul dept_id est donné, MySQL. ne saura pas à quoi il fait référence et renvoie un message d'erreur.

Utilisez la syntaxe INNER JOIN pour effectuer des requêtes de jointure interne entre la table tb_students_info et la table tb_departments L'instruction SQL d'entrée et les résultats de l'exécution sont les suivants.

mysql> SELECT id,name,age,dept_name
   -> FROM tb_students_info INNER JOIN tb_departments
   -> WHERE tb_students_info.dept_id=tb_departments.dept_id;
+----+--------+------+-----------+
| id | name   | age  | dept_name |
+----+--------+------+-----------+
|  1 | Dany   |   25 | Computer  |
|  2 | Green  |   23 | Chinese   |
|  3 | Henry  |   23 | Math      |
|  4 | Jane   |   22 | Computer  |
|  5 | Jim    |   24 | Computer  |
|  6 | John   |   21 | Math      |
|  7 | Lily   |   22 | Computer  |
|  8 | Susan  |   23 | Economy   |
|  9 | Thomas |   22 | Chinese   |
| 10 | Tom    |   23 | Economy   |
+----+--------+------+-----------+
10 rows in set (0.00 sec)
Copier après la connexion

INNER JOIN est utilisé pour spécifier la relation entre deux tables dans l'instruction de requête. Lors de l'utilisation de cette syntaxe, les conditions de connexion sont données à l'aide de la clause ON au lieu de WHERE ON et les conditions spécifiées après WHERE sont les mêmes.

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!

Étiquettes associées:
source:yisu.com
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal