Maison >base de données >tutoriel mysql >Partage des méthodes de connexion aux tables de données dans MySQL
MySQL est un système de gestion de bases de données relationnelles côté serveur qui permet de gérer de grandes quantités de données et peut également fonctionner sur les données de différentes manières. Le plus important d’entre eux consiste à connecter différentes tables de données. Dans MySQL, il existe plusieurs méthodes de jointure différentes qui peuvent être utilisées pour joindre des tables de données, chacune présentant des avantages et des inconvénients différents. Cet article partage quelques méthodes courantes de connexion aux tables de données MySQL, dans l'espoir d'aider les lecteurs à mieux comprendre et utiliser MySQL.
1. Jointure gauche
Dans la jointure gauche, nous renvoyons toutes les informations du tableau de gauche et les données correspondantes dans le tableau de droite. S'il n'y a aucune donnée correspondante dans le tableau de droite, une valeur NULL est renvoyée.
Syntaxe :
SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table LEFT JOIN right_table
ON left_table.column_name = right_table.column_name;
Exemple :
Supposons qu'il y ait deux tables, respectivement Student table (étudiant) et table famille (famille). La table étudiant contient le nom et l'âge de l'élève, et la table famille contient le nom du père correspondant au nom de l'élève.
Utilisez la jointure gauche pour connecter ces deux tables. L'instruction SQL est la suivante :
SELECT student.name, student.age, family.father_name
FROM student
LEFT JOIN family
ON student.name = family.student_name;
Ici vous pouvez obtenir le nom, l'âge et le nom du père. S'il n'y a pas de nom de père correspondant pour un élève, une valeur NULL est renvoyée ici.
2. Rejoindre à droite
La jointure à droite peut être considérée comme la version miroir de la jointure à gauche. Dans la jointure de droite, nous renvoyons toutes les informations du tableau de droite et les données correspondantes du tableau de gauche. S'il n'y a aucune donnée correspondante dans le tableau de gauche, une valeur NULL est renvoyée.
Syntaxe :
SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table RIGHT JOIN right_table
ON left_table.column_name = right_table.column_name;
Exemple :
Toujours en utilisant la table d'étudiant et la famille ci-dessus table Par exemple, utilisez une jointure à droite pour connecter ces deux tables. L'instruction SQL est la suivante :
SELECT student.name, student.age, family.father_name
FROM student
RIGHT JOIN family
ON student.name = family. student_name;
Ici, nous obtenons le nom, l'âge et le nom du père. S'il n'y a aucun nom d'étudiant correspondant, une valeur NULL est renvoyée ici.
3. Jointure interne
La jointure interne renvoie uniquement les données avec une relation de correspondance dans les deux tables. S'il n'existe aucune relation de correspondance entre les deux tables, aucune donnée ne sera renvoyée.
Syntaxe :
SELECT left_table.column_name(s), right_table.column_name(s)
FROM left_table
INNER JOIN right_table
ON left_table.column_name = right_table.column_name;
Exemple :
Utilisez la jointure interne pour implémenter la table des étudiants et Pour connecter la table familiale, l'instruction SQL est la suivante :
SELECT student.name, student.age, family.father_name
FROM student
INNER JOIN family
ON student.name = family.student_name;
Ici, nous n'obtenez que les étudiants Données liées entre deux tables de nom, d'âge et de nom du père.
4. Jointures externes
Les jointures externes sont le terme général désignant les jointures gauches, les jointures droites et les jointures externes complètes. Dans la jointure externe, nous renvoyons toutes les données des deux tables et les associons. Si une seule table existe dans certaines données mais pas dans une autre table, NULL sera renvoyé à la position de données correspondante.
Syntax:
Select Left_Table.Column_name (S), droite_table.column_name (S)
from Left_Table
full OUTER JOY table Pour se connecter à la table familiale, l'instruction SQL est la suivante :
FROM student
FULL OUTER JOIN familyON student.name = family.student_name;
Ici , nous récupérons toutes les données des tables d'étudiants et de familles et les rassemblons. Si le père est trouvé directement dans la table familiale mais que l'élève correspondant n'est pas trouvé, une valeur NULL est renvoyée ici.
5. Auto-adhésion
FROM table a, table b
WHERE a.column_name = b.column_name AND a.column_name = 'value' ;Exemple :
Supposons qu'il existe un tableau contenant les pays et leurs capitales. Nous pouvons utiliser l'auto-jointure pour interroger les connexions entre toutes les capitales du pays.
FROM capital_table a, capital_table b
WHERE a.capital != b .capital AND a.country = b.country;Ici, vous pouvez obtenir les données associées entre chaque pays et les capitales des autres pays.
Résumé :
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!