ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

SQLÓï¾äÖ®Óï·¨»ã×Ü(¶þ)(Ò»)
2014-11-24 02:59:37 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:5´Î
Tags£ºSQL Óï¾ä Óï·¨ »ã×Ü
SQLÓï¾äÖ®Óï·¨»ã×Ü(¶þ)
¼Ì ǰһƪ½éÉÜSQLµÄ¼òµ¥Óï·¨ºó£¬±¾Æ¬½«Ö÷Òª½éÉÜʵ¼ÊÓ¦ÓÃÖг£ÓõÄÓï·¨£¬ÈçÊý¾ÝÅÅÐòorder by¡¢Í¨Åä·ûLike¹ýÂË¡¢¿ÕÖµ´¦Àí¡¢Êý¾Ý·Ö×égroup by¡¢ÏÞÖÆ½á¹û¼¯ÐÐÊýtop 5*¡¢È¥µôÊý¾ÝÖØ¸´distinct¡¢ÁªºÏ½á¹û¼¯union/union all¡¢Êý×Öº¯Êý¡¢×Ö·û´®º¯Êý¡¢ÈÕÆÚº¯Êý¡¢ÀàÐÍת»»º¯Êýcast /convert¡¢Ë÷Òý¡¢±íÁ¬½ÓjoinµÈ£¬ÆäÖлá½áºÏ¾ßÌå´úÂë¼°Àý×ÓÓèÒÔ˵Ã÷¡£
¡¡¡¡Îª·½±ã²é¿´Ê¾ÀýselectÓï¾ä£¬ÎÄÕÂ×îºó»á¸½ÉÏÐèÒª´´½¨µÄtable±í£º¡¡¡¡
Ò».Êý¾Ý·Ö×égroup by(¾ÛºÏº¯Êý)
¡¡¡¡1.1´úÂ룺 www.2cto.com
1.group by¼òµ¥Óï¾ä
--ͳ¼ÆÃ¿¸öÄêÁä¶ÎµÄÈËÊý
1). select FAge,count(*)as ÈËÊý from T_Employee group by FAge;¡¡¡¡ --right
2). select FAge,FSalary,count(*) from T_Employee group by FAge; --error
--³ÌÐò±¨´í£ºÑ¡ÔñÁбíÖеÄÁÐ 'T_Employee.FSalary' ÎÞЧ£¬ÒòΪ¸ÃÁÐûÓаüº¬ÔھۺϺ¯Êý»ò GROUP BY ×Ó¾äÖС£
--·ÖÎö£º°´ÕÕage·Ö×飬ͬһ¸öage¿ÉÄÜÓкü¸¸ö¹¤×Êˮƽ£¬¼ÆËã»úÎÞ·¨È·¶¨ÏÔʾÄĸö¶ø±¨´í£¡
3). select FAge,max(FSalary)as ×î¸ß¹¤×Ê,count(*) as ÈËÊý from T_Employee group by FAge; --right!
--·ÖÎö£ºÏÔʾ³öageÿ×éµÄ×î¸ß¹¤×ʼ´¿É
2.group byÓëwhere¡¢having1). select FAge,count(*) from T_Employee where count(*)>1 group by FAge;--error:
2). select FAge,count(*) from T_Employee group by FAge having count(*)>1 --right:
¡¡¡¡1.2·ÖÎö£º
¡¡¡¡1£©group byÊǰ´ÕÕijһ¸ö×Ö¶ÎÀ´¶ÔtableÖÐÐÅÏ¢½øÐÐÕûºÏ·Ö×飬ÔÚ´úÂë"group by¼òµ¥Óï¾ä"ÖУ¬1¡¢3ÕýÈ·£¬¶ø2´íÎ󣬿ÉÒÔ×öÈçÏ·ÖÎö£º
¡¡¡¡ÎÒÃÇÒÔFAge½øÐзÖ×飬¼´½«Ã¿¸öÄêÁä¶ÎµÄÐÅÏ¢½øÐÐÕûºÏ£¬»ñÈ¡µ½µÄ½á¹û¿ÉÄÜÊÇ23ËêµÄÓÐabcÈý¸öÈË£¬¹¤×ÊΪ100¡¢200¡¢300£¬ÄÇôֻÄÜÈ¡ÆäÖÐijһ¸ö¹¤×ÊˮƽÏÔʾ£¬Èç
max(FSalary)£¬¶ø²»ÄÜÖ±½ÓдFSalary£¬·ñÔò¼ÆËã»ú±ØÈ»ÎÞ·¨È·¶¨ÏÔʾÄĸö¶ø±¨´í£¡²Î¿¼ÏÂͼ£¬Îª¡°3£©¡±µÄÏÔʾ½á¹û£º


