SQL²éÑ¯ÖØ¸´Êý¾ÝºÍÇå³ýÖØ¸´Êý¾Ý
ÓÐÀý±í£ºemp
emp_no name age
001 Tom 17
002 Sun 14
003 Tom 15
004 Tom 16
ÒªÇó£º
ÁгöËùÓÐÃû×ÖÖØ¸´µÄÈ˵ļǼ
(1)×îÖ±¹ÛµÄ˼·£ºÒªÖªµÀËùÓÐÃû×ÖÓÐÖØ¸´ÈË×ÊÁÏ£¬Ê×ÏȱØÐëÖªµÀÄĸöÃû×ÖÖØ¸´ÁË£º
select name from emp group by name having count(*)>1
ËùÓÐÃû×ÖÖØ¸´È˵ļǼÊÇ:
select * from emp
where name in (select name from emp group by name having count(*)>1)
(2)ÉÔ΢ÔÙ´ÏÃ÷Ò»µã£¬¾Í»áÏëµ½£¬Èç¹û¶Ôÿ¸öÃû×Ö¶¼ºÍÔ±í½øÐбȽϣ¬´óÓÚ2¸öÈËÃû×ÖÓëÕâÌõ¼Ç¼ÏàͬµÄ¾ÍÊǺϸñµÄ £¬¾ÍÓÐ
select * from emp where (select count(*) from emp e where e.name=emp.name) >1
--×¢ÒâÒ»ÏÂÕâ¸ö>1£¬ÏëÏÂÈç¹ûÊÇ =1£¬Èç¹ûÊÇ =2 Èç¹ûÊÇ>2 Èç¹û e ÊÇÁíÍâÒ»ÕÅ±í ¶øÇÒÊÇ=0Äǽá¹û ¾Í¸üºÃÍæÁË:)
Õâ¸ö¹ý³ÌÊÇ ÔÚÅжϹ¤ºÅΪ001µÄ ÈË µÄʱºòÏÈÈ¡µÃ 001µÄ Ãû×Ö£¨emp.name£© È»ºóºÍÔ±íµÄÃû×Ö½øÐÐ±È½Ï e.name
×¢ÒâeÊÇempµÄÒ»¸ö±ðÃû¡£
ÔÙÉÔ΢ÏëµÃ¶àÒ»µã£¬¾Í»áÏëµ½£¬Èç¹ûÓÐÁíÍâÒ»¸öÃû×ÖÏàͬµÄÈ˹¤ºÅ²»ÓëËýËûÏàͬÄÇôÕâÌõ¼Ç¼·ûºÏÒªÇó£º
select * from emp
where exists&
Ïà¹ØÎĵµ£º
±¾ÏµÁÐÎÄÕµ¼º½
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......
±¾ÏµÁÐÎÄÕµ¼º½
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Ò»)--αÁÐROWNUMʹÓü¼ÇÉ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(¶þ)--±êÁ¿×Ó²éѯ
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Èý)--PackageµÄÓŵã
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(ËÄ)--ÅúÁ¿´¦Àí
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Îå)--µ÷Óô洢¹ý³Ì·µ»Ø½á¹û¼¯
[Oracle]¸ßЧµÄPL/SQL³ÌÐòÉè¼Æ(Áù)- ......
----start
·²ÊÇÖªµÀÊý¾Ý¿âµÄÈ˶¼ÖªµÀSQL£¬·²ÊǶÔSQLÓÐÒ»µãÁ˽âµÄÈ˶¼¾õµÃSQLºÜ¼òµ¥£¬·²ÊÇÓÐÕâÖָоõµÄÈ˶¼ÊÇSQLµÃ³õ¼¶Óû§£¬ÒòΪËûѧ»áÁËÔö²éɾ¸Ä¾ÍÒÔΪÕâ¾ÍÊÇSQLµÄÈ«²¿¡£Ä¿Ç°µÄ´ó²¿·ÖÓ¦ÓÃÈí¼þ¶¼ÊÇÒÔÊý¾Ý¿âΪÖÐÐÄ£¬Ëæ×ÅÈí¼þµÄÔËÐУ¬Êý¾ÝÁ¿»áÔ½À´Ô½´ó¡£ÈçºÎÓüò½à¡¢¸ßЧµÄSQLÓï¾ä²Ù×÷Êý¾ÝÏÔµÃÔ½À ......
HR·þÎñÆ÷£º ²Ù×÷ϵͳ->32λWindows2000 SP4 Êý¾Ý¿â->32λSQL Server2000
OA·þÎñÆ÷£º ²Ù×÷ϵͳ->64λWindows2003 SP2 Êý¾Ý¿â->64λSQL Server2005
OAÏî ......
from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í£¬driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖаüº¬¶à¸ö±íµÄÇé¿öÏ£¬Äã±ØÐëÑ¡Ôñ¼Ç¼ÌõÊý×îÉٵıí×÷Ϊ»ù´¡±í¡£
¡¡¡¡Ìá¸ßSQLÖ´ÐÐЧÂʵļ¸µã½¨Òé:
¡¡¡¡¡ô¾¡Á¿²»ÒªÔÚwhereÖаüº¬×Ó²éѯ;
¡¡¡¡¹ØÓÚʱ¼äµÄ²éѯ£¬¾¡Á¿²»ÒªÐ´³É£ºwhere to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01',' ......