SQL 教程

SQL 教程 SQL 简介 SQL 语法 SQL Select SQL Select Distinct SQL Where SQL And, Or, Not SQL Order By SQL Insert Into SQL Null Values SQL Update SQL Delete SQL Select Top SQL Min 和 Max SQL Count, Avg, Sum SQL Like SQL 通配符 SQL In SQL Between SQL 别名 SQL 联接 SQL Inner Join SQL Left Join SQL Right Join SQL Full Join SQL 自联接 SQL Union SQL Group By SQL Having SQL Exists SQL Any, All SQL Select Into SQL Insert Into Select SQL Case SQL Null 函数 SQL 存储过程 SQL 注释 SQL 运算符

SQL 数据库

SQL 创建数据库 SQL 删除数据库 SQL 数据库备份 SQL Create Table SQL Drop Table SQL Alter Table SQL 约束 SQL Not Null SQL Unique SQL Primary Key SQL Foreign Key SQL Check SQL Default SQL Index SQL 自动增量 SQL 日期 SQL 视图 SQL 注入 SQL 托管 SQL 数据类型

SQL 参考手册

SQL 关键字 MySQL 函数 SQL Server 函数 MS Access 函数 SQL 快速参考手册

SQL 实例

SQL 实例 SQL 测验 SQL 练习

SQL JOIN 关键字

❮ SQL 关键字参考


INNER JOIN

INNER JOIN 命令返回两个表中具有匹配值的行。

以下 SQL 选择所有带有客户信息的订单:

实例

SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
亲自试一试 »

注释: 只要列之间存在匹配项,INNER JOIN 关键字就会从两个表中选择所有行。 如果"Orders"表中存在与"Customers"不匹配的记录,这些订单将不会显示!

以下 SQL 语句选择包含客户和发货人信息的所有订单:

实例

SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
亲自试一试 »

LEFT JOIN

LEFT JOIN 命令返回左表中的所有行,以及右表中匹配的行。 如果没有匹配,则从右侧开始,结果为 NULL。

以下 SQL 将选择所有客户以及他们可能拥有的任何订单:

实例

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID
ORDER BY Customers.CustomerName;
亲自试一试 »

注释: LEFT JOIN 关键字返回左表 (Customers) 中的所有记录,即使右侧没有匹配项 表(订单)。


RIGHT JOIN

RIGHT JOIN 命令返回右表的所有行,以及左表的匹配记录。 当没有匹配时,结果从左侧开始为 NULL。

以下 SQL 将返回所有员工以及他们可能下的任何订单:

实例

SELECT Orders.OrderID, Employees.LastName, Employees.FirstName
FROM Orders
RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID
ORDER BY Orders.OrderID;
亲自试一试 »

注释: RIGHT JOIN 关键字返回右表 (Employees) 中的所有记录,即使左侧没有匹配项 表(订单)。


FULL OUTER JOIN

FULL OUTER JOIN 命令在左表或右表中存在匹配时返回所有行。

以下 SQL 语句选择所有客户和所有订单:

SELECT Customers.CustomerName, Orders.OrderID
FROM Customers
FULL OUTER JOIN Orders ON Customers.CustomerID=Orders.CustomerID
ORDER BY Customers.CustomerName;

注释: FULL OUTER JOIN 关键字返回左表(客户)中的所有行,以及右表中的所有行 表(订单)。 如果"客户"中有行与"订单"不匹配,或者"订单"中有行与"客户"不匹配,这些行也会被列出。


❮ SQL 关键字参考