SQL ÖÐhaving ºÍwhereµÄÇø±ð
group by
ÔÚselect Óï¾äÖпÉÒÔʹÓÃgroup by ×Ӿ佫Ðл®·Ö³É½ÏСµÄ×飬Ȼºó£¬Ê¹ÓþÛ×麯Êý·µ»ØÃ¿Ò»¸ö×éµÄ»ã×ÜÐÅÏ¢£¬ÁíÍ⣬¿ÉÒÔʹÓÃhaving×Ó¾äÏÞÖÆ·µ»ØµÄ½á¹û¼¯¡£group by ×Ó¾ä¿ÉÒÔ½«²éѯ½á¹û·Ö×飬²¢·µ»ØÐеĻã×ÜÐÅÏ¢Oracle °´ÕÕgroup by ×Ó¾äÖÐÖ¸¶¨µÄ±í´ïʽµÄÖµ·Ö×é²éѯ½á¹û¡£
ÔÚ´øÓÐgroup by ×Ó¾äµÄ²éѯÓï¾äÖУ¬ÔÚselect ÁбíÖÐÖ¸¶¨µÄÁÐҪôÊÇgroup by ×Ó¾äÖÐÖ¸¶¨µÄÁУ¬ÒªÃ´°üº¬¾Û×麯Êý
select max(sal),job emp group by job;
(×¢Òâmax(sal), job µÄjob²¢·ÇÒ»¶¨Òª³öÏÖ£¬µ«ÓÐÒâÒå )
²éѯÓï¾äµÄselect ºÍgroup by ,having ×Ó¾äÊǾÛ×麯ÊýΨһ³öÏֵĵط½£¬ÔÚwhere ×Ó¾äÖв»ÄÜʹÓþÛ×麯Êý¡£
select deptno,sum(sal) from emp where sal>1200 group by deptno having sum(sal)>8500 order by deptno;
µ±ÔÚgropu by ×Ó¾äÖÐʹÓÃhaving ×Ó¾äʱ£¬²éѯ½á¹ûÖÐÖ»·µ»ØÂú×ãhavingÌõ¼þµÄ×é¡£ÔÚÒ»¸ösqlÓï¾äÖпÉÒÔÓÐwhere×Ó¾äºÍhaving×Ӿ䡣having Óëwhere ×Ó¾äÀàËÆ£¬¾ùÓÃÓÚÉèÖÃÏÞ¶¨Ìõ¼þ
where ×Ó¾äµÄ×÷ÓÃÊÇÔÚ¶Ô²éѯ½á¹û½øÐзÖ×éǰ£¬½«²»·ûºÏwhereÌõ¼þµÄÐÐÈ¥µô£¬¼´ÔÚ·Ö×é֮ǰ¹ýÂËÊý¾Ý£¬Ìõ¼þÖв»Äܰüº¬¾Û×麯Êý£¬Ê¹ÓÃwhereÌõ¼þÏÔÊ¾ÌØ¶¨µÄÐС£
having ×Ó¾äµÄ×÷ÓÃÊÇɸѡÂú×ãÌõ¼þµÄ×飬¼´ÔÚ·Ö×éÖ®ºó¹ýÂËÊý¾Ý£¬Ìõ¼þÖо³£°üº¬¾Û×麯Êý£¬Ê¹ÓÃhaving Ìõ¼þÏÔÊ¾ÌØ¶¨µÄ×飬Ҳ¿ÉÒÔʹÓöà¸ö·Ö×é±ê×¼½øÐзÖ×é¡£
²éѯÿ¸ö²¿ÃŵÄÿÖÖְλµÄ¹ÍÔ±Êý
select deptno,job,count(*) from emp group by deptno,job;
¡¡¡¡Èç¹ûÄã¶ÔºÎʱӦ¸ÃʹÓÃWHERE£¬ºÎʱʹÓÃHAVINGÈԾɺÜÃÔ»ó£¬Çë×ñÕÕÏÂÃæµÄ˵Ã÷£º
¡¡¡¡WHEREÓï¾äÔÚGROUP BYÓï¾ä֮ǰ£»SQL»áÔÚ·Ö×é֮ǰ¼ÆËãWHEREÓï¾ä¡£
¡¡¡¡HAVINGÓï¾äÔÚGROUP BYÓï¾äÖ®ºó£»SQL»áÔÚ·Ö×éÖ®ºó¼ÆËãHAVINGÓï¾ä¡£
Ïà¹ØÎĵµ£º
×îÏÈÏ£ÍûʹÓÃdatatable.columnsÖÖËùº¬ÓеÄÊôÐÔÖ±½Ó»ñÈ¡Ïà¹ØÐÅÏ¢£¬¿É²âÊÔºó·¢ÏÖ£¬³ýÁË×Ö¶ÎÃûºÍ×Ö¶ÎÀàÐÍ£¬ÆäËûÊý¾ÝÒ»¸ÅÕÒ²»µ½¡£
GOOGLEÍøÉϺܶàÖÖ·½·¨£¬ÆäÖÐ×îÖ±½ÓµÄÊÇÖ±½Ó²éѯSQLSERVERµÄinformation_schema.columsÊÓͼ£¬´ÓÖÐÖ±½Ó»ñÈ¡ÐÅÏ¢£¬²»¹ýºóÀ´ÓÖ·¢ÏÖ£¬ËäÈ»Êý¾ÝʱȫÁË£¬¿ÉÊÇÐèҪͨ¹ýºÜ¸´Ôӵķ½·¨£¨sys.all_columns sys ......
ÎÒÃÇÒª×öµ½²»µ«»áдSQL,»¹Òª×öµ½Ð´³öÐÔÄÜÓÅÁ¼µÄSQL,ÒÔÏÂΪ±ÊÕßѧϰ¡¢ÕªÂ¼¡¢²¢»ã×ܲ¿·Ö×ÊÁÏÓë´ó¼Ò·ÖÏí£¡
£¨1£© Ñ¡Ôñ×îÓÐЧÂʵıíÃû˳Ðò(Ö»ÔÚ»ùÓÚ¹æÔòµÄÓÅ»¯Æ÷ÖÐÓÐЧ)£º
ORACLE µÄ½âÎöÆ÷°´ÕÕ´ÓÓÒµ½×óµÄ˳Ðò´¦Àífrom×Ó¾äÖеıíÃû£¬from×Ó¾äÖÐдÔÚ×îºóµÄ±í(»ù´¡±í driving table)½«±»×îÏÈ´¦Àí£¬ÔÚfrom× ......
/******* µ¼³öµ½excel
exec master..xp_cmdshell ’bcp settledb.dbo.shanghu out c:\temp1.xls -c -q -s"gnetdata/gnetdata" -u"sa" -p""’
/*********** µ¼Èëexcel
select *
from opendatasource( ’microsoft.jet.oledb.4.0’,
’data source="c:\test.xls";user ......
SQL ServerÔÚ°²×°µ½·þÎñÆ÷ÉϺó£¬ÓÉÓÚ³öÓÚ·þÎñÆ÷°²È«µÄÐèÒª£¬ËùÒÔÐèÒªÆÁ±ÎµôËùÓв»Ê¹ÓõĶ˿ڣ¬Ö»¿ª·Å±ØÐëʹÓõĶ˿ڡ£ÏÂÃæ¾ÍÀ´½éÉÜÏÂSQL Server 2008ÖÐʹÓõĶ˿ÚÓÐÄÄЩ£º
Ê×ÏÈ£¬×î³£ÓÃ×î³£¼ûµÄ¾ÍÊÇ1433¶Ë¿Ú¡£Õâ¸öÊÇÊý¾Ý¿âÒýÇæµÄ¶Ë¿Ú£¬Èç¹ûÎÒÃÇÒªÔ¶³ÌÁ¬½ÓÊý¾Ý¿âÒýÇæ£¬ÄÇô¾ÍÐèÒª´ò¿ª¸Ã¶Ë¿Ú¡£Õâ¸ö¶Ë¿ÚÊÇ¿ÉÒÔÐ޸ĵģ¬ÔÚ&ldqu ......