一. 实验目的
1.观察查询结果, 体会 SELECT 语句实际应用;
2.要求学生能够使用 SELECT 语句进行数据库查询。
3. 熟练掌握各种查询的操作方法。
二. 实验准备
1. 完成实验一所要求的 stsc 数据库,成功建立了基本表,并录入相应数据。
2. 了解 SELECT 语句的用法。
3. 熟悉查询分析器中的 SQL 脚本运行环境。
三. 实验要求
完成实验内容中的查询操作,并查看运行结果提交实验报告。
四. 实验内容
1. 查询选修了 X 号课程的学生学号和成绩,并要求对查询结果按成绩的降序排列, 如果成绩相同则按学号的升序排列;
2. 查询选修了 X 号课程且成绩在 80-90 之间(包括 80 和 90)的学生学号和成绩;
3. 查询计算机学院和数学学院的姓张的学生的信息;
4. 查询缺少了成绩的学生的学号和课程号。
5. 查询每个学生的情况以及他(她)所选修的课程;
6. 查询选修了“数据库”课程的学生的学号,姓名,成绩;
7. 查询学生学号为 X 所选修课程的总学分;
8. 查询每门课程号和选修该课程的人数;
9. 查询选修课程超过 X 门课的学生学号。
一
USE stsc
SELECT a.stno, b.grade
FROM Student a, Score b, Course c
WHERE c.cno = '801' AND a.stno = b.stno AND b.cno = c.cno
ORDER BY b.grade DESC, a.stno
二
USE stsc
SELECT a.stno, b.grade
FROM Student a, Score b, Course c
WHERE c.cno = '801' AND a.stno = b.stno AND b.cno = c.cno AND b.grade >= 80 AND b.grade <= 90
三
USE stsc
SELECT *
FROM Student
WHERE stname LIKE '张%' AND speciality = '计算机' OR speciality = '数学'
四
USE stsc
SELECT a.*, c.
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno AND b.grade IS NULL
五
USE stsc
SELECT a.*, c.cname
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno
六
USE stsc
SELECT a.stno, a.stname, b.grade
FROM Student a, Score b
WHERE a.stno = b.stno AND b.cno = '203'
七
USE stsc
SELECT a.stno, SUM(b.grade) AS '总成绩'
FROM Student a, Score b, Course c
WHERE a.stno = '121001' AND a.stno = b.stno AND b.cno = c.cno
GROUP BY a.stno
八
USE stsc
SELECT c.cno, COUNT(*) AS '总人数'
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno
GROUP BY c.cno
九
USE stsc
SELECT a.stno
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno
GROUP BY a.stno
HAVING COUNT(*) >= 2