db:oracle9i
table: MOBILE_TESTname     color  
NOKI3     RED              
NOKIA     NOKI3  
NOKIA1    NOKIA1  
写了段自我连接的sql文,如下:SELECT UNIQUE  A.NAME,A.COLOR
FROM MOBILE_TEST A JOIN MOBILE_TEST B
ON A.COLOR = B.NAME
AND A.NAME  != B.NAME 疑问1、自我连接在实际项目中用得多吗?
疑问2、AND A.NAME  != B.NAME  换成 WHERE A.NAME  != B.NAME 
       检索效果一样。其他的单表检索条件(如:A.NAME = 'NOKIA')也作为ON
       的一部分,规范吗?(我试过,跟放在where后面检索效果是一样的。)疑问3、没有写 AND A.NAME  != B.NAME  的话:
       NOKIA1    NOKIA1
       NOKIA     NOKI3       写了 AND A.NAME  != B.NAME  的话:
       NOKIA     NOKI3
 
       我写这句本意是想排出记录跟自己比较的可能性。可是好像作用跟我想象的有出入……迷惑中请大家帮我指点迷津啊!拜谢!