所谓的查询优化无非就是使用关联查询,其中难点也就是优化器,然而多操作也就水到渠成的那么一回事了。
关联查询中我认为应该关注的是多表查询,还是以经典面试题来做演示,看示例吧!
1.学生表
Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别
2.课程表
Course(CID,Cname,TID) --CID --课程编号,Cname 课程名称,TID 教师编号
3.教师表
Teacher(TID,Tname) --TID 教师编号,Tname 教师姓名
4.成绩表
SC(SID,CID,score) --SID 学生编号,CID 课程编号,score 分数
示例1:查询课程名称为"数学",且分数低于60的学生姓名和分数
解析:select s.sname,sc.store from student s inner join
(select sc.sid from sc left outer join
(select cid from course where cname ='数学')
using(cid) where sc.score<60);