前提:存在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万行,查询效率低下。
读书考试时,写哪种方法都可以,都是正确的,但是在实际使用时就会考虑到效率问题,这就是理论与实践的差异吧~
网友评论