多表查询与连接查询的对比

前提:存在student(sid,sname,cid)和class(cid,cname)两表
查询:选出所有学生,同时返回班级名称
法一:
SELECT sid,sname,cid, cname
FROM student,class
WHERE student.cid=class.cid;
法二:
SELECT sid,sname,cid, cname
FROM student
INNER JOIN class
ON student.cid=class.cid;

两种方法的查询结果一致,在实际使用中选择法二。因为多表查询 from x,y就是笛卡尔积,两个100行的表就是1万行,查询效率低下。

读书考试时,写哪种方法都可以,都是正确的,但是在实际使用时就会考虑到效率问题,这就是理论与实践的差异吧~

你可能感兴趣的:(多表查询与连接查询的对比)