先导篇一:数据库的数据库的建立、增、删、改、查_做自己的靠山的博客-CSDN博客
目录
一、单表查询
(1)题目要求
1、查询全体学生的详细记录。
2、查询全体学生的姓名(Sname)、学号(Sno)、所在系(Sdept)。
3、查询选修了课程的学生学号。
4、查询数学系全体学生的学号(Sno)和姓名 (Sname)。
5、查询所有年龄在19~22岁(包括19岁和22岁)之间的学生姓名(Sname)及年龄(Sage)。
6、查询年龄不在19-22岁之间的学生姓名(Sname)及年龄(Sage)。
7、查询自动化系和计算机系学生的学号(Sno)、姓名(Sname)和性别(Ssex)。
(2)代码展示
select *
from Students
select Sname,Sno,Sdept
from Students
select distinct sno
from Reports
select Sno,Sname
from Students
where Sdept='数学'
select Sname,Sage
from Students
where Sage between 19 and 22
select Sname,Sage
from Students
where Sage >22 or Sage<19
select Sno,Sname,Ssex
from Students
where Sdept='计算机' or Sdept = '自动化'
(3)运行结果
二、模糊查找
(1)题目要求
1、查询所有姓刘的学生的姓名(Sname)、学号(Sno)和性别(Ssex)。
2、查询课程名为“DB_设计”的课程号(Cno)和学分(Credits)。
3、查询以"DB_"开头,且倒数第2个汉字字符为“设”的课程的详细情况。
(2)代码展示
select Sno,Sname,Ssex
from Students
where Sname like '刘%'
select Cno,Credit
from Course
where Cname like 'DB\_%' escape'\'
select *
from Course
where Cname like 'DB\_%设_'escape'\'
(3)运行结果
三、特殊值查找
(1)题目要求
假设某些学生选修课程后没有参加考试,所以有选课记录,但没有考试成绩。试查询缺少成绩的学生的学号(Sno)和相应的课程号(Cno)。
(2)代码展示
select Sno,Cno
from Reports
where Grade is null
(3)运行结果
四、带有聚集函数的查找
(1)题目要求
查找结果排序
查询全体学生情况,查询结果按所在系的系名(Sdpet)升序排列,同一系中的学生按年龄(Sage)降序排列。
1、求学生的总人数
2、求选修了课程的学生人数
3、求课程和选修了该课程的学生人数
4、求选修超过2门课的学生学号
(2)代码展示
select *
from Students
order by Sdept asc ,Sage desc
select COUNT(*) as '学生人数'
from Students
select COUNT(distinct sno) as '选课的人数'
from Reports
select Cno, '课程人数'=COUNT(Cno)
from Reports
group by Cno
select Sno, COUNT(Sno) as '选课门数'
from Reports
group by Sno
having COUNT(Sno)>2
(3)运行结果
五、集合查找
(1)题目要求
1、查询计算机科学系的学生与年龄不大于19岁的学生的交集
2、查询计算机科学系的学生与年龄不大于19岁的学生的并集
3、查询计算机科学系的学生与年龄不大于19岁的学生的差集
4、查询选修课程‘C01’的学生集合与选修课程‘C02’的学生集合的交集
5、查询选修课程‘C01’的学生集合与选修课程‘C02’的学生集合的并集
6、查询选修课程‘C01’的学生集合与选修课程‘C02’的学生集合的差集
(2)代码展示
select *
from Students
where Sdept='计算机'
intersect
select *
from Students
where Sage<19
select *
from Students
where Sdept='计算机'
union
select *
from Students
where Sage<19
select *
from Students
where Sdept='计算机'
except
select *
from Students
where Sage<19
select Students.Sno
from Students join Reports
on Students.Sno=Reports.Sno
where Cno='C01'
intersect
select Students.Sno
from Students join Reports
on Students.Sno=Reports.Sno
where Cno='C02'
select Students.Sno,Sname,Ssex,Sage,Cno,Sdept
from Students join Reports
on Students.Sno=Reports.Sno
where Cno='C01'
union
select Students.Sno,Sname,Ssex,Sage,Cno,Sdept
from Students join Reports
on Students.Sno=Reports.Sno
where Cno='C02'
select Students.Sno,Sname,Ssex,Sage,Cno,Sdept
from Students join Reports
on Students.Sno=Reports.Sno
where Cno='C01'
except
select Students.Sno,Sname,Ssex,Sage,Cno,Sdept
from Students join Reports
on Students.Sno=Reports.Sno
where Cno='C02'
(3)运行结果