SQL SERVER 多表操作 内连接、外连接

MSSQL 数据库查询连接分为 自然连接、内连接、外连接

1、自然连接和内连接基本相同。不同之处在于,自然连接“=”两侧的列属性值必须相同,内连接可以不同,只要读取数据相同即可。

自然连接 eg. select worker.职工号,depart.部门 from worker,depart where worker.部门编号 = depart.部门编号

2、内连接.一般使用INNER JOIN 关键字来表示内连接,INNER不是必须的可以不写。除了JOIN 关键字,还必须使用ON 或者using关键字

内连接查询操作列出和与链接条件相匹配的数据行,它使用比较运算符比较连接两边的列值。

eg. select worker.职工号,depart.部门 from worker JOIN depart ON worker.部门编号 = depart.部门号 (可以列名称不同,只是比较值

3、外连接.又分为左连接、右连接、完全连接

左连接.LEFT OUTER JOIN···ON  左侧的为主表,右侧为从表。以主表的每行数据区匹配从表的每行数据,如果能找到行,则返回匹配结果,没有找到的行,主表直接返回数据,从表以NULL填充

右连接.RIGHT OUTER JOIN  ON .和左查询类似。

eg.

A表(a1,b1,c1) B表(a2,b2)
a1  b1   c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四

03 英语 80 04 王五

select A.*,B.* from A
left outer join B on(A.a1=B.a2)
结果是:
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四
03 英语 80 NULL NULL

select A.*,B.* from A
right outer join B on(A.a1=B.a2)
结果是:
a1 b1 c1 a2 b2
01 数学 95 01 张三
02 语文 90 02 李四
NULL NULL NULL 04 王五

转载于:https://www.cnblogs.com/brave-cz/p/4002829.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值