数据库笔记5

#求每个班级中大于等于30岁的各年龄段对应的人数

#且只输出符合条件人数大于等于3个的班级号,年龄和人数

select classid,2021-year(birth1) as age,count(*)

from student

WHERE 2021-year(birth1)>=30

group by classid,age

having count(*)>=3

where ---行筛选

1.条件符

从grade表中查询成绩大于等于60小于等于80的详细成绩信息

select *

from grade

where grade BETWEEN 60 and 80;

从grade表中查询成绩大于60小于80的详细成绩信息

select *

from grade

where grade>60 and grade<80;

从grade表中查询成绩小于等于60或者大于等于80的详细成绩信息

select *

from grade

where grade<=60 or grade>=80

查找Cs010901班和Cs010902班的女同学

select *

from student

where (classid ="Cs010901" or classid ="Cs010902") and sex="女"

select *

from student

where classid in("Cs010901" ,"Cs010902") and sex="女"

查找不是Cs010901班和Cs010902班的同学

select *

from student

where classid not in ("Cs010901" ,"Cs010902")

2.模糊查询

输出姓王的同学的相关信息

select *

from student

where studentname like "王%" # = 是精准查询

#查找参考书中以“数据库技术与应用_”开头的课程相关信息

select *

from course

where bookname like "数据库技术与应用\_%"

3.

#查找”Dp010001“号课程前三名的成绩信息

#查找”Dp010001“号课程的所有成绩信息查找出来

select *

from grade

where courseid="Dp010001"

order by grade desc

limit 0,3

#排序

order by 列名 [asc|desc]

#截取

limit m,n m->从第几行开始截取 n->一共截取多少行

执行SQL语句,查询grade表中所有记录,

先按照课程号进行升序排序,

每个课程内部按照分数进行降序排序

select *

from grade

order by courseid asc,grade desc

多表:

查询每条成绩对应的学号,学生姓名,课程号,成绩

select student.studentid,studentname,courseid,grade

from student,grade

where student.studentid=grade.studentid

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值