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 INNER JOIN 关键词

SQL INNER JOIN 关键词

INNER JOIN 关键字在表中存在至少一个匹配时返回行。

INNER JOIN 语法

SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_name = table2.column_name;

SQL INNER JOIN


演示数据库

在本教程中,我们将使用著名的 Northwind 示例数据库。

请看 "Orders" 表:

OrderID CustomerID EmployeeID OrderDate ShipperID
10308 2 7 1996-09-18 3
10309 37 3 1996-09-19 1
10310 77 8 1996-09-20 2

接下来请看 "Customers" 表:

CustomerID CustomerName ContactName Address City PostalCode Country
1

Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico


内连接(INNER JOIN)实例

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

实例

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

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


连接三个表

以下 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);
亲自试一试 »

学习训练

练习题:

选择正确的 JOIN 子句从两个表中选择两个表中匹配的所有记录。

SELECT *
FROM Orders

ON Orders.CustomerID=
Customers.CustomerID;

开始练习