当前位置: 代码迷 >> Oracle开发 >> 下头两条语句有何区别?
  详细解决方案

下头两条语句有何区别?

热度:85   发布时间:2016-04-24 06:27:42.0
下面两条语句有何区别??
请问如下两个query有什么区别,为什么不直接按照第二条写,而是像第一条那样写啊?

第一条
select p23_jundate, p23_junno, p23_seq, p23_pumbn1, p23_pumbn3, p23_pancnt from pos23 a , 
(select p23_jundate jundate, p23_junno junno, p23_seq seq from pos23  
where p23_brand = '1' and p23_acode = '0020020531' and p23_jundate = '20150423' and p23_jungubun = 'P' ) b 
WHERE a.p23_jundate = b.jundate and a.p23_junno = b.junno and a.p23_seq = b.seq order by 1, 2 desc, 3;

第二条
select p23_jundate, p23_junno, p23_seq, p23_pumbn1, p23_pumbn3, p23_pancnt
from pos23 where p23_brand = '1' and p23_acode = '0020020531' and p23_jundate = '20150423' and p23_jungubun = 'P' order by 1, 2 desc, 3;
------解决思路----------------------
单纯看这两条语句,应该是一样的吧。
但实际使用中,有可能因为要传递一些参数,或是因为一些拼SQL语句的情况,有可能出现第一条语句。
  相关解决方案