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&
Ïà¹ØÎĵµ£º
--------------·½·¨A-----------------
³ÌÐò:
declare
i int:=1;
v varchar2(200):=NULL;
v1 varchar2(20):=NULL;
begin
loop
for k in 1..i loop
v1:=k||' ......
¡¡¡¡
¡¡¡¡¡ô¾¡Á¿²»ÒªÔÚwhereÖаüº¬×Ó²éѯ;
¡¡¡¡¹ØÓÚʱ¼äµÄ²éѯ£¬¾¡Á¿²»ÒªÐ´³É£ºwhere to_char(dif_date,'yyyy-mm-dd')=to_char('2007-07-01','yyyy-mm-dd');
¡¡¡¡¡ôÔÚ¹ýÂËÌõ¼þÖУ¬¿ÉÒÔ¹ýÂ˵ô×î´óÊýÁ¿¼Ç¼µÄÌõ¼þ±ØÐë·ÅÔÚwhere×Ó¾äµÄĩβ;
¡¡¡¡from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í£¬driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom×Ó¾äÖа ......
1.²éѯµÄÄ£ºýÆ¥Åä
¾¡Á¿±ÜÃâÔÚÒ»¸ö¸´ÔÓ²éѯÀïÃæÊ¹Óà LIKE '%parm1%'—— ºìÉ«±êʶλÖõİٷֺŻᵼÖÂÏà¹ØÁеÄË÷ÒýÎÞ·¨Ê¹Óã¬×îºÃ²»ÒªÓÃ.
½â¾ö°ì·¨:
ÆäʵֻÐèÒª¶Ô¸Ã½Å±¾ÂÔ×ö¸Ä½ø£¬²éѯËٶȱã»áÌá¸ß½ü°Ù±¶¡£¸Ä½ø·½·¨ÈçÏ£º
a¡¢ÐÞ¸Äǰ̨³ÌÐò——°Ñ²éѯÌõ¼þµÄ¹©Ó¦ÉÌÃû³ÆÒ»À¸ÓÉÔÀ´µÄÎı¾ÊäÈë¸ÄΪÏÂÀÁб ......