
查询选修课成绩均在80分以上,直接写成SELECT SNO FROM SC WHERE GRADE >80? 不可以么
肯定不行呀,你要理解:选修课成绩均在80分以上的含义,这个表里面存放的数据类似:
101 课程1 40
101 课程2 90
102 课程1 85
102 课程2 87
题目的意思是,只需要把102查询出来,但如果按你的写法,就会查出三条记录:
101
102
102
所以你的写法是错误的。 答案的写法是正确的,先查出所有成绩低于80分的,然后从所有的学号中排除这部分记录,再加上distinct防止重复。