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

connexion à une requête mysql

PHPz
Libérer: 2023-05-08 10:25:08
original
4742 Les gens l'ont consulté

Introduction à la connexion aux requêtes MySQL

Dans la gestion de bases de données, la connexion aux requêtes est une partie très importante. La jointure fait référence au processus de jointure de deux ou plusieurs tables en fonction de la relation entre elles pour terminer la requête de données. Dans MySQL, nous pouvons implémenter des connexions de requêtes en utilisant l'instruction JOIN. Cet article fournira une introduction approfondie à l'utilisation des connexions de requêtes MySQL.

Classification des connexions de requêtes MySQL

Les connexions de requêtes MySQL sont principalement divisées en trois catégories : les jointures internes, les jointures externes et les jointures croisées.

  1. INNER JOIN

La jointure interne signifie qu'il existe une relation correspondante entre les enregistrements dans deux ou plusieurs tables. Cette relation peut être représentée par des clés primaires et des clés étrangères. Les jointures internes renvoient des résultats en conservant les mêmes enregistrements. Autrement dit, les résultats de la requête ne seront renvoyés que si des enregistrements correspondants existent dans les deux tables.

La syntaxe de la jointure interne est la suivante :

SELECT col1, col2, ...
FROM table1
INNER JOIN table2
ON table1.column1 = table2.column2;

Parmi eux, col1, col2, ... doivent être renvoyés Column ; table1 et table2 sont les tables à interroger, column1 et column2 sont les colonnes qui relient les tables.

  1. OUTER JOIN

Les jointures externes sont divisées en jointures gauches et jointures droites. Ce type de jointure signifie que lorsque deux tables ou plus sont connectées, tous les enregistrements sont inclus, même si l'une des tables n'est pas liée aux enregistrements correspondants. d'une autre table.

Jointure gauche : la jointure gauche signifie que la table de gauche récupère tous les enregistrements, tandis que la table de droite récupère uniquement les enregistrements correspondants. S'il n'y a aucun enregistrement correspondant entre la table de gauche et la table de droite, la table de droite renverra une valeur NULL.

La syntaxe de la jointure gauche est la suivante :

SELECT col1, col2, ...
FROM table1
LEFT JOIN table2
ON table1.column1 = table2.column2;

Right join : la jointure droite est similaire à la jointure gauche , sauf côté gauche Les rôles de la table et de la table de droite sont inversés.

La syntaxe de la jointure à droite est la suivante :

SELECT col1, col2, ...
FROM table1
RIGHT JOIN table2
ON table1.column1 = table2.column2;

Remarque : Dans MySQL, il existe également un FULL OUTER pour les jointures externes JOIN (jointure externe complète), mais MySQL ne le prend pas en charge. Par conséquent, nous pouvons simuler une jointure externe complète via l’instruction UNION.

  1. CROSS JOIN

La jointure croisée fait référence à une jointure sans aucune condition de jointure entre deux ou plusieurs tables. En termes simples, les jointures croisées vous permettent d'interroger toutes les combinaisons possibles.

La syntaxe de la jointure croisée est la suivante :

SELECT col1, col2, ...
FROM table1
CROSS JOIN table2;

Parmi elles, col1, col2, ... sont les colonnes à retourner table1 et ; table2 doit être interrogé en surface.

Exemples d'application de connexion de requête MySQL

Comprenons maintenant l'utilisation de la connexion de requête MySQL à travers quelques exemples pratiques.

Exemple 1 : Jointure interne

Supposons que nous ayons deux tables étudiant et cours. Leurs colonnes et leur contenu sont les suivants :

table étudiant :

id name age
. 1 Jack 18
2 Tom 19
3 Jerry 20
4 Bob 18

tableau des cours :

course_id course_name student_id
1 Math 1
2 Anglais 2
3 Science 2
4 Historique 3

Maintenant, nous voulons interroger les cours sélectionnés par chaque étudiant, nous pouvons utiliser l'instruction SQL suivante :

SELECT student.name, course.course_name
FROM student
INNER JOIN course
ON student . id = course.student_id;

Cette requête renverra les résultats suivants :

name course_name
Jack Math
Tom Anglais
Tom Science
Jerry Histoire

Exemple 2 : Rejoindre à gauche

Toujours en prenant comme exemple la table des étudiants et la table des cours ci-dessus, si nous voulons interroger les cours sélectionnés par chaque étudiant, y compris ceux qui n'ont pas sélectionné d'étudiant pour le cours. Vous pouvez utiliser l'instruction SQL suivante :

SELECT student.name, course.course_name
FROM student
LEFT JOIN course
ON student.id = course.student_id;

La requête renverra les résultats suivants :

name course_name
Jack Math
Tom English
Tom Science
Jerry Histoire
Bob NULL

Exemple 3 : Rejoindre à droite

Continuez à utiliser la table des étudiants et la table des cours ci-dessus comme exemple, si nous voulons interroger les étudiants de chaque cours, y compris les étudiants qui n'ont pas choisi le cours. Vous pouvez utiliser l'instruction SQL suivante :

SELECT student.name, course.course_name
FROM student
RIGHT JOIN course
ON student.id = course.student_id;

La requête renverra les résultats suivants :

nom nom_cours
Jack Math
Tom Anglais
Tom Science
Jerry Histoire
NULL Géographie

Exemple 4 : Jointure croisée

La jointure croisée permet d'interroger toutes les combinaisons possibles. Par exemple, nous avons une table contenant trois éléments A, B et C :

table1 :

.
id name
1 A
2 B
3 C

Nous pouvons utiliser l'instruction SQL suivante pour effectuer des jointures croisées :

SELECT t1.name, t2 .nom
FROM table1 t1
CROSS JOIN table1 t2;

Cette requête renverra les résultats suivants :

CCBC CConclusion
name name
A A
A B
A C
B A
B B
C
La connexion aux requêtes MySQL est une partie importante du langage SQL et peut nous aider à interroger des données contenant des relations. Dans cet article, nous présentons la syntaxe et les exemples d'application des quatre types de jointures : jointure interne, jointure gauche, jointure droite et jointure croisée. J'espère que cet article vous aidera à utiliser la connexion aux requêtes MySQL.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!