2021011203
针对stu数据库中的student、course和sc三个表实现以下查询:
1、查询’CS’系的学生的成绩信息,包括学号,课程号,成绩。
SELECT sno,cno,grade
FROM scfcy
WHERE sno in
(SELECT sno
FROM studentfcy
WHERE sdept='CS')
真的很奇怪,语句不有什么问题,但就是错误?
可能是复制过程中的奇怪符号?
SELECT Sno,Cno,Grade
FROM scfcy
WHERE Sno IN
(SELECT Sno
FROM studentfcy
WHERE Sdept='cs')
sql中所有字段都不区分大小写
select sno,cno,grade
from scfcy
WHERE sno IN
(
SELECT sno
from studentfcy
where sdept='CS'
)
2、查询李勇所选修的课程的课程名。
select cname
from coursefcy //确定好是那个表from scfcy
where sno IN //只能找表中有的
(
SELECT sno
FROM studentfcy
WHERE sname='李勇'
)
//SELECT DISTINCT Cname,加上DISTINCT,慢0.00002s
select cname
from coursefcy
where cno IN
(
SELECT cno
from scfcy
where sno IN
(
SELECT sno
FROM studentfcy
WHERE sname='李勇'
)
)
嵌套查询时,上面的where 和下面的select 是对应相同的的
3、查询既选了1号课程又选了2号课程的学生学号。
SELECT Sno
FROM scfcy
WHERE Cno='1' AND Sno IN
(SELECT Sno
FROM scfcy
WHERE Cno='2')