SQL提速,三步就到位:第三步

前言:

经过两步的SQL语句学习,相信大家已经打牢了SQL基础知识体系的认知,这一期我们继续深入SQL,学习系统,学习全面才能学得好,学的优!当然也需要经常刷题,这样子才能熟练以及提升!

回顾与思考:

在S-C数据库中用SQL实现以下查询:

查询选修DB(数据库)课程的学生名单

连接查询

连接查询:同时涉及两个以上的表的查询

连接条件或连接谓词:用来连接两个表的条件

连接字段:连接谓词中的列名称

连接条件中的各连接字段类型必须是可比的,但名字不一定相同

1.等值与非等值查询

等值查询:连接运算符为=

非等值连接:使用其他运算符

查询每个学生及其选修课程的情况

SELECT Student.*,SC.*

FROM Student,SC

WHERE Student.Sno=SC.sno

一、等值连接

查询选修了DB课程的学生名单

SELECT S.Sno,Sname

FROM S,C,SC

WHERE

C.Cno=SC.Cno AND

S.Cno=SC.Sno AND

C.Cname='数据库'

自然连接:一种特殊的等值链接

一条SQL语句可以同时完成选择和连接查询,这时WHERE子句是由连接谓词和选择谓词组成的复合条件。

查询选修2号课程且成绩在90分以上的所有学生的学号和姓名

SELECT Student.Sno,Sname

FROM Student,SC

WHERE Student.Sno=SC.Sno AND

SC.Cno='2'AND SC.Grade>90

执行过程:

先从SC中挑选出Cno='2'并且Grade>90的元组形成一个中间的关系

再和Student中满足连接条件的元组进行连接得到最终的结果关系

二.自身连接

三、外连接

悬浮元组:两个关系在做自然连接时被舍弃的元组称为悬浮元组

外连接:如果把悬浮元组也保存在自然连接的结果关系中,而在其他属性上填空值,那么这种连接就叫做外连接

看完这个图,我们对外连接就能有一定的理解了

案例

四、多表连接

嵌套查询

带有IN谓词的子查询

比较运算符的子查询

带有ANY(SOME)或ALL谓词的子查询

带有EXISTS 谓词

不同形式的查询间的替换

集合查询

基于派生表的查询

SQL语句我们就学到这里啦,相信你一定有所收获。当然,想要熟练SQL还是要刷题的哦,有两个比较好的平台 leetcode和洛谷,希望大家能有所进步!制作不易,点赞关注给主包无穷无尽的动力!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值