微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