数据库-内 | 左| 右| 全连接
2015-11-29 12:54
423 查看
[align=left]*SQL INNER JOIN 关键字[/align]
[align=left]在表中存在至少一个匹配时,INNER JOIN 关键字返回行。[/align]
[align=left]INNER JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]INNER JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:INNER JOIN 与 JOIN 是相同的。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]"Orders" 表:[/align]
[align=left]内连接(INNER JOIN)实例[/align]
[align=left]现在,我们希望列出所有人的定购。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]INNER JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 "Persons" 中的行在 "Orders" 中没有匹配,就不会列出这些行。[/align]
[align=left]SQL LEFT JOIN 关键字[/align]
[align=left]LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。[/align]
[align=left]LEFT JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]LEFT JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]"Orders" 表:[/align]
[align=left]左连接(LEFT JOIN)实例[/align]
[align=left]现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]LEFT JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]LEFT JOIN 关键字会从左表 (Persons) 那里返回所有的行,即使在右表 (Orders) 中没有匹配的行。[/align]
[align=left]SQL RIGHT JOIN 关键字[/align]
[align=left]RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。[/align]
[align=left]RIGHT JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]RIGHT JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]"Orders" 表:[/align]
[align=left]右连接(RIGHT JOIN)实例[/align]
[align=left]现在,我们希望列出所有的定单,以及定购它们的人 - 如果有的话。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]RIGHT JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]RIGHT JOIN 关键字会从右表 (Orders) 那里返回所有的行,即使在左表 (Persons) 中没有匹配的行。[/align]
[align=left]SQL FULL JOIN 关键字[/align]
[align=left]只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。[/align]
[align=left]FULL JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]FULL JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]"Orders" 表:[/align]
[align=left]全连接(FULL JOIN)实例[/align]
[align=left]现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]FULL JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。[/align]
[align=left]在表中存在至少一个匹配时,INNER JOIN 关键字返回行。[/align]
[align=left]INNER JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]INNER JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:INNER JOIN 与 JOIN 是相同的。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]Id_P[/align] | [align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]Address[/align] | [align=left]City[/align] |
[align=center]1[/align] | [align=center]Adams[/align] | [align=center]John[/align] | [align=center]Oxford Street[/align] | [align=center]London[/align] |
[align=center]2[/align] | [align=center]Bush[/align] | [align=center]George[/align] | [align=center]Fifth Avenue[/align] | [align=center]New York[/align] |
[align=center]3[/align] | [align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]Changan Street[/align] | [align=center]Beijing[/align] |
[align=left]Id_O[/align] | [align=left]OrderNo[/align] | [align=left]Id_P[/align] |
[align=center]1[/align] | [align=center]77895[/align] | [align=center]3[/align] |
[align=center]2[/align] | [align=center]44678[/align] | [align=center]3[/align] |
[align=center]3[/align] | [align=center]22456[/align] | [align=center]1[/align] |
[align=center]4[/align] | [align=center]24562[/align] | [align=center]1[/align] |
[align=center]5[/align] | [align=center]34764[/align] | [align=center]65[/align] |
[align=left]现在,我们希望列出所有人的定购。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]INNER JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]OrderNo[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]22456[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]24562[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]77895[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]44678[/align] |
[align=left]SQL LEFT JOIN 关键字[/align]
[align=left]LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。[/align]
[align=left]LEFT JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]LEFT JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]Id_P[/align] | [align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]Address[/align] | [align=left]City[/align] |
[align=center]1[/align] | [align=center]Adams[/align] | [align=center]John[/align] | [align=center]Oxford Street[/align] | [align=center]London[/align] |
[align=center]2[/align] | [align=center]Bush[/align] | [align=center]George[/align] | [align=center]Fifth Avenue[/align] | [align=center]New York[/align] |
[align=center]3[/align] | [align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]Changan Street[/align] | [align=center]Beijing[/align] |
[align=left]Id_O[/align] | [align=left]OrderNo[/align] | [align=left]Id_P[/align] |
[align=center]1[/align] | [align=center]77895[/align] | [align=center]3[/align] |
[align=center]2[/align] | [align=center]44678[/align] | [align=center]3[/align] |
[align=center]3[/align] | [align=center]22456[/align] | [align=center]1[/align] |
[align=center]4[/align] | [align=center]24562[/align] | [align=center]1[/align] |
[align=center]5[/align] | [align=center]34764[/align] | [align=center]65[/align] |
[align=left]现在,我们希望列出所有的人,以及他们的定购 - 如果有的话。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]LEFT JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]OrderNo[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]22456[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]24562[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]77895[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]44678[/align] |
[align=center]Bush[/align] | [align=center]George[/align] | [align=center] [/align] |
[align=left]SQL RIGHT JOIN 关键字[/align]
[align=left]RIGHT JOIN 关键字会右表 (table_name2) 那里返回所有的行,即使在左表 (table_name1) 中没有匹配的行。[/align]
[align=left]RIGHT JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]RIGHT JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:在某些数据库中, RIGHT JOIN 称为 RIGHT OUTER JOIN。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]Id_P[/align] | [align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]Address[/align] | [align=left]City[/align] |
[align=center]1[/align] | [align=center]Adams[/align] | [align=center]John[/align] | [align=center]Oxford Street[/align] | [align=center]London[/align] |
[align=center]2[/align] | [align=center]Bush[/align] | [align=center]George[/align] | [align=center]Fifth Avenue[/align] | [align=center]New York[/align] |
[align=center]3[/align] | [align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]Changan Street[/align] | [align=center]Beijing[/align] |
[align=left]Id_O[/align] | [align=left]OrderNo[/align] | [align=left]Id_P[/align] |
[align=center]1[/align] | [align=center]77895[/align] | [align=center]3[/align] |
[align=center]2[/align] | [align=center]44678[/align] | [align=center]3[/align] |
[align=center]3[/align] | [align=center]22456[/align] | [align=center]1[/align] |
[align=center]4[/align] | [align=center]24562[/align] | [align=center]1[/align] |
[align=center]5[/align] | [align=center]34764[/align] | [align=center]65[/align] |
[align=left]现在,我们希望列出所有的定单,以及定购它们的人 - 如果有的话。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]RIGHT JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]OrderNo[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]22456[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]24562[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]77895[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]44678[/align] |
[align=center] [/align] | [align=center] [/align] | [align=center]34764[/align] |
[align=left]SQL FULL JOIN 关键字[/align]
[align=left]只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。[/align]
[align=left]FULL JOIN 关键字语法[/align]
[align=left]SELECT column_name(s)[/align]
[align=left]FROM table_name1[/align]
[align=left]FULL JOIN table_name2[/align]
[align=left]ON table_name1.column_name=table_name2.column_name[/align]
[align=left]注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。[/align]
[align=left]原始的表 (用在例子中的):[/align]
[align=left]"Persons" 表:[/align]
[align=left]Id_P[/align] | [align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]Address[/align] | [align=left]City[/align] |
[align=center]1[/align] | [align=center]Adams[/align] | [align=center]John[/align] | [align=center]Oxford Street[/align] | [align=center]London[/align] |
[align=center]2[/align] | [align=center]Bush[/align] | [align=center]George[/align] | [align=center]Fifth Avenue[/align] | [align=center]New York[/align] |
[align=center]3[/align] | [align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]Changan Street[/align] | [align=center]Beijing[/align] |
[align=left]Id_O[/align] | [align=left]OrderNo[/align] | [align=left]Id_P[/align] |
[align=center]1[/align] | [align=center]77895[/align] | [align=center]3[/align] |
[align=center]2[/align] | [align=center]44678[/align] | [align=center]3[/align] |
[align=center]3[/align] | [align=center]22456[/align] | [align=center]1[/align] |
[align=center]4[/align] | [align=center]24562[/align] | [align=center]1[/align] |
[align=center]5[/align] | [align=center]34764[/align] | [align=center]65[/align] |
[align=left]现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。[/align]
[align=left]您可以使用下面的 SELECT 语句:[/align]
[align=left]SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo[/align]
[align=left]FROM Persons[/align]
[align=left]FULL JOIN Orders[/align]
[align=left]ON Persons.Id_P=Orders.Id_P[/align]
[align=left]ORDER BY Persons.LastName[/align]
[align=left]结果集:[/align]
[align=left]LastName[/align] | [align=left]FirstName[/align] | [align=left]OrderNo[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]22456[/align] |
[align=center]Adams[/align] | [align=center]John[/align] | [align=center]24562[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]77895[/align] |
[align=center]Carter[/align] | [align=center]Thomas[/align] | [align=center]44678[/align] |
[align=center]Bush[/align] | [align=center]George[/align] | [align=center] [/align] |
[align=center] [/align] | [align=center] [/align] | [align=center]34764[/align] |
相关文章推荐
- oracle v$ 视图查询慢处理
- Ubuntu 14.04 server 设置mysql允许远程访问
- Sql多条件查询,子查询,in及分页查询
- MySQL 锁
- MySQL锁定状态查看命令
- mysql数据表类型
- 8天学通MongoDB——第八天 驱动实践
- 8天学通MongoDB——第七天 运维技术
- linux-CentOS6.4下安装oracle11g详解
- Redis.3.0.5集群安装详解
- 8天学通MongoDB——第六天 分片技术
- mysql备份脚本
- 打开mysql的查询日志
- redis数据类型
- 利用predis操作redis方法大全
- 数据库代码编写规范
- sqlserver 空间数据类型
- MySQL 调优/优化的 100 个建议
- MySQL性能优化的最佳21条经验
- Oracle GoldenGate 之--异构平台同步(Mysql到Oracle)