当前位置:数据库 > SQLServer >>

sql左,右和内,外接连详解

student表
NO Name
1 a
2 b
3 c
4 d

grade表
NO Grade
1 90
2 98
3 95
5 90

内连接:查找条件中对应的数据,no4没有数据不列出来
语法:select * from student inner join grade on student.no = grade.no
结果:
NO Name NO Grade
1 a 1 90
2 B 2 98
3 c 3 95

左连接:左表中所有数据,右表中对应数据
语法:select * from student left join grade on student.no = grade.no
结果:
NO Name NO Grade
1 a 1 90
2 B 2 98
3 c 3 95
4 D

右连接:右表中所有数据,左表中对应数据
语法:select * from student right join grade on student.no = grade.no
结果:
NO Name NO Grade
1 a 1 90
2 B 2 98
3 c 3 95
5 90


全连接
语法:select * from student full join grade on student.no = grade.no
结果:
no name grade
1 a 90
2 b 98
3 c 95
4 d
1 a 90
2 b 98
3 c 95

注:access 中不能直接使用full join ,需要使用union all 将左连接和右连接合并后才可以

补充:数据库,Mssql 
Oracle
MySQL
Access
SQLServer
DB2
Excel
SQLite
SYBASE
Postgres
如果你遇到数据库难题:
请访问www.zzzyk.com 试试
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,