Maison > Article > base de données > Utilisez la fonction JOIN de MySQL pour joindre des tables
Utilisez la fonction JOIN de MySQL pour joindre des tables
Dans MySQL, JOIN est une opération très courante, qui nous permet de joindre deux ou plusieurs tables en fonction des champs associés entre elles. Cela facilite l'interrogation et l'obtention de données pertinentes à partir de plusieurs tables, améliorant ainsi l'efficacité et la flexibilité des requêtes. Cet article utilisera des exemples de code pour montrer comment utiliser la fonction JOIN de MySQL pour joindre des tables.
Créez d'abord deux exemples de tableaux : étudiants
et scores
. La table étudiants
contient des informations de base sur les étudiants, y compris des champs tels que id
, nom
et âge
; scores contient des informations sur les performances des élèves, y compris des champs tels que id
, subject
et score
. Les deux tables sont liées via le champ id
de l'étudiant. students
和scores
。students
表包含学生的基本信息,包括id
、name
和age
等字段;scores
表包含学生的成绩信息,包括id
、subject
和score
等字段。两个表之间通过学生的id
字段关联。
-- 创建students表 CREATE TABLE students ( id INT PRIMARY KEY, name VARCHAR(50), age INT ); -- 插入示例数据 INSERT INTO students (id, name, age) VALUES (1, 'Alice', 18), (2, 'Bob', 20), (3, 'Charlie', 19); -- 创建scores表 CREATE TABLE scores ( id INT, subject VARCHAR(50), score INT ); -- 插入示例数据 INSERT INTO scores (id, subject, score) VALUES (1, 'Math', 90), (1, 'English', 85), (2, 'Math', 95), (2, 'English', 80), (3, 'Math', 85), (3, 'English', 90);
内连接是最常用的连接方式,它返回两个表中满足连接条件的记录。
SELECT students.name, scores.subject, scores.score FROM students INNER JOIN scores ON students.id = scores.id;
以上代码会返回一个结果集,包含学生姓名、科目和成绩。
左连接返回左表中所有记录以及右表中满足连接条件的记录,如果右表中没有匹配的记录,那么结果中右表相关字段的值为NULL。
SELECT students.name, scores.score FROM students LEFT JOIN scores ON students.id = scores.id;
以上代码会返回一个结果集,包含学生姓名和成绩。如果某个学生在scores
表中没有对应的成绩记录,那么该学生的成绩字段值为NULL。
右连接返回右表中所有记录以及左表中满足连接条件的记录,如果左表中没有匹配的记录,那么结果中左表相关字段的值为NULL。
SELECT students.name, scores.subject, scores.score FROM students RIGHT JOIN scores ON students.id = scores.id;
以上代码会返回一个结果集,包含学生姓名、科目和成绩。如果某个科目在students
表中没有对应的学生记录,那么该科目字段值为NULL。
全连接返回左表和右表中所有记录,如果某个表中没有匹配的记录,那么结果中相关字段的值为NULL。
SELECT students.name, scores.subject, scores.score FROM students FULL JOIN scores ON students.id = scores.id;
以上代码会返回一个结果集,包含学生姓名、科目和成绩。如果某个学生在scores
表中没有对应的成绩记录,或者某个科目在students
rrreee
rrreee
Le code ci-dessus renverra un ensemble de résultats contenant les noms des étudiants, les matières et les notes.scores
, la valeur du champ de score de l'étudiant est NULL. 🎜étudiants
, la valeur du champ matière est NULL. 🎜scores
, ou si une certaine matière n'a pas d'enregistrement d'étudiant correspondant dans la table étudiants
, alors la valeur du champ correspondant est NULL. 🎜🎜Grâce aux exemples ci-dessus, nous pouvons voir que la fonction JOIN de MySQL peut être utilisée pour joindre des tables de manière flexible, interrogeant et obtenant ainsi facilement des données pertinentes. Ce type d'opération est très courant dans les applications de bases de données réelles, en particulier lorsque la relation entre les données est complexe, il peut grandement améliorer l'efficacité et la flexibilité des requêtes. 🎜🎜Il est à noter que l'opération JOIN peut avoir un certain impact sur les performances de la base de données. Par conséquent, lors de l'utilisation de JOIN, l'optimisation doit être effectuée en fonction de la situation réelle et l'association entre les tables doit être conçue au mieux. 🎜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!