南大通用
内连接只返回两个表中与连接谓词匹配的行,不匹配的行不会被输出。
2)
举例
问题:查询每位顾客的联系方式及其订货日期
分析:顾客信息存放在
customer
表中,订单日期存放在
orders
表中,本查询需
要涉及两个表,两个表之间的联系是通过
customer
表的主键
customer_num
和
orders
表的外键
customer_num
实现的。
查询语句:
select customer.customer_num, cname, phone, order_num,
order_date
from customer join orders
on customer.customer_num=orders.customer_num;
查询结果:
customer_n
um
cname phone order_num order_date
101
张一川
13887898075
1001 05/20/2014
101
张一川
13887898075
1002 05/21/2014
104
杰克
4157433611
1003 05/22/2014
102
李凤
13058221289
1004 06/07/2014
104
杰克
4157433611
1005 06/22/2014
2.
外连接
内连接操作的结果只输出两个表中在连接谓词上匹配的行。如果希望连接操作将
左表或者右表中不匹配的行也输出,就需要使用外连接了。外连接分为左外连接、右
外连接和完全外连接。
2.1
左外连接(
left outer join on
)
1)
说明:
左外连接会返回左表中全部的行,即使右表中没有找到匹配的行。如果左表中
的行在右表中没有匹配的行,对应的行上来自右表的属性为空值。
2)
举例:
问题:查询每位顾客的订购物品的信息,目前没有订单的顾客也要列出
分析:顾客信息在
customer
表中,物品的信息在
orders
表中,两个表通过
customer
表 中 的 主 键
customer_num
和
orders
表 中 的 外 键
customer_num
连接。
评论