SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=ALL(SELECT成绩FROM选课)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号=101)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号=101)
SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号=101AND成绩>=(SELECT成绩FROM选课WHERE课程号=101)
第1题:
查询选修课程号为“101”课程得分最高的同学,正确的SQL语句是 ______。
A.SELECT 学生.学号,姓名FROM 学生,选课WHERE 学生.学号=选课.学号 AND 课程号=“101” AND 成绩>=ALL (SELECT 成绩 FROM 选课)
B.SELECT 学生.学号,姓名FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 成绩>=ALL(SELECT 成绩 FROM 选课 WHERE 课程号=“101”)
C.SELECT 学生. 学号,姓名 FROM 学生,选课 WHERE 学生. 学号=选课.学号 AND 成绩>=ANY (SELECT 成绩 FROM 选课 WHERE 选课号=“101”)
D.SELECT 学生.学号,姓名 FROM 学生,选课 WHERE 学生.学号=选课.学号 AND 课程号=“101”AND 成绩>= ALL(SELECT 成绩 FROM 选课 WHERE课程号=“101”)
第2题:
若有如下SQL查询语句: SELECT课程名称,开课系名,COUNT(学号)AS选修人数; FROM成绩,课程; WHERE课程.课程编号=成绩.课程编号; GROUP BY课程名称; HAVING COUNT(*)>3 上述语句所表示的含义是( )。
A.检索开课在3门以上的开课系名、课程名称和选修人数
B.检索选修了3门课程以上的学生记录,显示结果包括课程名称、开课系名和选修人数
C.检索每门课程中,有3人以上选修该课程的记录,显示结果包括课程名称、开课系名和选修人数
D.检索选修人数最多的3门课程的记录,显示结果包括课程名称、开课系名和选修人数
第3题:
已知表S(学号,姓名,年龄)
SC(学号,课程号,成绩)
C(课程号,课程名,教师名)
试用SQL查询语句表达下列对教学数据库中的三个基本表S、SC、C的查询:
(1)统计有学生选修的课程门数.
(2)求选修C4课程的学生的平均年龄.
(3)求王平老师所授课程的每门课程的学生平均成绩.
(4)统计每门课程的学生选修人数(超过10人的课程才统计).要求输出课程号和选修人数.
(5)查询姓名以WANG开头的所有学生的姓名和年龄.
第4题:
现有某高校的选修课记录(SC):学号、姓名、课程名称、成绩,要查询没有选修课成绩的学生和课程,正确的SQL语句是( )。
A. SELECT学号,课程号FROM sc WHERE成绩=””
B. SELECT学号,课程号FROM sc WHERE成绩=NULL
C. SELECT学号,课程号FROM SC WHERE成绩IS NULL
D. SELECT学号,课程号FROM SC WHERE成绩
第5题:
利用SQL语句统计选修了“日语”课程的学生人数。请将下列语句补充完整。
SELECT______FROM 选课表 WHERE 课程名="日语"
第6题:
假定学号的第3、4位为专业代码。要计算各专业学生选修课程号为"101"课程的平均成绩,正确的SQL语句是
A.SELECT 专业 AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE 课程号="101"GROUP BY专业
B.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课 WHERE课程号="101"GROUP BY 1
C.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课 WHERE课程号="101"ORDER BY专业
D.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号="101"ORDER BY 1
第7题:
【题目描述】
2.为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN ) C#,CN 分别代表课程编号、课程名称
SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
要求实现如下5个处理:
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
5. 查询选修了课程的学员人数
6. 查询选修课程超过5门的学员学号和所属单位
【参考答案分析】:
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM C,SC
WHERE C.[C#]=SC.[C#]
AND CN='税收基础')
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
SELECT S.SN,S.SD FROM S,SC
WHERE S.[S#]=SC.[S#]
AND SC.[C#]='C2'
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
SELECT SN,SD FROM S
WHERE [S#] NOT IN(
SELECT [S#] FROM SC
WHERE [C#]='C5')
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
SELECT SN,SD FROM S
WHERE S# IN(SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)=
(SELECT COUNT(*) FROM C))
5. 查询选修了课程的学员人数
SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC
6. 查询选修课程超过5门的学员学号和所属单位
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM SC
GROUP BY [S#]
HAVING COUNT(DISTINCT [C#])>5)
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM C,SC
WHERE C.[C#]=SC.[C#]
AND CN=N'税收基础');
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
--实现代码:
SELECT S.SN,S.SD FROM S,SC
WHERE S.[S#]=SC.[S#]
AND SC.[C#]='C2';
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] NOT IN(
SELECT [S#] FROM SC
WHERE [C#]='C5');
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM SC
RIGHT JOIN C ON SC.[C#]=C.[C#]
GROUP BY [S#]
HAVING COUNT(*)=COUNT(DISTINCT [S#]));
5. 查询选修了课程的学员人数
--实现代码:
SELECT 学员人数=COUNT(DISTINCT [S#]) FROM SC;
6. 查询选修课程超过5门的学员学号和所属单位
--实现代码:
SELECT SN,SD FROM S
WHERE [S#] IN(
SELECT [S#] FROM SC
GROUP BY [S#]
HAVING COUNT(DISTINCT [C#])>5);
第8题:
某学校的学生成绩管理数据库的关系模式如下:
S(SNO,SNAME,SEX)
C(CNO,CNAME)
SC(SNO, CNO,SCORE)
其中S表示学生表,各字段依次为学号、姓名、性别;C表示课程表,各字段依次为课程号、课程名;SC表示成绩表,各字段依次为学号、课程号和分数。
使用SQL语句,向学生表增加所处学院SDEP字段,长度为30个字符。
使用SQL语句,查询选修“计算机网络”课程的学生姓名和分数,并按分数降序排序。
使用SQL语句,将课程号为“12”、课程名为“数据库”的一条记录插入C表。
使用SQL语句,将课程号为“12”的课程名修改为“高等数学”。
请帮忙给出每个问题的正确答案和分析,谢谢!
第9题:
有以下3个数据表: 写出下列功能的SQL语句: ①插入一个新课程记录(课程号:A001;课程名:英语1;学分:5); ②修改学号为“95020”,课程号为“A001”的成绩为85; ③查询所有学生的基本信息,使用中文作为查询结果的各字段的名称; ④统计出各个班级的人数; ⑤查询出学号为“95020”所选修的课程名和成绩,以及姓名。
略
第10题:
现有“学生选课”数据库,其中主要的表有:“学生”表(学号,姓名,性别,专业,出生年月),“选课”表(学号,课程号,成绩),“课程”表(课程号,课程名,所属专业,学分)按照下列要求写出SQL语句: (1)在“选课”表中,删除选了课程号为10004的所有选课记录。 (2)在“课程”表中,修改课程号为10008的课程名称:数字电路。 (3)设计子查询,查询“课程”表中,有哪些课程没有被任何同学报选。 (4)设计连接查询,查找选修了“数据结构”课程且成绩在80分及以上的学生的学号、姓名、课程名及成绩。
第11题:
课程号 WHERE
学号 WHERE
课程号 HAVING
学号 HAVING
第12题:
SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FRON选课WHERE课程号=101 GROUP BY专业
SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课WHERE课程号=101 GROUP BY 1
SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS平均分FROM选课WHERE课程号=101 ORDER BY专业
SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课WHERE课程号=101 ORDER BY 1
第13题:
在“查询选修课程号为4,且成绩在80分以上的所有学生的学号”的SQL语句中,将使用的表是( )。
A)学生信息表s
B)学生信息表s和课程信息表c,
C)学生信息表s、课程信息表c和学生选课信息表sc
D)学生选课信息表sc
第14题:
利用SQL语句统计选修了“日语”课程的学生人数。请将下列的语句补充完整。SELECT______FROM 选课表 WHERE课程名="日语"
第15题:
假定学号的第3、4位为专业代码,要计算各专业学生选修课程号为“1O1”课程的平均成绩,正确的SQL语句是( )。
A.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号=”101”GROUP BY专业
B.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS 平均分FROM选课 WHERE课程号=”101”GROUP BY 1
C.SELECT SUBS(学号,3,2)AS专业,AVG(成绩)AS 平均分FROM选课 WHERE课程号=”101”ORDER BY专业
D.SELECT专业AS SUBS(学号,3,2),平均分AS AVG(成绩)FROM选课 WHERE课程号=”101”ORDER BY 1
第16题:
为管理岗位业务培训信息,建立3个表:
S (S#,SN,SD,SA) S#,SN,SD,SA 分别代表学号、学员姓名、所属单位、学员年龄
C (C#,CN ) C#,CN 分别代表课程编号、课程名称
SC ( S#,C#,G ) S#,C#,G 分别代表学号、所选修的课程编号、学习成绩
要求实现如下5个处理:
1. 使用标准SQL嵌套语句查询选修课程名称为’税收基础’的学员学号和姓名
2. 使用标准SQL嵌套语句查询选修课程编号为’C2’的学员姓名和所属单位
3. 使用标准SQL嵌套语句查询不选修课程编号为’C5’的学员姓名和所属单位
4. 使用标准SQL嵌套语句查询选修全部课程的学员姓名和所属单位
5. 查询选修了课程的学员人数
6. 查询选修课程超过5门的学员学号和所属单位
第17题:
查询选修课程号为“101”的课程得分最高的同学,正确的SQL语句是( )。
A.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND课程号=”101”AND成绩>=A11(SELECT成绩FROM选课)
B.SELECT学生.学号,姓名FROM学生,选课 WHERE学生.学号=选课.学号 AND成绩>=A11(SELECT成绩FROM选课 WHERE课程号=”101”)
C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND成绩>:=:A11(SELECT成绩FROM选课 WHERE课程号=”101”)
D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号一选课.学号AND 课程号一”101”AND成绩>=A11(SELECT成绩FROM选课WHERE课程号一”101”)
第18题:
查询选修课程号为"101"课程得分最高的同学,正确的SQL语句是
A.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号 AND课程号="101”AND成绩>=ALL(SELECT成绩FROM选课)
B.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号;选课.学号 AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号="101")
C.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号二选课.学号 AND成绩>=ANY(SELECT成绩FROM选课WHERE课程号="101")
D.SELECT学生.学号,姓名FROM学生,选课WHERE学生.学号=选课.学号AND课程号="101" AND成绩>=ALL(SELECT成绩FROM选课WHERE课程号 ="101")
第19题:
某学校的学生成绩管理数据库的关系模式如下;
S(SNO,SNAME,SEX,AGE,DEPT);
C(CNO,CNAME);
SC(SNO,CNO,SCORE)
其中,S表示学生表。它的各字段以此为学号,姓名、性别、年龄和所在学院;C表示课程表,它的各字段依次为课程号、课程名;SC表示成绩表,它的各字段依次为学号、课程号和分数。
使用SQL语句,查询“计算机学院”所有“男生”的学号,姓名和年龄。
使用SQL语句,查询选修“计算机网络”课程的学生姓名和分数。
使用SQL语句,查询所有课程的课程号以及最高分。
SELECT CNO,MAX(SCORE) FROM SC GROUP BY CNO
请帮忙给出每个问题的正确答案和分析,谢谢!
第20题:
( 32 ) 假定学号的第 3 、 4 位为专业代码 。 要计算各专业学生选修课程号为 “ 101 ” 课程的平均成绩 , 正确的 SQL 语句是
A) SELECT 专业 AS SUBS( 学号 ,3,2), 平均分 AS AVG( 成绩 ) FROM 选课 WHERE 课程号 = "101" GROUP BY 专业
B) SELECT SUBS( 学号 ,3,2) AS 专业 , AVG( 成绩 ) AS 平均分 FROM 选课 WHERE 课程号 = "101" GROUP BY 1
C) SELECT SUBS( 学号 ,3,2) AS 专业 , AVG( 成绩 ) AS 平均分 FROM 选课 WHERE 课程号 = "101" ORDER BY 专业
D) SELECT 专业 AS SUBS( 学号 ,3,2), 平均分 AS AVG( 成绩 ) FROM 选课 WHERE 课程号 = "101" ORDER BY 1
第21题:
要在学生选课表中查询选修三门以上课程的学生的学号,则可以使用的SQL语句是“SELECT 学号 FROM 学生选课 GROUP BY ()COUNT(*)>3”。
第22题:
第23题: