MySQL 表连接
在使用SELECT语句时,MySQL JOIN被用于从多个表中检索数据。每当您需要从两个或多个表中获取记录时,就会执行连接操作。
有三种类型的 MySQL JOIN:
- MySQL内连接(有时也称为简单连接)
- MySQL左外连接(有时也称为左连接)
- MySQL右外连接(有时也称为右连接)
MySQL内连接
MySQL INNER JOIN是用于检索满足连接条件的多个表中的所有行。这是最常见的连接类型。
语法:
SELECT columns
FROM table1
INNER JOIN table2
ON table1.column = table2.column;
图像表示:
让我们以一个例子来说明:
考虑两个表 “officers” 和 “students”,它们具有以下数据。
执行以下查询:
SELECT officers.officer_name, officers.address, students.course_name
FROM officers
INNER JOIN students
ON officers.officer_id = students.student_id;
输出:
MySQL左外连接
LEFT OUTER JOIN返回在ON条件中指定的左表的所有行以及满足连接条件的其他表中的行。
语法:
SELECT columns
FROM table1
LEFT [OUTER] JOIN table2
ON table1.column = table2.column;
图像表示:
让我们来看一个例子:
考虑两个表”officers”和”students”,具有以下数据。
执行以下查询:
SELECT officers.officer_name, officers.address, students.course_name
FROM officers
LEFT JOIN students
ON officers.officer_id = students.student_id;
输出:
MySQL右外连接
MySQL右外连接返回指定在ON条件中右侧表的所有行以及在其他表中满足连接条件的行。
语法:
SELECT columns
FROM table1
RIGHT [OUTER] JOIN table2
ON table1.column = table2.column;
图片表示方式:
让我们举个例子:
考虑两个表“officers”和“students”,它们具有以下数据。
执行以下查询:
SELECT officers.officer_name, officers.address, students.course_name, students.student_name
FROM officers
RIGHT JOIN students
ON officers.officer_id = students.student_id;
输出: