首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > oracle >

详解两条T-SQL语句(如下)解决办法

2013-10-21 
详解两条T-SQL语句(如下)--1.select * from A,B where A.AIDB.BID and A.AID1--2.select * from (select

详解两条T-SQL语句(如下)


--1.
select * from A,B where A.AID=B.BID and A.AID=1
--2.
select * from (select AID  from A where AID=1) as A1,B where A1.AID=B.BID

1.在任何情况下,上面两条T-SQL语句的执行结果是否相同?
2.详解上面两条T-SQL语句在什么情况下,执行效率问题?
[解决办法]
select d.* from emp e,dept d where e.deptno=d.deptno and e.deptno=10;
执行计划如下:
执行计划
----------------------
Plan hash value: 568005898

----------------------------------------------------

[解决办法]
 Id  
[解决办法]
 Operation                    
[解决办法]
 Name    
[解决办法]
 Rows  
[解决办法]
 Bytes 
[解决办法]
 Cost (%CPU)
[解决办法]
 Time     
[解决办法]

----------------------------------------------------

[解决办法]
   0 
[解决办法]
 SELECT STATEMENT             
[解决办法]
         
[解决办法]
     5 
[解决办法]
   110 
[解决办法]
     4   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
   1 
[解决办法]
  NESTED LOOPS                
[解决办法]
         
[解决办法]
     5 
[解决办法]
   110 
------解决方案--------------------


     4   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
   2 
[解决办法]
   TABLE ACCESS BY INDEX ROWID
[解决办法]
 DEPT    
[解决办法]
     1 
[解决办法]
    20 
[解决办法]
     1   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
*  3 
[解决办法]
    INDEX UNIQUE SCAN         
[解决办法]
 PK_DEPT 
[解决办法]
     1 
[解决办法]
       
[解决办法]
     0   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
*  4 
[解决办法]
   TABLE ACCESS FULL          
[解决办法]
 EMP     
[解决办法]
     5 
[解决办法]
    10 
[解决办法]
     3   (0)
[解决办法]
 00:00:01 
[解决办法]

----------------------------------------------------

select d.* from (select a.deptno from emp a where a.deptno=10) e,dept d where e.deptno=d.deptno;
执行计划如下:
执行计划
----------------------
Plan hash value: 568005898

----------------------------------------------------



[解决办法]
 Id  
[解决办法]
 Operation                    
[解决办法]
 Name    
[解决办法]
 Rows  
[解决办法]
 Bytes 
[解决办法]
 Cost (%CPU)
[解决办法]
 Time     
[解决办法]

----------------------------------------------------

[解决办法]
   0 
[解决办法]
 SELECT STATEMENT             
[解决办法]
         
[解决办法]
     5 
[解决办法]
   110 
[解决办法]
     4   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
   1 
[解决办法]
  NESTED LOOPS                
[解决办法]
         
[解决办法]
     5 
[解决办法]
   110 
[解决办法]
     4   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
   2 
[解决办法]
   TABLE ACCESS BY INDEX ROWID
[解决办法]
 DEPT    
[解决办法]
     1 


[解决办法]
    20 
[解决办法]
     1   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
*  3 
[解决办法]
    INDEX UNIQUE SCAN         
[解决办法]
 PK_DEPT 
[解决办法]
     1 
[解决办法]
       
[解决办法]
     0   (0)
[解决办法]
 00:00:01 
[解决办法]


[解决办法]
*  4 
[解决办法]
   TABLE ACCESS FULL          
[解决办法]
 EMP     
[解决办法]
     5 
[解决办法]
    10 
[解决办法]
     3   (0)
[解决办法]
 00:00:01 
[解决办法]

----------------------------------------------------

 两者执行计划相同,返回结果相同
[解决办法]
第一条语句的可读性比较好

热点排行
Bad Request.