3.4.2 连接查询
上一节最后一个例题:
【例3.48】查询平均成绩大于等于80分的学生学号和平均成绩。
若按照以下语句执行是错误的:
select Sno ,avg(Grade)
from SC
where avg(Grade)>=80
group by Sno;
这是因为【聚合不应出现在 WHERE 子句中,除非该聚合位于 HAVING 子句或选择列表所包含的子查询中,并且要对其进行聚合的列是外部引用。
】
可以改为:
select Sno,avg(Grade)
from SC
group by Sno
having avg(Grade)>=80;
select * from SC;
1. 等值与非等值连接查询
连接运算符为=时,是等值连接,使用其他运算符为非等值连接。
【例3.49】查询每个学生及其选修课程的情况。
select Student.*,SC.*--查询学生及其选修课情况
from Student,