一、实验目的:
1、 了解 SQL 语言的特点和基本概念。
2、 能够针对某种具体的 DBMS(本实验采用 Access2016),熟练
地运用单表查询、连接查询、嵌套查询、集合查询等各种 SQL 查询语句
对数据库中的表进行操作。
3、 对相同的查询要求,能够采用多种查询方法实现,并能分析各
种方法的优劣, 从中选择合适的方法。
二、实验过程:
实验一:Print the names of professors who work in departments that have fewer than 50 PhD students.
解:(1)分析:本题是查询在博士生人数少于 50 个人的系工作的教师名字。查询教授名字可以通
过 prof 表,而所查询的教授名字是有限制条件的,
他所工作的系名要属于特定的集合(所有系名的一个子集),显然这个子集可以通过查询 dept
表获得,所以带有谓词 in 的嵌套子查询可以实现题目要求。
(2)语句实现:
SELECT pname FROM Prof
WHERE dname IN (SELECT dname FROM Dept WHERE numphds < 50);
(3)查询结果:
实验二:Print the name(s) of student(s) with the lowest gpa
解:(1)分析:本题是查询成绩点最低的学生的名字。最低的成绩点可以在 student 表中通过函数
min(gpa)获得,而所查询学生的名字的限制为成绩点等于 min(gpa), 因此可用如下嵌套子查询实现。
(2)语句实现:SELECT sname FROM student
评论0