数据库的SQL语句中,嵌套查询和连接查询有什么区别,说的详细的

如题.谢谢!

嵌套就是类似IN语句,比如select * from table1 where id in (select id from table2),连接就是用JOIN把2表根据一个字段进行数据连接,区别就是连接查询效率比嵌套高,而且JOIN可以通过改变JOIN先后顺序,先扫描记录少的表,从而提高速度,如果嵌套会固定先搜索子查询
温馨提示:答案为网友推荐,仅供参考
第1个回答  2012-06-29
如果只是单个的条件的时候,即只有一个连接条件的时候,使用两种方式都是一样的,但是,如果是多个条件的话,就要考虑一下效率了,一般这种情况下需要嵌套查询更能提高效率,因为连接查询是先要做笛卡尔积之后之后再筛选,而嵌套查询的话可以先筛选。比如看下面的查询区别:
/*列出在部门“SALES”(销售部)工作的员工的姓名,假定不知道销售部的部门编号。*/
SELECT e.ename FROM emp e JOIN dept d ON e.deptno = d.deptno AND d.dname='SALES';
SELECT e.ename FROM emp e,dept d WHERE e.deptno = d.deptno AND d.dname='SALES';
select ename from emp where deptno=(select deptno from dept where dname='SALES'); /*这种效率更高。*/
第2个回答  2010-12-29
嵌套查询和连接查询根本上是一样的 只是数据多的时候嵌套查询要比连接查询速度快
相似回答