3个回答
展开全部
如果只是单个的条件的时候,即只有一个连接条件的时候,使用两种方式都是一样的,但是,如果是多个条件的话,就要考虑一下效率了,一般这种情况下需要嵌套查询更能提高效率,因为连接查询是先要做笛卡尔积之后之后再筛选,而嵌套查询的话可以先筛选。比如看下面的查询区别:
/*列出在部门“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'); /*这种效率更高。*/
/*列出在部门“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'); /*这种效率更高。*/
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
嵌套查询和连接查询根本上是一样的 只是数据多的时候嵌套查询要比连接查询速度快
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询