JOINS语句
MySQL JOINS 与 SELECT 语句一起使用。它用于从多个表检索数据。每当需要从两个或多个表获取记录时,都会执行该操作。
这里有三种类型的 MySQL joins:
- INNER JOIN 内连接 (或者有时候我们叫简单连接)
- LEFT OUTER JOIN 左外连接 (或者有时候我们叫左连接)
- RIGHT OUTER JOIN 右外连接 (或者有时候我们叫右连接)
内连接 INNER JOIN (简单连接)
MySQL 内连接用于返回满足联接条件的多个表中的所有行。它是最常见的连接类型。
语法:
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
图像演示
例子1:
SELECT officers.officer_name, officers.address, students.course_name
FROM officers
INNER JOIN students
ON officers.officer_id = students.student_id;
结果:
左外连接 LEFT JOIN (左连接)
左外连接返回 ON 条件中指定的左表中的所有行,只返回满足连接条件的另一个表中的那些行。
语法:
SELECT columns
FROM table1
LEFT [OUTER] JOIN table2
ON table1.column = table2.column;
图片演示
例子1:
SELECT officers.officer_name, officers.address, students.course_name
FROM officers
LEFT JOIN students
ON officers.officer_id = students.student_id;
结果:
右外连接 Right Join(右连接)
MySQL 右外连接返回 ON 条件中指定的右侧表中的所有行,只返回满足连接条件的另一个表中的那些行。
语法:
SELECT columns
FROM table1
RIGHT [OUTER] JOIN table2
ON table1.column = table2.column;
图像演示
例子1:
SELECT officers.officer_name, officers.address, students.course_name, students.student_name
FROM officers
RIGHT JOIN students
ON officers.officer_id = students.student_id;
结果: