黑马程序员技术交流社区
标题:
关于SQL查询!
[打印本页]
作者:
王海亮
时间:
2012-8-20 18:05
标题:
关于SQL查询!
在SQL中跨表查询数据的时候是 表连接查询 和 子查询 那个更快效率最高?
作者:
张文
时间:
2012-8-20 18:55
这个一般在实际生成环境中看。能用join尽量用。
作者:
金鑫
时间:
2012-8-20 22:42
要查询笔试过60分的学员
表连接的方式:SELECT stuName FROM stuInfo
INNER JOIN stuMarks ON stuInfo.stuNo=stuMarks.stuNo
WHERE writtenExam=60
子查询的方式:SELECT stuName FROM stuInfo where stuno =
(SELECT stuNO FROM stuMarks WHERE writtenExam=60)
GO
一般来说,表连接都可以用子查询替换,但有的子查询却不能用表连接替换
子查询比较灵活、方便,常作为增删改查的筛选条件,适合于操纵一个表的数据
子查询不能使用ORDER BY子句
表连接更适合于查看多表的数据
表中有无索引,环境的不同等等都会对查询的结果造成影响,没有明确的一定孰优孰劣。事实上一般情况下2者的效率差不多。
不过一般的默认规则是,能用表连接的话尽量用表连接代替子查询,尤其是多表查询的时候。
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2