第三章(SQL查询)作业参考答案(P71
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第三章(SQL查询)作业参考答案:(P71,P72)
2.设有学生选取修课程数据库:
S(S#, SNAME, AGE, SEX, DEPARTMENT, ADDRESS, BIRTHPLACE)SC(S#, C#, GRADE)
C(C#, CNAME, TEACHER)
(1)李老师所教的课程号、课程名称;
SELECT C#, CNAME;
FROM C;
WHERE TEACHER=”李”
(2)年龄大于23岁的女学生的学号和姓名;
SELECT S#, SNAME;
FROM S;
WHERE AGE>23 AND SEX=”女”
(3)“李小波”所选修的全部课程名称;
SELECT CNAME;
FROM S, SC;
WHERE S.S#=SC.S# AND SNAME=’李小波’
(4)所有成绩都在80分以上的学生姓名及所在系;
SELECT SNAME, DEPARTMENT;
FROM S, SC;
WHERE S.S#=SC.S# AND SC.S# ;
not in ( SELECT S#;
FROM SC;
WHERE GRADE<80 )
(5)没有选修“操作系统”课的学生的姓名;
SELECT SNAME ;
FROM S ;
WHERE S# NOT IN
(SELECT S# ;
FROM SC, C ;
WHERE SC.C#=C.C# AND CNAME=’操作系统’ ) (6)与“李小波”同乡的男生姓名及所在系;
SELECT SNAME, DEPARTMENT ;
FROM S ;
WHERE SEX=’男’AND BIRTHPLACE= ;
(SELECT BIRTHPLACE ;
FROM S ;
WHERE SNAME=’李小波’)
或:
SELECT X. SNAME, X. DEPARTMENT ;
FROM S X , S Y ;
WHERE X. SEX=’男’AND ;
X. BIRTHPLACE=Y. BIRTHPLACE ;
AND Y. SNAME=’李小波’)
(7)英语成绩比数学成绩好的学生;
SELECT * ;
FROM S ;
WHERE S# IN ;
(SELECT S# ;
FROM SC X , SC Y ;
WHERE X . S#=Y . S# AND ;
X . GRADE>Y . GRADE ;
AND X . C# = (SELECT C# ;
FROM SC ;
WHERE CNAME=’英语’) ;
AND Y . C# = (SELECT C# ;
FROM SC ;
WHERE CNAME=’数学’) ;
)
(8)选修同一门课程时,女生比男生成绩好的学生名单;
SELECT X1.SNAME;
FROM S X1, SC Y1;
WHERE X1.S#=Y1.S# AND;
X1.SEX=”女” AND;
Y1.GREAD>ALL;
(SELECT Y2.GREAD;
FROM S X2, SC Y2;
WHERE X2.S#=Y2.S# AND;
X2.SEX=”男” AND;
Y2.C#=Y1.C# )
(9)至少选修两门以上课程的学生姓名、性别;
SELECT SNAME, SEX;
FROM S, SC ;
WHERE S.S#=SC.S# ;
GROUP BY SC.S# ;
HA VING COUNT(*)>=2
(10)选修了李老师所讲课程的学生人数;
SELECT COUNT(*) AS 选修李老师课的人数;
FROM S ;
WHERE S# IN ;
(SELECT DIST S# ;
FROM S, SC ;
WHERE S.C#=SC.C# AND;
TEACHER=”李”)
(11)没有选修李老师所讲课程的学生;
SELECT SNAME AS 未选修李老师课的学生;
FROM S ;
WHERE S# NOT IN ;
(SELECT DIST S# ;
FROM S, SC ;
WHERE S.C#=SC.C# AND;
TEACHER=”李”)
(12)“操作系统”课程得最高分的学生姓名、性别、所在系;
SELECT SNAME, SEX, DEAPARTMENT ;
FROM S, SC, C;
WHERE S.S#=SC.S# AND C.C#=SC.C# ;
AND CNAME=”操作系统”;
AND GREAD= ;
(SELECT MAX(GREAD) ;
FROM SC,C;
WHERE SC.C#=C.C# ;
AND CNAME=”操作系统” )
3.在第二章的定货数据库中,用SQL语言查询下列问题:定货数据库中的两个关系:
定单(定单号,货号,定货单位,售价,定购量,送货地点)商品(货号,品名,库存量,仓库地点,进价)
(1)阳光公司所定货物的名称及送货地点;
SELECT 品名, 送货地点;
FROM 定单, 商品;
WHERE 定单.货号=商品.货号;
AND 定货单位=”阳光公司”
(2)售价低于进货单价的货物;