搞不清楚where是怎么用的?看:在基本表SC中检索平均成绩超过80分的学生学号和平均成绩:SELECT S#,AVG(GRADE)
FROM SC
GROUP BY S#
HAVING AVG(GRADE)>80同样都是检索,那为什么这个是这样的啊?看下面:检索学习全部课程的学生姓名:SELECT SNAME
FROM S
WHERE NOT EXISTS
(SELECT * FROM C
WHERE NOT EXISTS
(SELECT *
FROM *
WHERE SC.S# = S.S#
AND SC.C# = C.C# ))
干脆搞不清楚WHERE是干什么的,高手解答,顺便把这个嵌套说一下,麻烦你注释的清楚一点。要不然我还是看不明白!!
S#也是一个属性,为什么其他没有这个#?
FROM SC
GROUP BY S#
HAVING AVG(GRADE)>80同样都是检索,那为什么这个是这样的啊?看下面:检索学习全部课程的学生姓名:SELECT SNAME
FROM S
WHERE NOT EXISTS
(SELECT * FROM C
WHERE NOT EXISTS
(SELECT *
FROM *
WHERE SC.S# = S.S#
AND SC.C# = C.C# ))
干脆搞不清楚WHERE是干什么的,高手解答,顺便把这个嵌套说一下,麻烦你注释的清楚一点。要不然我还是看不明白!!
S#也是一个属性,为什么其他没有这个#?
一个表中只有一个主键,多个外部关键字
既是候选索引
楼上说HAVING用于检索如group by产生结果值的条件是什么意思?
就是从上面的S#中检索满足HAVING 条件的吗?
having是把 AVG(GRADE)<80的过滤掉