¡¡¡¡2£©¾ÛºÏÓï¾ä²»ÄܳöÏÖÔÚ WHERE ×Ó¾äÖÐ,³ý·ÇÓÐhaving £¬Òò¶øÓï¾ä"1)"´íÎ󣬶øÓï¾ä"2)"³öÏÖhaving£¬ÕýÈ·£¬·ÖÎö£ºhaving¶Ô»ñÈ¡µ½µÄÿ×éÐÅÏ¢£¬ÔÙ½øÐйýÂË£¬È¡µÃÈËÊý³¬¹ý1µÄ×飨½á¹ûÏÔʾ£º25Ëê 3È˵ȣ©
¡¡¡¡3£©¼ÈÈ»´æÔÚÉÏÊöÇé¿ö£¬ÄÇÊDz»ÊÇhaving¿ÉÒÔÈ¡´úwhereÓï¾äÄØ£¿´ð°¸ÊÇ·ñ¶¨µÄ£¬²Î¿¼´úÂ룺
a). select FAge, count(*) from T_Employee where FSalary>2000 group by FAge; --right
b). select FAge, count(*) from T_Employee group by FAge having FSalary>2000; --error:¡¡¡¡ www.2cto.com
c). select FAge, count(*) from T_Employee group by FAge having FAge>25; --right
¡¡¡¡·ÖÎö£º"a)"ÖÐʹÓÃwhere£¬¿ÉÒÔʵÏÖ¶Ô·Ö×éǰµÄÊý¾Ý½øÐйýÂË£»¼´Èç¹û25Ëê×éÖÐÓÐ3ÈË£¨3000,2000,4000£©£¬ÄÇôʹÓÃwhereÓï¾äºó£¬½á¹ûΪ25 2ÈË¡£
¡¡¡¡¶øhavingÖ»ÄܶԻñµÃµÄ×éÐÅÏ¢½øÐйýÂË£¬¼´¶Ô"select FAge, count(*) from T_Employee group by FAge"µÄ½á¹û½øÐйýÂË£¬´ËʱÎÞ·¨ÔÙ¶ÔFSalaryȥɸѡ£¬ÎÞ·¨ÊµÏÖwhereʵÏֵŦÄÜ,Òò¶ø"b)"´íÎó£»
¡¡¡¡µ«Èç¹û¶ÔÄêÁäˢѡhaving FAge>25¾ÍÕýÈ·£¬ÒòΪselect½á¹ûÖаüº¬FAge×ֶΣ¬¿ÉÒÔ½øÐмòµ¥where¶ÔÄêÁäµÄɸѡ£¬¼´"c)"ÕýÈ·£¡¡¡¡¡
¶þ.Êý¾ÝÅÅÐò
¡¡¡¡2.1´úÂ룺¡¡¡¡
1). µ¥×Ö¶ÎÅÅÐò£º
select * from T_Employee order by FAge ASC; ¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡--¶ÔÄêÁä½øÐÐÅÅÐò
2). ¶à×Ö¶ÎÅÅÐò
select * from T_Employee order by FAge ASC ,Fsalary ASC; --½øÒ»²½ÅÅÐò(ÄêÁäÏàͬµÄ£¬°´ÕÕ¹¤×ÊÅÅÐò)£¡Ç°ÃæµÄÓÅÏȼ¶¸ß£¡
3). ¶Ô¹ýÂ˺ó½á¹û½øÐÐÅÅÐò£º
select * from T_Employee where FAge>24 order by FAge DESC;
¡¡¡¡2.2 ·ÖÎö
¡¡¡¡1£©ÅÅÐòÌõ¼þ¿ÉÒÔÓжà¸ö£¬µ«Ô½Ç°ÓÅÏȼ¶Ô½¸ß£»
¡¡¡¡2£©ASCÉýÐò(default)¡¢ DESC½µÐò£¬Æ½Ê±Ê¹ÓÃÅÅÐòʱ£¬ASC·½Ê½ËäΪĬÈÏ£¬µ«×îºÃ²»ÒªÊ¡ÂÔ£¬ÔöÇ¿´úÂë¿É¶ÁÐÔ
Èý.ͨÅä·û
¡¡¡¡3.1´úÂë
1). ͨÅä·û_,µ¥¸ö×Ö·û£º
select * from T_Employee where FName LIKE '_erry';
2). ͨÅä·û%,Áã»ò¶à¸ö×Ö·û£º
select * from T_Employee where FName like '%n%'; --FNameÖк¬ÓÐ×ÖĸnµÄ
select * from T_Employee where FNumber like 'DEV%'; --FNumberÖÐÒÔDEV¿ªÊ¼µÄ
¡¡¡¡3.2·ÖÎö
¡¡¡¡×¢ÒâÇø·ÖLikeÖÐ µ¥×Ö·û ²»¶¨×Ö·ûÓ÷¨µÄÇø±ð£¡
ËÄ. ¿ÕÖµ´¦Àí www.2cto.com
¡¡¡¡4.1´úÂ룺
--¿ÕÖµ´¦Àí£º
select 'abc'+'123' --½á¹û:abc123
select ''+'123' --½á¹û:123
select null+'123' --½á¹û:NULL
select * from T_Employee where FName=null; --error ûÓнá¹û£¬¿ÉÒÔ³¢ÊÔnull <>null¾ùÎÞ½á¹û£¡
select * from T_Employee where FName is null; --right ²éѯµ½nameΪnullµÄ½á¹û£¡
select * from T_Employee where FName is not null; --error ²éѯµ½ËùÓÐname²»ÎªnullµÄ½á¹û£¡
¡¡¡¡4.2·ÖÎö£º
¡¡¡¡1£© Êý¾Ý¿âÖУ¬Ò»¸öÁÐÈç¹ûûÓÐÖ¸¶¨Öµ£¬ÄÇôֵ¾ÍÊÇnull£¬´Ë´¦µÄnullÓë c#ÖеÄnull²»Í¬£¬Êý¾Ý¿âÖбíʾ¡°²»ÖªµÀ¡±£¬¶ø²»ÊÇ¡°Ã»ÓС±
¡¡¡¡2£©¿ÉÒÔ³¢ÊÔFName!=null¡¢FName=null¡¢FName=<>null¾ùÎÞ½á¹û£¡
¸½£º´´½¨µÄ¼¸¸ötable
www.2cto.com
Table T_Employee
--´´½¨±í
create table T_Employee(FNumber varchar(20),FName varchar(20),FAge int,FSalary numeric(10,2),PR
Ê×Ò³ ÉÏÒ»Ò³ 1 2 ÏÂÒ»Ò³ βҳ 1/2/2
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºSQL ServerÊÖ¹¤²åÈë±êʶÁÐ ÏÂһƪ£ºsqlserver£¬²éѯµÚNµ½MÌõ¼Ç¼£¬Æä..

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ:

¡¤Linuxϵͳ¼ò½é (2025-12-25 21:55:25)
¡¤Linux°²×°MySQL¹ý³Ì (2025-12-25 21:55:22)
¡¤Linuxϵͳ°²×°½Ì³Ì£¨ (2025-12-25 21:55:20)
¡¤HTTP Åc HTTPS µÄ²î„ (2025-12-25 21:19:45)
¡¤ÍøÕ¾°²È«±ØÐ޿ΣºÍ¼ (2025-12-25 21:19:42)