sqlserver数据库的左右外连接

--左向外联;
--如果主表左表中的行没有匹配连接表的行,结果中相关联来自连接表的列显示null;

select * from members a
left join orders b on a.M_account=b.M_account


 

查询结果:

liuzc518	刘志成	1972-05-18	男	湖南株洲	3500.0	liuzc518	NULL	NULL	NULL	NULL	NULL	NULL	NULL
zhao888	赵爱云	1972-02-12	男	湖南株洲	5500.0	zhao888	zhao888	0240810333	2	2005-06-06 00:00:00.000	1	1	0
wangym	王咏梅	1974-08-06	女	湖南长沙	4000.0	wangym0806	wangym	0910810001	1	2005-08-09 00:00:00.000	1	0	0
jinjin	津津有味	1982-04-14	女	北京市	8200.0	jinjin	jinjin	0910810004	1	2005-08-09 00:00:00.000	1	1	1
jinjin	津津有味	1982-04-14	女	北京市	8200.0	jinjin	jinjin	0910810004	2	2005-06-06 00:00:00.000	1	0	0
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810001	1	2005-08-09 00:00:00.000	0	0	0
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810004	2	2005-08-09 00:00:00.000	1	1	1
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810004	2	2005-06-06 00:00:00.000	1	1	1
zhangzl	张自梁	1975-04-20	男	湖南株洲	4300.0	zhangzl	NULL	NULL	NULL	NULL	NULL	NULL	NULL


 

--右向外联;(与左联接相反)

select * from members a
right join orders b on a.M_account=b.M_account


查询结果:

NULL	NULL	NULL	NULL	NULL	NULL	NULL	liuzc	0140810324	1	2005-10-09 00:00:00.000	0	0	0
NULL	NULL	NULL	NULL	NULL	NULL	NULL	liuzc	0910810004	2	2005-10-09 00:00:00.000	1	1	0
NULL	NULL	NULL	NULL	NULL	NULL	NULL	liuzc	0910810001	1	2005-10-09 00:00:00.000	1	1	0
wangym	王咏梅	1974-08-06	女	湖南长沙	4000.0	wangym0806	wangym	0910810001	1	2005-08-09 00:00:00.000	1	0	0
jinjin	津津有味	1982-04-14	女	北京市	8200.0	jinjin	jinjin	0910810004	1	2005-08-09 00:00:00.000	1	1	1
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810001	1	2005-08-09 00:00:00.000	0	0	0
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810004	2	2005-08-09 00:00:00.000	1	1	1
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810004	2	2005-06-06 00:00:00.000	1	1	1
jinjin	津津有味	1982-04-14	女	北京市	8200.0	jinjin	jinjin	0910810004	2	2005-06-06 00:00:00.000	1	0	0
zhao888	赵爱云	1972-02-12	男	湖南株洲	5500.0	zhao888	zhao888	0240810333	2	2005-06-06 00:00:00.000	1	1	0


--全外连接;
全外连接是左联接和右连接的结合,返回左表和右表中所有的行;如果行在另一个表中没有匹配,另一个表中的select子语句
的列显示的为null,反之,结果中的整个行包含两个表的数据值

select * from members a
full join orders b on a.M_account=b.M_account


查询结果:

liuzc518	刘志成	1972-05-18	男	湖南株洲	3500.0	liuzc518	NULL	NULL	NULL	NULL	NULL	NULL	NULL
zhao888	赵爱云	1972-02-12	男	湖南株洲	5500.0	zhao888	zhao888	0240810333	2	2005-06-06 00:00:00.000	1	1	0
wangym	王咏梅	1974-08-06	女	湖南长沙	4000.0	wangym0806	wangym	0910810001	1	2005-08-09 00:00:00.000	1	0	0
jinjin	津津有味	1982-04-14	女	北京市	8200.0	jinjin	jinjin	0910810004	1	2005-08-09 00:00:00.000	1	1	1
jinjin	津津有味	1982-04-14	女	北京市	8200.0	jinjin	jinjin	0910810004	2	2005-06-06 00:00:00.000	1	0	0
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810001	1	2005-08-09 00:00:00.000	0	0	0
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810004	2	2005-08-09 00:00:00.000	1	1	1
lfz	刘法治	1976-08-26	男	天津市	4500.0	lfz0826	lfz	0910810004	2	2005-06-06 00:00:00.000	1	1	1
zhangzl	张自梁	1975-04-20	男	湖南株洲	4300.0	zhangzl	NULL	NULL	NULL	NULL	NULL	NULL	NULL
NULL	NULL	NULL	NULL	NULL	NULL	NULL	liuzc	0140810324	1	2005-10-09 00:00:00.000	0	0	0
NULL	NULL	NULL	NULL	NULL	NULL	NULL	liuzc	0910810004	2	2005-10-09 00:00:00.000	1	1	0
NULL	NULL	NULL	NULL	NULL	NULL	NULL	liuzc	0910810001	1	2005-10-09 00:00:00.000	1	1	0


 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值