sql查询练习题

发布 2021-05-09 05:49:28 阅读 5267

单表查询:

1、查询《学生信息表》,查询学生"张三"的全部基本信息2、查询《学生信息表》,查询学生"张三"和”李四”的基本信息3、查询《学生信息表》,查询姓"张"学生的基本信息。

4、查询《学生信息表》,查询姓名中含有"四"字的学生的基本信息。

5、查询《学生信息表》,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。

6、查询《学生信息表》,查询姓"张"或者姓”李”的学生的基本信息。7、查询《学生信息表》,查询姓"张"并且"所属省份"是"北京"的学生信息8、查询《学生信息表》,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息。

9、查询《学生信息表》,查询姓"张",但是"所属省份"不是"北京"的学生信息select *

10、查询《学生信息表》,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序11、查询《学生信息表》,查询现有学生都来自于哪些不同的省份。

12、查询《学生选修信息表》,查询没有填写成绩的学生的学号、课程号和成绩13、查询《学生选修信息表》,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序聚合查询。

1、统计《学生信息表》,统计共有多少个学生。

2、统计《学生信息表》,统计年龄大于20岁的学生有多少个。

3、统计《学生信息表》,统计入学时间在2023年至2023年的学生人数4、统计《学生选修信息表》,统计学号为"s001"的学生的平均成绩5、统计《学生选修信息表》,统计学号为"s001"的学生的总成绩6、统计《学生选修信息表》,查询课程号为”c001”的课程的最高成绩7、统计《学生信息表》,查询所有学生中的最大年龄是多少。

分组查询练习。

1、统计《学生选修信息表》,统计每个课程的选修人数2、统计《学生选修信息表》,统计每个同学的总成绩。

3、统计《学生信息表》,统计每个班级中每种性别的学生人数,并按照班级排序4、统计《学生选修信息表》,统计每门课程的平均成绩,并按照成绩降序排序5、统计《学生选修信息表》,显示有两门以上课程不及格的学生的学号。

6、统计《学生信息表》,统计每个班级中的最大年龄是多少。

嵌套查询练习。

1、用子查询实现,查询选修“高等数学”课的全部学生的总成绩。

2、用子查询实现,统计《学生选修信息表》,显示学号为"s001"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩。

3、用子查询实现,查询2班选修"数据库技术"课的所有学生的成绩之和4、用子查询实现,查询3班"张三"同学的"测试管理"成绩。

一、单表查询练习select *

from a_studentinfowhere sname='张三'

2、查询《学生信息表》,查询学生"张三"和”李四”的基本信息select *

from a_studentinfowhere sname='张三'or sname='李四'

3、查询《学生信息表》,查询姓"张"学生的基本信息select *

from a_studentinfowhere sname like '张%'

4、查询《学生信息表》,查询姓名中含有"四"字的学生的基本信息select *

from a_studentinfowhere sname like '%四%'

5、查询《学生信息表》,查询姓名长度为三个字,姓“李”,且最后一个字是“强”的全部学生信息。select *

1、查询《学生信息表》,查询学生"张三"的全部基本信息。

from a_studentinfowhere sname like '李_强'

6、查询《学生信息表》,查询姓"张"或者姓”李”的学生的基本信息。select *

from a_studentinfowhere sname like '张%'or sname like '李%'

7、查询《学生信息表》,查询姓"张"并且"所属省份"是"北京"的学生信息select *

from a_studentinfowhere sname like '张%'and province='北京'

8、查询《学生信息表》,查询"所属省份"是"北京"、”新疆”、”山东”或者"上海"的学生的信息select *

from a_studentinfo

where province in ('北京','上海','新疆','山东')

9、查询《学生信息表》,查询姓"张",但是"所属省份"不是"北京"的学生信息select *

from a_studentinfowhere sname like '张%'and province !=北京'

10、查询《学生信息表》,查询全部学生信息,并按照“性别”排序,性别相同的情况下按照“所属省份”排序,所属省份相同的情况下再按照“班级”排序select *

from a_studentinfoorder by sex,province,class

11、查询《学生信息表》,查询现有学生都来自于哪些不同的省份select distinct province as省份。

from a_studentinfo

12、查询《学生选修信息表》,查询没有填写成绩的学生的学号、课程号和成绩select *

from a_studentcoursewhere score is null

13、查询《学生选修信息表》,查询全部填写了成绩的学生的选修信息,并按照“成绩”从高到低进行排序select *

