SQL查询表的内联结

                                          SQL多表查询之表的内联结

        数据库中我们常用的查询方法是联表查询,这种查询方法可以实现一次查询出多张表的数据,只要把主表的数据查询出来,副表的数据就一起显示出来了,是不是很方便呢。不过前提是,要先把表联结起来,表与表之间是通过关系列关联起来的。有关系好办事,生活中是这样,数据库也是如此,都要靠关键节点。

        当表有了关系之后,就可以把不同的表联结起来了,常见的联表方式有以下几种:交叉联结、内连接、做链接、右联结、全联结,实际上用得最多的是内联结和左联结。

 

内联结(inner join)

 

        作用是选取出同时存在于两张表中的数据,选取后按照交叉联结的方式合并展示出来。比如说,我现在有两张表,学生信息表与学生成绩表,想要查询出某个学生的信息和成绩,该如何用内联结进行查询?

 

执行的语句:

select 学生信息表.学号,学生信息表.姓名,学生成绩表.学号,学生成绩表.课程,学生成绩表.成绩 --选择要拼接的列,为了方便区别这个列是哪张表的,需在列名前边加表名

from 学生信息表 inner join 学生成绩表 --选择拼接的表

扫描二维码关注公众号,回复: 11101407 查看本文章

on 学生信息表.学号 = 学生成绩表.学号; --选择以哪个列作为拼接条件

 

上面两张表的名称太长,不管在书写还是在阅读上都不方便,那么就给它们起一个临时名称,以方便书写,这里可以用关键字as来实现,写法如下:

select a.学号,a.姓名,b.学号,b.课程,b.成绩 --选择要拼接的列,为了方便区别这个列是哪张表的,需在列名前边加表名

from 学生信息表 as a inner join 学生成绩表 --选择拼接的表

on 学生信息表.学号 = 学生成绩表.学号; --选择以哪个列作为拼接条件

运行的结果:

说明:内联结的SQL 语句运行顺序如下:
- 将两个表里面【学号】相同的列的数据都取出来。
- 将两个表里面取出的数据合并,使用交叉联结的方式合并。
- 将一个表中的所有行与另一个表中所有合并在一起。

发布了33 篇原创文章 · 获赞 26 · 访问量 3501

猜你喜欢

转载自blog.csdn.net/weixin_44549312/article/details/96327806