sql中游标的作用

sql中游标的作用图解SQL联结:左联结今天我们用下面的表来学习左联结。其中,学生表(student):用来记录学生的基本信息成绩表(score):用来记录学生选修课程的成绩1.什么是左联结?左联结,会将左侧表中的数据全部取出来。下面图片中用文氏图画出了左联结,是红颜

图解SQL联结:左联结   今天我们用下面的表来学习左联结。其中,学生表(student):用来记录学生的基本信息成绩表(score):用来记录学生选修课程的成绩
sql中游标的作用
sql中游标的作用   1.什么是左联结?   左联结,会将左侧表中的数据全部取出来。下面图片中用文氏图画出了左联结,是红颜色的部分。
sql中游标的作用
sql中游标的作用   2.左联结是如何运行的?   下图是左联结的运行过程:
sql中游标的作用
sql中游标的作用   第1步,取出符合条件的行   两个表通过学号进行左联结,会将左侧的表作为主表,主表中的数据全部取出来,也就是将学生表里的数据全部取出来。   右边的表只选出和左边表相同学号的行,也就是学号0001所在的两行数据。   第2步,将两个表里取出的数据合并,如何合并呢?   这里就是进行交叉联结了。因为学号0002在右边的表里没有对应的行,所以这一行对应列的值是空值(Null)   3.左联结sql语句怎么写?   在图片里我加上了左联结对应的sql语句:
sql中游标的作用
sql中游标的作用   我们来看这个sql语句的3个关键地方:第1个关键地方是在from子句   之前的from子句中只有1张表,而现在我们在from子句中同时使用了2张表。   由于表名太长,会影响sql的可读性,所以这里使用as对每个表起了别名,方便使用。在sql语句中我们给学生表起了别名叫做a,给成绩表起了别名叫做b。   在使用到列名的时候,为了方便区分这个列是哪个表的,所以会在列名前面加上表名.,所以你会看到在selec子句里的列名前面都加了表名。   因为这里select子句只查找出学号,姓名,课程号,所以最终查询结果是虚框里面的列。第2个关键地方是from子句中用left join将两个表联结起来。   这里的left join就表示联结方式是左联结,选取出同时存在于两张表中的数据。第3个关键地方是from子句中的关键字on后面的表示两个表通过哪个列匹配产生关系的,这里写的on a.学号=b.学号,表示两个表通过学号关联起来。   4.左联结变种   在左联结的基础上,我们再看一个问题,图片中红色部分的地方如何用sql表示呢?   
sql中游标的作用
sql中游标的作用   这是在左联结的基础上去掉了,两个表中共同的地方,也就是去掉了两个圆圈的公共部分。   我们在刚才左联结的sql语句中,加入一个where子句 里面的条件是右边表的学号为空值。这样就选出了左边表,但是不属于两个表公共部分的数据,也就是图片中圆圈红色的部分:
sql中游标的作用
sql中游标的作用   你开将前面学过的联结在草稿纸上画出来,亲自理解下整个过程
sql中游标的作用
sql中游标的作用

2024最新激活全家桶教程,稳定运行到2099年,请移步至置顶文章:https://sigusoft.com/99576.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。 文章由激活谷谷主-小谷整理,转载请注明出处:https://sigusoft.com/81890.html

(0)
上一篇 2024年 7月 29日 上午9:42
下一篇 2024年 7月 29日

相关推荐

关注微信