在MySQL中,学生表S(S#,Sname,Sex,Age),S的属性分别表示学生的学号、姓名、性别、年龄。要在表S中删除一个属性“年龄”,可选用的SQL语句是()。
A.UPDATESAge
B.DELETEAgeFROMS
C.ALTERTABLES'Age'
D.ALTERTABLESDROPAge
A.UPDATESAge
B.DELETEAgeFROMS
C.ALTERTABLES'Age'
D.ALTERTABLESDROPAge
设教学数据库中有三个关系: 学生关系 S(S#,SNAME,AGE,SEX) 选课关系 SC(S#,C#,GRADE) 课程关系 C(C#,CNAME,TEACHER) 用SQL语句实现下面查询: 1.查询不学C2课的学生姓名与年龄。 2.求刘老师所授课程的每门课程的平均成绩。 3.求年龄大于女同学平均年龄的男学生姓名和年龄。 4.检索学习全部课程的学生姓名; 即在表S中找学生,要求这个学生学了全部课程。换言之,在S表中找学生,在C中不存在一门课程,这个学生没有学。 5.往关系C中插入一个课程元组(‘C8’,‘VC++’,‘BAO’)
●试题三
对于教学数据库的三个基本表S(S#,SNAME,AGE,SEX),SLLS#,C#,GRADE),C(C#,CNAME,TEACHER)。现根据查询条件填充下面SQL语句空白的部分。
1.检索LIU老师所授课程的课程号和课程名。
2.检索至少选修LIU老师所授课程中一门课程的女学生姓名。
3.检索WANG同学不学的课程的课程名。
4.检索全部学生都选修的课程的课程号与课程名。
5.检索选修课程包含LIU老师所授课程的学生学号。
【说明】
1.SELECT (1) FROM C WHERE TEACHER=′LIU′
2.SELECT S.SNAME FROM S,SC
WHERE S.S#=S
C.S# AND S.SEX=′F′AND S
C.C#= (2)
(SELECTC# FROM C WHERE TEACHER=′LIU′)
3.SELECT CNAME FROM C
WHERE C#<> (3) (SELECTS
C.C# FROM S,SC WHERE S.S#=S
C.S# AND S.SNAME=′WANG′)
4.由题知,该问题是在表C中找课程号和课程名,要求这门课被全部学生所选。
SELECT C#,CNAME
FROM C
WHERE NOT EXISTS
(SELECT*
FROMS
WHERE NOT EXISTS
(SELECT *
FROMS
WHERE NOT EXISTS
(SELECT*
FROM SC
WHERE (4)
5.SELECT DISTINCT S#
FROM SC
WHERE (5)
(SELECT C#
FROM C
WHERE TEACHER=′LIU′)
基于“学生.选课.课程”数据库中的如下三个关系:
学生基本信息:S(S#,SNAME,SEX,AGE)
选课信息:SC(S#,C#,GRADE)
课程信息:C(C#,CNAME,TEACHER)
若要求“查询选修了5门以上课程的学生的学生号”,正确的SQL语句是()。
A)SELECT S# FROM SC ORDER BY S# WHERE COUNT(﹡)>5
B)SELECT S# FROM SC ORDER BY S# HAVING COUNT(﹡)>5
C)SELECT S# FROM SC GROUP BY S# WHERE COUNT(﹡)>5
D)SELECT S# FROM SC GROUP BY S# HAVING COUNT(﹡)>5
该题基于“学生-选课-课程”数据库中的3个关系。
学生基本信息S(S#,SNAME, SEX, AGE)
选课信息SC(S#, C#, GRADE)
课程信息C(C#, CNAME, TEACHER)
若要求“查询选修了3门以上课程的学生的学生号”,正确的SQL语句是()。
A.SELECT S# FROM SC GROUP BY S# WHERE COUNT (*)>3
B.SELECT S# FROM SC GROUP BY S# HAVING COUNT(*)>3
C.SELECT S# FROM SC ORDER BY S# WHERE COUNT(*)>3
D.SELECT S# FROM SC ORDER BY S# HAVING COUNT(*)>3
若要求查找姓名中第一个字为‘刘’的学生号和姓名。下面列出的SQL语句中,(52)是正确的。
A.SELECT S#,SNAME FROM S WHERE SNAME =‘刘%’
B.SELECT S#,SNAME FROM S WHERE SNAME =‘刘_’
C.SELECT S#,SNAME FROM S WHERE SNAME HKE‘刘%’
D.SELECT S#,SNAME FROM S WHERE SNAME HKE‘刘_’
基于“学生-选课-课程”数据库中的如下三个关系:
学生基本信息:S(S#,SNAME,SEX,AGE)
选课信息:SC(S#,C#,GRADE)
课程信息:C(C#,CNAME,TEACHER)
若要求“查询选修了5门以上课程的学生的学生号”,正确的SQL语句是()。
A.S和SC
B.SC和C
C.S和C
D.S、SC和C
基于“学生-选课-课程”数据库中的三个关系: S(S#,SNAME,SEX,AGE),SC(S#,C#,GRADE),C(C#,CNAME,TEACHER)
若要求查找选修“数据库技术”这门课程的学生姓名和成绩,将使用关系(18)。
A.S和C
B.SC和C
C.S和SC
D.S、SC和C
若要求查找姓名中第一个字为“刘”的学生号和姓名。下面列出的SQL语句中,哪个是正确的?
A.SELECT S#,SNAME FROM S WHERE SNAME =′刘%′
B.SELECT S#,SNAME FROM S WHERE SNAME =′刘_′
C.SELECT S#,SNAME FROM S WHERE SNAME LIKE′刘%′
D.SELECT S#,SNAME FROM S WHERE SNAME LIKE′刘_′
某“学生一选课一课程”数据库中的如下三个关系:
学生基本信息:s(s#,SNAME,SEX,AGE)
选课信息:SC(s#,c#,GRADE)
课程信息:C(c#,CNAME,TEACHER)
若要查询某个学生的基本信息及其选课的平均成绩,将使用到下列哪些关系?——
A.S和C
B.S和SC
C.SC和C
D.S、SC和C
若要求查找姓名中第一个字为“李”的学生号和姓名。下面列出的SQL语句中,哪个(些)是正确的?
Ⅰ.SELECT S#,SNAME FROM S WHERE SNAME=‘李%’
Ⅱ.SELECT S#,SNAME FROM S WIERE SNAME LIKE'李%'
Ⅲ.SELECT S#,SNAME FROM S WHERE SNAME LIKE'李_'
A.Ⅰ
B.Ⅱ
C.Ⅲ
D.全部