Oracle select in/exists/not in/not exits
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£
in ÊǰÑÍâ±íºÍÄÚ±í×÷hash Á¬½Ó£¬¶øexistsÊǶÔÍâ±í×÷loopÑ»·£¬Ã¿´ÎloopÑ»·ÔÙ¶ÔÄÚ±í½øÐвéѯ¡£
Ò»Ö±ÒÔÀ´ÈÏΪexists±ÈinЧÂʸߵÄ˵·¨ÊDz»×¼È·µÄ¡£
Èç¹û²éѯµÄÁ½¸ö±í´óСÏ൱£¬ÄÇôÓÃinºÍexists²î±ð²»´ó¡£ Èç¹ûÁ½¸ö±íÖÐÒ»¸ö½ÏС£¬Ò»¸öÊÇ´ó±í£¬Ôò×Ó²éѯ±í´óµÄÓÃexists£¬×Ó²éѯ±íСµÄÓÃin£º ÀýÈ磺±íA£¨Ð¡±í£©£¬±íB£¨´ó±í£©
1£º
select * from A where cc in (select cc from B)
ЧÂʵͣ¬Óõ½ÁËA±íÉÏccÁеÄË÷Òý£»
select * from A where exists(select cc from B where cc=A.cc)
ЧÂʸߣ¬Óõ½ÁËB±íÉÏccÁеÄË÷Òý¡£
Ïà·´µÄ
2£º
select * from B where cc in (select cc from A)
ЧÂʸߣ¬Óõ½ÁËB±íÉÏccÁеÄË÷Òý£»
select * from B where exists(select cc from A where cc=B.cc)
ЧÂʵͣ¬Óõ½ÁËA±íÉÏccÁеÄË÷Òý¡£
not in ºÍnot exists
Èç¹û²éѯÓï¾äʹÓÃÁËnot in ÄÇôÄÚÍâ±í¶¼½øÐÐÈ«±íɨÃ裬ûÓÐÓõ½Ë÷Òý£»
¶ønot extsts µÄ×Ó²éѯÒÀÈ»ÄÜÓõ½±íÉϵÄË÷Òý¡£
ËùÒÔÎÞÂÛÄǸö±í´ó£¬ÓÃnot exists¶¼±Ènot inÒª¿ì¡£ in Óë =µÄÇø±ð select name from student where name in ('zhang','wang','li','zhao'); Óë select name from student where name='zhang' or name='li' or name='wang' or name='zhao' µÄ½á¹ûÊÇÏàͬµÄ¡£
-----------------------------------------------------------------ʵÀý
--µÇ½gather/123456@pc150 Ö´ÐÐÒÔÏÂÓï¾ä£¬×¢ÒâÖ´ÐÐʱ¼ä
---С±í
er_street_code
select distinct tt.gkdm from er_street_code tt where tt.gkdm is not null
---´ó±í
er_in_detail,er_reck_detail ---Àý1
select * from er_reck_detail t1 where t1.gkdm in (select gg.gkdm from er_street_code gg) select * from er_reck_detail t1 where exists (select * from er_street_code gg where t1.gkdm=gg.gkdm) ---Àý2
select * from er_street_code aa where aa.gkdm in (select mm.gkdm from er_reck_detail mm) select * from er_street_code aa where exists (select * from er_reck_detail
Ïà¹ØÎĵµ£º
SOURCE: CLICK HERE
±¾ÎĽ²ÊöSQL Server¡¢Oracle¡¢MySQL²é³öֵΪNULLµÄÌæ»»¡£
ÔÚSQL Server Oracle MySQLµ±Êý¾Ý¿âÖвé³öijֵΪNULLÔõô°ì?
1¡¢MSSQL: ISNULL()
Óï·¨
ISNULL ( check_expression , replacement_value )
²ÎÊý
check_expression
½«±»¼ì²éÊÇ·ñΪ NULLµÄ±í´ïʽ¡£check_expression ¿ÉÒÔÊÇÈκÎÀàÐ͵ġ£
re ......
Õâ¶Îʱ¼äΪ¹«Ë¾ÄÚ²¿µÄÊý¾Ý´¦Àí¿ª·¢ÁËÒ»¸ö¹¤¾ß£¬Ç£Éæµ½ÔÚOracleÖм¯³ÉjavaÓ¦Óã¬×ܽáÁËһЩ¾Ñ飬ÒÔ¹©´ó¼Ò²Î¿¼ÁË£¡
³ÌÐò·ÖÁ½²¿·Ö£¬Ç°¶Ë½çÃæÓÉVB/VC¿ª·¢£¬Ö÷ҪʵÏÖÊý¾Ý´¦ÀíÅäÖü°³£¹æ¼Ç¼ÔËË㣬Õⲿ·ÖûÓÐʲôºÃ˵µÄÁË¡£
ºǫ́ÒÔOracleΪÊý¾Ý»ù´¡´¦ÀíÍÐ¹ÜÆ½Ì¨£¬ÔÚÊý¾Ý´¦Àí¹ý³ÌÖУ¬ÐèÒª¶ÔһЩÃû³Æ¡¢µØÖ·Ê²Ã´µÄ½øÐÐÕªÒªÌáÈ¡¡¢² ......
drop table tmp_lzw_3283_tar;
create table tmp_lzw_3283_tar
(
servnumber varchar2(11)
)
;
load data
infile 'tar_3283.txt'
insert into table tmp_lzw_3283_tar
fields terminated by '|'
(
servnumber
)
/*
select count(*),count(distinct servnumber) from tmp_lzw_3283_ta ......
ÀûÓÃoracleÉ󼯹¦ÄÜÀ´¼à²âÊÔ»·¾³µÄ±ä»¯
×ö¹ý²âÊÔµÄÈ˶¼Ó¦¸Ã»áÅöµ½ÕâÑùµÄÇé¿ö£º²âÊÔ·¢ÏÖµÄbugÔÚ¿ª·¢»úÆ÷ÉÏûÓгöÏÖ£¬ÏÔÈ»ÕâÊÇ»·¾³²îÒìµÄÔÒò¡£Ï൱¶àÇé¿öÏ£¬ÒòΪ²âÊÔʹÓõÄÊý¾Ý¿â½á¹¹ºÍ¿ª·¢Ê¹ÓõÄÊý¾Ý¿â½á¹¹²»Ò»ÖÂÔì³ÉµÄ¡£ÓÈÆäÊÇһЩ¹«Ë¾ÔÚÌá½»²âÊÔ°æ±¾µÄʱºò£¬×¢ÖØÓ¦Óà ......
sqlldrÏê½â
Oracle µÄSQL*LOADER¿ÉÒÔ½«ÍⲿÊý¾Ý¼ÓÔØµ½Êý¾Ý¿â±íÖС£ÏÂÃæÊÇSQL*LOADERµÄ»ù±¾Ìص㣺
1£©ÄÜ×°È벻ͬÊý¾ÝÀàÐÍÎļþ¼°¶à¸öÊý¾ÝÎļþµÄÊý¾Ý
2£©¿É×°Èë¹Ì¶¨¸ñʽ£¬×ÔÓɶ¨½çÒÔ¼°¿É¶È³¤¸ñʽµÄÊý¾Ý
3£©¿ÉÒÔ×°Èë¶þ½øÖÆ£¬Ñ¹ËõÊ®½øÖÆÊý¾Ý
4£©Ò»´Î¿É¶Ô¶à¸ö±í×°ÈëÊý¾Ý
5£©Á¬½Ó¶à¸öÎïÀí¼Ç¼װµ½Ò»¸ö¼Ç¼ÖÐ
6£©¶ÔÒ ......