SQLServer数据库之连接查询SQLServer数据库之连接查询
表的连接查询的⼏种⽅法介绍:
inner join on内连接,left join on 左连接, rigth join on 右连接, full join on 全连接
内连接(inner join)
内连接为查询两表的共有的数据,取两表的交集
语法:
select [查询内容] from [表1] inner join [表2] on [连接条件]
例如:查询学⽣所在的班级
select s.name as 姓名,c.name as 班级 from student s inner join class c on s.classId=c.id
--等价与
select s.name as 姓名 ,c.name as 班级 from student s, class c where s.classId=c.id  --必须加上条件,不然会出⼤问题
--也可以把inner省掉效果⼀样默认为Inner join 连接
左连接(left join)
左连接以查询主表全部数据,如果从表没有响应数据则以null作为填充
(主表为查询表,从表为连接的表)
语法:
select [查询内容] from [表1] left join [表2] on [连接条件]
例如
select s.name as 姓名,c.name as 班级 from student s
left join class c on s.classId=c.id
如图:⼩思和⼩林像个班级的孩⼦
右连接(right join)
从表查询全部数据,如果主表没有数据则以null填充
(主表为查询表,从表为连接的表)
语法:
select [查询内容] from [表1] right join [表2] on [连接条件]
例如
select s.name as 姓名,c.name as 班级 from student s
right join class c on s.classId=c.id
如图:⼤三和⼤四没有学员
全连接(full join)
主从表全部数据,如果主从表没有对应数据则以null填充(主表为查询表,从表为连接的表)
语法:
select [查询内容] from [表1] full join [表2] on [连接条件]
例如
select s.name as 姓名,c.name as 班级 from student s
full join class c on s.classId=c.id
如图:
总结:
join on是什么连接在项⽬中为了适应不同的需求选择合适的连接⽅式

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。