MySQL JOIN

MySQL JOINS 与 SELECT 语句一起使用。它用于从多个表中检索数据。每当您需要从两个或多个表中获取记录时都会执行此操作。

MySQL连接分为三种类型:

  • MySQL INNER JOIN(或有时称为简单连接)
  • MySQL 左外连接(或有时称为左连接)
  • MySQL RIGHT OUTER JOIN(或有时称为右连接)

一、MySQL 内连接(简单连接) 

MySQL INNER JOIN用于返回满足连接条件的多个表中的所有行。它是最常见的连接类型。

语法

SELECT columns  
FROM table1   
INNER JOIN table2  
ON table1.column = table2.column; 

示例

考虑两个表“officers”和“students”,具有以下数据。

执行以下SQL语句:

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”,具有以下数据。

执行以下SQL语句:

SELECT  officers.officer_name, officers.address, students.course_name  
FROM officers  
LEFT JOIN students  
ON officers.officer_id = students.student_id; 

输出结果为:

三、MySQL 右外连接

MySQL 右外连接返回 ON 条件中指定的 RIGHT 表中的所有行,并且只返回满足连接条件的另一个表中的那些行。

语法

SELECT columns  
FROM table1  
RIGHT [OUTER] JOIN table2  
ON table1.column = table2.column;  

示例

考虑两个表“officers”和“students”,具有以下数据。

执行以下SQL语句:

SELECT officers.officer_name, officers.address, students.course_name, students.student_name  
FROM officers  
RIGHT JOIN students  
ON officers.officer_id = students.student_id;  

输出结果为:

热门文章

优秀文章