from a_studentcoursewhere score is not nullorder by score desc

二、聚合查询。

1、统计《学生信息表》,统计共有多少个学生select count (*as学生数量from a_studentinfo

2、统计《学生信息表》,统计年龄大于20岁的学生有多少个select count(*)as学生数量from a_studentinfowhere (2008-yearofbirth)>20

3、统计《学生信息表》,统计入学时间在2023年至2023年的学生人数select count(*)as学生数量from a_studentinfo

where enrollment between '1998-01-01' and '2003-12-30'

对比以下查询方式,看看有何不同,为什么?select count(*)as学生数量。

from a_studentinfo

where enrollment between '1998' and '2003'

4、统计《学生选修信息表》,统计学号为"s001"的学生的平均成绩select**g(score)as平均成绩from a_studentcoursewhere sno='s001'

5、统计《学生选修信息表》,统计学号为"s001"的学生的总成绩selectsum(score)as总成绩from a_studentcoursewhere sno ='s001'

6、统计《学生选修信息表》,查询课程号为”c001”的课程的最高成绩select max(score)as最高成绩from a_studentcoursewhere cno='c001'

7、统计《学生信息表》,查询所有学生中的最大年龄是多少select2008-min(yearofbirth) as最大年龄froma_studentinfo

三、分组查询练习。

1、统计《学生选修信息表》,统计每个课程的选修人数select cno,count(*)as学生数量from a_studentcoursegroup by cno

2、统计《学生选修信息表》,统计每个同学的总成绩select sno,sum(score) as总成绩from a_studentcourse

group by sno

3、统计《学生信息表》,统计每个班级中每种性别的学生人数,并按照班级排序select class as班级,sex as性别, count(*)as人数from a_studentinfogroup by class,sexorder by class

4、统计《学生选修信息表》,统计每门课程的平均成绩,并按照成绩降序排序select cno,**g(score) as平均成绩from a_studentcoursegroup by cno

order by **g(score) desc

5、统计《学生选修信息表》,显示有两门以上课程不及格的学生的学号selectsno as不及格学生学号from a_studentcoursewhere score<60group by snoh**ing count(*)1

6、统计《学生信息表》,统计每个班级中的最大年龄是多少select class as班级, 2008-min(yearofbirth) as最大年龄from a_studentinfogroup by class

四、嵌套查询练习。

1、用子查询实现,查询选修“高等数学”课的全部学生的总成绩。

select sum(考试成绩) as高等数学总成绩。

from选课where课号=(

select课号from课程。

where名称='高等数学')

2、用子查询实现,统计《学生选修信息表》,显示学号为"s001"的学生在其各科成绩中,最高分成绩所对应的课程号和成绩。

select课号,成绩from选课where学号='s001'and考试成绩=(

select max(考试成绩)from选课where学号='s001')

3、用子查询实现,查询2班选修"数据库技术"课的所有学生的成绩之和selectsum(score) as数据库技术总成绩。

from a_studentcoursewhere cno =(

select cnofrom a_courseinfo

where subject='数据库技术')and sno in(

select snofrom a_studentinfowhere class='2')

4、用子查询实现,查询3班"张三"同学的"测试管理"成绩select score

from a_studentcoursewhere cno=(

select cnofrom a_courseinfowhere subject='测试管理')and sno in(

select snofrom a_studentinfowhere class='3'and sname='张三')

sql查询练习题

商信息表 supplier 商标号 supplierid intpk 商名称 suppliername varchar 20 联系 suppliertel varchar 10 通信地址 address varchar 50 邮政编码 postcorder varchar 20 所在城市 city ...

sql查询练习题

上图为企业订单管理系统的e r图,提供对职工信息 客户信息 商信息 产品信息 订单信息 订单明细进行管理。描述为主键,描述为外键,外键约束通过图下箭头线进行标注。其中职员信息表中的sex取值为m或f,表示为男和女。在创建的表中添加数据,在下面的查询中用到的数据,自己准备。1 查找员工的编号 姓名 部...

高级sql查询练习题

1 查询 01 课程比 02 课程成绩高的学生的信息及课程分数。2 查询 01 课程比 02 课程成绩低的学生的信息及课程分数。3 查询平均成绩大于等于60分的同学的学生编号和学生姓名和平均成绩。4 查询平均成绩小于60分的同学的学生编号和学生姓名和平均成绩。5 查询所有同学的学生编号 学生姓名 选...