男明星眉毛是纹过的吗:关于数据库的一个题目

来源:百度文库 编辑:神马品牌网 时间:2024/04/28 21:36:23
因为百度知道中不可以绘制表格,所以我只能够模拟的画了两个表格。
题目如下
设有一个学生-课程数据库,包括学生关系Student和选修关系SC,如图
Student
-----------------------------------------
学号 **姓名****性别**年龄**所在系
Sno ***Sname***Ssex**Sage**Sdept
-----------------------------------------
95001**李勇****男****20****CS
-----------------------------------------
95002**刘晨****女****19****IS
-----------------------------------------
95003**王敏****女****18****MA
------------------------------------------
95004**张立****男****19****IS
-----------------------------------------
|
|
|
|
SC
------------------------------------------
学号**课程号**成绩
Sno*****Cno***Grade
------------------------------------------
95001***1*****92
-----------------------------------------
95001***2*****85
----------------------------------------
95001***3*****88
------------------------------------------
95002***2*****90
-------------------------------------------
95002***3*****80
------------------------------------------
查询所有选修了1号课程的学生姓名。
SELECT Sname
FROM Student
WHERE Sno IN
(SELECT Sno
FROM SC
WHERE Cno=‘1’);

问题,上面这段SQL查询语句对吗?如果不对,错在哪里,请写出正确的SQL查询语句。

子查询内返回记录是复数,所以不正常确执行

正确的写法
select Sname from Student join SC on Student.Sno=SC.Sno where SC.Cno='1'

select Sname from Student A inner join SC B on A.Sno = B.Sno where B.Cno='1'