MySQL内外连接的具体使用

1. MySQL内连接

MySQL内连接(INNER JOIN)是最常见的连接类型,它包含两个表中共有的行,也就是说,只会返回两个表中都有的记录。

1.1 INNER JOIN用法

INNER JOIN用法如下:

SELECT column_name(s)

FROM table1

INNER JOIN table2

ON table1.column_name = table2.column_name;

其中,column_name为要选择的列名,table为要连接的表名,ON为指定连接的条件。

1.2 INNER JOIN案例分析

以下是一个INNER JOIN的实际案例:

SELECT Orders.OrderID, Customers.CustomerName

FROM Orders

INNER JOIN Customers

ON Orders.CustomerID = Customers.CustomerID;

案例解释:此语句将返回两个表中都有的Orders.OrderID和Customers.CustomerName列,通过Orders.CustomerID和Customers.CustomerID进行连接。

2. MySQL外连接

MySQL外连接可以分为左外连接和右外连接,它们分别包含左表和右表中的所有行,并将它们连接在一起。如果没有匹配,将返回 NULL 值。

2.1 左外连接

左外连接(LEFT JOIN)是将左表所有行都包含在内,而右表只包含匹配的行。

2.1.1 LEFT JOIN用法

LEFT JOIN用法如下:

SELECT column_name(s)

FROM table1

LEFT JOIN table2

ON table1.column_name = table2.column_name;

其中,column_name为要选择的列名,table为要连接的表名,ON为指定连接的条件。

2.1.2 LEFT JOIN案例分析

以下是一个LEFT JOIN的实际案例:

SELECT Customers.CustomerName, Orders.OrderID

FROM Customers

LEFT JOIN Orders

ON Customers.CustomerID = Orders.CustomerID

ORDER BY Customers.CustomerName;

案例解释:此语句将返回所有Customers表中的记录以及匹配的Orders表中的记录,没有匹配的订单将返回NULL值。订单将按顾客姓名排序。

2.2 右外连接

右外连接(RIGHT JOIN)是将右表所有行都包含在内,而左表只包含匹配的行。

2.2.1 RIGHT JOIN用法

RIGHT JOIN用法如下:

SELECT column_name(s)

FROM table1

RIGHT JOIN table2

ON table1.column_name = table2.column_name;

其中,column_name为要选择的列名,table为要连接的表名,ON为指定连接的条件。

2.2.2 RIGHT JOIN案例分析

以下是一个RIGHT JOIN的实际案例:

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName

FROM Orders

RIGHT JOIN Employees

ON Orders.EmployeeID = Employees.EmployeeID

ORDER BY Orders.OrderID;

案例解释:此语句将返回所有Employees表中的记录以及匹配的Orders表中的记录,没有匹配的订单将返回NULL值。订单将按订单ID排序。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

数据库标签