MySQL JOINS
MySQL JOINS与SELECT语句一起使用。它用于从多个表中检索数据。只要您需要从两个或多个表中获取记录,就会执行该操作。
有三种类型的 MySQL 联接:
MySQL INNER JOIN(或为join)
MySQL LEFT OUTER JOIN(或为LEFT JOIN)
MySQL RIGHT OUTER JOIN(或为RIGHT JOIN)
MySQL Inner JOIN
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
LEFT OUTER JOIN返回在ON条件中指定的左侧表中的所有行,并且仅返回满足联接条件的另一张表中的所有行。
语法:
SELECT columns
FROM table1
LEFT [OUTER] JOIN table2
ON table1.column = table2.column;
图像表示:
让我们来一个示例:
考虑两个具有以下数据的表"军官"和"学生"。
执行以下查询:
SELECT officers.officer_name, officers.address, students.course_name
FROM officers
LEFT JOIN students
ON officers.officer_id = students.student_id;
输出:
MySQL Right Outer Join
MySQL右外部连接返回在ON条件中指定的RIGHT表中的所有行,并且仅返回满足他的连接条件的另一张表中的所有行。
语法:
SELECT columns
FROM table1
RIGHT [OUTER] JOIN table2
ON table1.column = table2.column;
图像表示:
让我们来一个示例:
考虑两个具有以下数据的表"官员"和"学生"。
执行以下查询:
SELECT officers.officer_name, officers.address, students.course_name, students.student_name
FROM officers
RIGHT JOIN students
ON officers.officer_id = students.student_id;
输出: