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

前提:存在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万行,查询效率低下。

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容