数据查询

数据查询

在这里插入图片描述

select distinct cno from sc     //distinct只能出现一次

where子句常用的查询条件

在这里插入图片描述
1.通配符
% 表示任意长度 a%b 如abc,adjfhjb
_表示任意单个字符 a_b 如abb,acb
escape‘<换码字符>’
2.like, not like 等关键字进行字符串匹配
3.多重条件查询:AND优先级高于OR,可以用括号改变优先级
4.例1:在这里插入图片描述
例2:在这里插入图片描述
例3:
在这里插入图片描述
例4:

在这里插入图片描述
例5:查询每门课的间接先修课(即先修课的先修课)

select FIRST.Cno,SECOND.Cpno
    from Course FIRST,Course SECOND
    WHERE FIRST.Cpno=SECOND.Cno;

例6:查询选修2号课程且成绩在90分以上的所有学生

select Student.Sno,Sname 
from Student,SC 
whereStudent.Sno=SC.Sno 
AND SC.Cno='2'AND SC.Grade>90;

例7:

select Sname from Student where Sno in
(select Sno from sc where Cno='2')

例8:找到每个学生超出他选修课程平均成绩的课程号

select sno,cno from SC x 
WHERE Grade>=
(SELECT AVE(Grade)FROM SC Y)
from SC y where y.Sno=x.Sno)

例9:查询所有选修了1号课程的学生姓名

select Sname FROM Student
WHERE EXISTS (SELECT * from SC 
where Sno=Student.Sno AND Cno='1')

5.集合查询–union
查询选修了课程1或者选修了课程2的学生

select Sno from SC where Cno='1'
union select Sno from SC where Cno='2'

6.集合查询–intersect
查询计算机科学系的学生与年龄不大于19岁的学生的交集

select * from Student where Stept='CS'
intersect select * from student where Sage<=19

7.集合查询–minus
查询计算机学院的学生与年龄不大于19岁的学生的差集

select * from student where stept='CS'
minus select * from student where sage<=19
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值