数据库原理实验2解答

合集下载
相关主题
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(1)查询性别为“男”的所有学生的名称并按学号升序排列。

SELECT Sname

FROM Students

WHERE Ssex='男'

ORDER BY Sno

(2)查询学生的选课成绩合格的课程成绩,并把成绩换算为积分。积分的计算公式为:[1+(考试成绩-60)*]*Ccredit。考试成绩>=60 否则=0

SELECT Sno, Tno, , Score, 'Point of Score', CONVERT(FLOAT(1),

(Score-60)**Ccredit+Ccredit)

FROM Courses, Reports

WHERE Score>=60 AND =

UNION

SELECT Sno, Tno, , Score, 'Point of Score', 0

FROM Courses, Reports

WHERE = AND (Score < 60 OR Score IS NULL)

(3)查询学分是3或4的课程的名称。

SELECT Cname

FROM Courses

WHERE Ccredit IN('3','4')

(4)查询所有课程名称中含有“算法”的课程编号。

SELECT Cname

FROM Courses

WHERE Cname LIKE '%算法%'

/*查询得到算法分析与设计、数据结构与算法分析*/

(5)查询所有选课记录的课程号(不重复显示)。

SELECT DISTINCT Cno FROM Reports

(6)统计所有老师的平均工资。

SELECT AVG(Tsalary) FROM Teachers

(7)查询所有教师的编号及选修其课程的学生的平均成绩,按平均成绩降序排列。

SELECT Tno,AVG(Score)

FROM Reports

GROUP BY Tno

ORDER BY AVG(Score) DESC

(8)统计各个课程的选课人数和平均成绩。

SELECT Cno,COUNT(Sno),AVG(Score)

FROM Reports

GROUP BY Cno

(9)查询至少选修了三门课程的学生编号和姓名。

SELECT Sno,Sname

FROM Students

WHERE Sno IN

(

SELECT Sno

FROM Reports

GROUP BY Sno

HAVING COUNT(*)>=3

)

(10)查询编号S26的学生所选的全部课程的课程名和成绩。

SELECT ,

FROM Courses,Reports

WHERE ='S26' AND =

(11)查询所有选了“数据库原理及其应用”课程的学生编号和姓名。

SELECT Sno,Sname

FROM Students

WHERE Sno IN

(

SELECT

FROM Reports,Courses

WHERE = AND ='数据库原理及其应用'

)

(12)求出至少被两名学生选修的课程编号。

SELECT DISTINCT

FROM Reports X,Reports Y

WHERE = AND <

(13)查询选修了编号S26的学生所选的某个课程的学生编号。

SELECT

FROM Reports X,Reports Y

WHERE = AND ='S26'

/*注:在本题中,如果要求是“查询选修了编号S26的学生所选的某个课程的其他学生编号”时,也就是不包含编号S26学生自身的情况时,在查询条件WHERE中,还需要加上条件<*/

(14)查询学生的基本信息及选修课程编号和成绩。

SELECT ,,,,,,

FROM Students JOIN Reports ON =

(15)查询学号S52的学生的姓名和选修的课程名称及成绩。

SELECT ,,

FROM Students,Courses,Reports

WHERE = AND = AND ='S52'

(16)查询和学号S52的学生同性别的所有学生资料。

SELECT *

FROM Students

WHERE Ssex=(

SELECT Ssex

FROM Students

WHERE Sno='S52'

)

(17)查询所有选课的学生的详细信息。

SELECT *

FROM Students

WHERE Sno IN

(

SELECT Sno

FROM Reports

)

(18)查询没有学生选的课程的编号和名称。

SELECT Cno,Cname

FROM Courses

WHERE Cno NOT IN

(

SELECT Cno

FROM Reports

)

(19)查询选修了课程名为C++的学生学号和姓名。

SELECT Sno,Sname

FROM Students

WHERE Sno IN

(

SELECT Sno

FROM Reports

WHERE Cno IN

(

SELECT Cno

FROM Courses

WHERE Cname='C++'

)

)

(20)找出选修课程UML或者课程C++的学生学号和姓名。

SELECT Sno,Sname

FROM Students

WHERE Sno IN

相关文档
最新文档