SQL语句编写问题

来源:百度知道 编辑:UC知道 时间:2024/06/17 16:26:35
第一:用SQL数据库建下面三个表:
表一:
SNO(学号) SNAME(姓名)
421 周宁
123 王平
120 王力
119 李维
203 林美
表二:
CNO(课程号) SEMESTER(开课学期)
CS-110 秋
CS-201 春
CS-221 秋
EE-122 秋
EE-201 春
表三:
SNO(学号) CNO(课程号) GRADE(成绩)
421 CS-110 90
421 EE-201 100
123 EE-122 91
123 CS-110 73
120 CS-110 95
120 CS-201 87
120 CS-221 79
119 CS-110 72
119 CS-201 63
203 CS-110 83
203 CS-201 80
203 EE-201 75

问题:
用SQL语句写下列查询。(要求每一个问题用一句SQL语句求解,不得建立视图)
2:查询春季学期的课程号。
3:

--2. 查询春季学期的课程号;
select cno from course where semester='春'
--3. 查询至少有一门课程成绩大于等于90的学生姓名;
select st.sname from student st,sc2 sc where st.sno=sc.sno group by sc.sno,st.sname having max(sc.grade)>=90
--4. 查询在课程CS-110中成绩为第2到5名的学生的姓名;
select st.sname
from sc2 b,student st
where b.cno='CS-110' and b.sno=st.sno and (select count(*) from sc2 as a where a.grade>=b.grade and a.cno='CS-110') between 2 and 5
order by b.grade desc
--5. 查询选课门数唯一的学生的姓名(选课门数与其他同学都不相同)。
select st.sname
from (select sno,count(cno) as count_cno from sc2 group by sno) as b,student st
where (select count(*) from (select sno,count(cno) as count_cno from sc2 group by sno) as a where a.count_cno=b.count_cno) =1 and st.sno=b.sno

睡觉了

http://post.baidu.com/f?kz=246252688 这里有的去复制一下 把名字学号改了就行