神奇的问题—>oracle

今天使用oracle 的sql语句的时候出现了一个问题   估计是因为对表连接的概念不熟悉引起的 

 

使用sql为

select t.* from sb_humanaadd t , master_branch mb where t.aab001 = mb.branchcode and mb.mastercode = '10310026';

结果如下:

image 

使用如下sql

SELECT Sb_Humanaadd.*,sbt004.*
             FROM SB_HUMANAADD,sbt004
             where exists (SELECT branchcode
                        FROM MASTER_BRANCH mb
                       WHERE mastercode = '10310026'
                         and mb.branchcode = SB_HUMANAADD.AAB001) and sbt004.p_number = sb_humanaadd.p_number;

 

image

这样数据就不对了

通过以下sql发现为正确

select * from sb_humanaadd where sb_humanaadd.p_number = '090706141151812101'

结果为

image

posted @ 2009-08-02 13:52  Atpking  阅读(135)  评论(0编辑  收藏  举报