½ÌÄãÈçºÎʹÓÃSQL ServerÀ´¹ýÂËÊý¾Ý
¡¡¡¡¹ØÏµÐÍÊý¾Ýͨ³£ÒԹ淶»¯ÐÎʽ±£´æ£¬¾ÍÊÇ˵ÄãÓ¦¸Ã¾¡¿ÉÄÜÉÙµØÖظ´Êý¾Ý;ͨ³£Çé¿öÏ£¬±íÓë±íÖ®¼ä½öͨ¹ý¸÷ÖÖ¼üֵʵÏÖ¹ØÁª¡£
¡¡¡¡¹ØÏµÐÍÊý¾Ýͨ³£ÒԹ淶»¯ÐÎʽ±£´æ£¬¾ÍÊÇ˵ÄãÓ¦¸Ã¾¡¿ÉÄÜÉÙµØÖظ´Êý¾Ý;ͨ³£Çé¿öÏ£¬±íÓë±íÖ®¼ä½öͨ¹ý¸÷ÖÖ¼üֵʵÏÖ¹ØÁª¡£½øÒ»²½µØ½²£¬¹æ·¶»¯µÄº¬Òå¾ÍÊÇ£ºÄã²»ÄÜÔÚÊý¾Ý¿âÖб£´æ¼ÆËãºóµÄÖµ£¬¶øÄãÖ»ÄÜÔÚÐèÒªµÄʱºòÁÙʱ¼ÆËãÊý¾Ý¿âÖб£´æµÄÖµ¡£
¡¡¡¡¶ÔÊý¾Ý½øÐÐijЩ·ÖÎöͨ³£ÊǺÜÖØÒªµÄ¡£±È·½Ëµ£¬Äã»òÐíÏëÖªµÀÄÄЩ²úÆ·µÄ¶¨µ¥×î¶à»òÕßÄÄЩ¶¨µ¥µÄÀûÈó×î´ó¡£ÕâЩÎÊÌâ¶¼ÒªÇóÄãÕë¶Ô×Ô¼ºµÄSQLÓï¾ä´´½¨Ö´ÐйýÂ˹æÔòµÄ¹«Ê½¡£ÆäÖÐ×îÖØÒªµÄÓï¾äÖ®Ò»¾ÍÊÇGROUP BY×Ӿ䡣
¡¡¡¡NorthwindÊý¾Ý¿âÖе͍µ¥
¡¡¡¡NorthwindÊý¾Ý¿âÊǰüº¬ÔÚSQL Server°²×°Èí¼þÖеÄÁ½¸öʾ·¶Êý¾Ý¿â¡£Õâ¸öÊý¾Ý¿âËäȻ̸²»ÉÏÍêÃÀÎÞȱµ«Ò²×ã¹»Âú×ãÎÒÃÇÌÖÂÛGROUP BYÓï¾äµÄÄ¿µÄÁË¡£ÔÒòÖ®Ò»ÊÇËü¹¤×÷ÔÀíÇåÎú£¬ÔËÐÐÁ¼ºÃ£¬°üº¬ÁËÒ»ÕûÌ×±ê×¼µÄÊý¾Ý±í£¬±ÈÈçCustomers(¿Í»§)¡¢Orders(¶¨µ¥)¡¢Order Details(¶¨µ¥Ï¸½Ú)ºÍ´¦Àí¶¨µ¥µÄProducts(²úÆ·)¡£
¡¡¡¡±íµÄ½á¹¹Ä£Ê½
¡¡¡¡Èç¹ûÄãÏë²é¿´¸÷¸ö¶¨µ¥µÄOrderIDºÍProductID £¬ÒÔϵÄSQLÃüÁî¿ÉÒÔÂú×ãÒªÇó£º
¡¡¡¡SELECT o.OrderID, od.ProductID
¡¡¡¡from Orders o, [Order Details] od
¡¡¡¡WHERE o.OrderID = od.OrderID
¡¡¡¡ÕâÑùÄã¾Íͨ¹ýOrderID×ֶΰÑOrdersºÍOrder DetailsÁ¬½ÓÁËÆðÀ´¡£¸ø³öµÄ½á¹ûÁÐ±í¼´ÏÔʾ¸÷¶¨»õÌõÄ¿µÄOrderIDºÍProductID¡£
¡¡¡¡Äã¿ÉÒÔ´ÓÕâ¸öÁбíÖÐÕÒµ½ÌõÄ¿ÊýÁ¿×î´óµÄ¶¨µ¥¡£¿ÉÊÇ£¬ÔÙÏëÏ룬ҪÄܼòµ¥µØÒªÇóÊý¾Ý¿â¼ÆËã³öÐèÒªµÄÌõÄ¿ÊýÄ¿²»¸ü·½±ãÂð?Èç¹ûÄã²»¹ØÐĵ¥¸öÌõÄ¿¶øÖ»ÏëÖªµÀ¶©¹ºÌõÄ¿ÊýÁ¿×î´óµÄ¶¨µ¥£¬ÄÇôÄã¿ÉÒÔ²ÉÓÃÒÔϵÄSQLÓï¾ä£º
¡¡¡¡SELECT o.OrderID, Count(od.ProductID) as NumItems
¡¡¡¡from Orders o, [Order Details] od
¡¡¡¡WHERE o.OrderID = od.OrderID
¡¡¡¡ÕâÑù¾Í¿ÉÒÔ×ܼƳö²úÆ·µÄÊýÁ¿²¢ÓÃÒ»¸öÃûΪNumItemsµÄÐÂ×Ö¶ÎÀ´ÏÔʾ×ÜÊý¡£¿ÉÊÇ£¬Èç¹ûÄãÖ´ÐиÃÓï¾äÔò¿ÉÄܵõ½ÒÔÏ´íÎó£º
¡¡¡¡Server: Msg 8118, Level 16, State 1, Line 1
¡¡¡¡Ñ¡ÔñÓï¾äÖеÄ'o.OrderID'ÁÐÊÇÎÞЧµÄ£¬ÒòΪËüûÓаüº¬Ôڻ㼯º¯ÊýÖ®ÄÚ¶øÇÒûÓÐÏàÓ¦µÄGROUP BY ×Ӿ䡣
¡¡¡¡ÔÚÕâÖÖÇé¿öÏ£¬Äãʵ¼ÊÉÏÔÚ×ܼÆProductID£¬µ«OrderIDȴûÓб»¼ÆËã×ܺͻòÕßÓÐÆäËû²Ù×÷Ê©¼ÓÓÚÆäÉÏ¡
Ïà¹ØÎĵµ£º
“Where” ÊÇÒ»¸öÔ¼ÊøÉùÃ÷£¬Ê¹ÓÃWhereÀ´Ô¼ÊøÀ´Ö®Êý¾Ý¿âµÄÊý¾Ý£¬WhereÊÇÔÚ½á¹û·µ»ØÖ®Ç°Æð×÷Óõģ¬ÇÒWhereÖв»ÄÜʹÓþۺϺ¯Êý¡£
“Having”ÊÇÒ»¸ö¹ýÂËÉùÃ÷£¬ÊÇÔÚ²éѯ·µ»Ø½á¹û¼¯ÒÔºó¶Ô²éѯ½á¹û½øÐеĹýÂ˲Ù×÷£¬ÔÚHavingÖпÉÒÔʹÓþۺϺ¯Êý¡£
ÔÚËµÇø±ð֮ǰ£¬µÃÏȽéÉÜGROUP BYÕâ¸ö×Ӿ䣬¶øÔÚ˵GROUP×Ó¾äǰ ......
Èç¹ûSQL Server³ÌÐòÔ±Ï뽫±í´ïʽ´ÓÒ»ÖÖ»»ÎªÁíÒ»ÖÖ£¬Ëû¿ÉÒÔ´ÓSQL Server 7ºÍ2000ÖÐ×Ô´øµÄÁ½ÖÖ¹¦ÄÜÖÐ×ö³öÑ¡Ôñ¡£ÔÚ´æ´¢¹ý³Ì»òÆäËûÇé¿öÏ£¬ÎÒÃdz£³£ÐèÒª½«Êý¾Ý´ÓdatetimeÐÍת»¯³ÉvarcharÐÍ£»CONVERTºÍCAST¾Í¿ÉÒÔÓÃÓÚÕâÖÖÇé¿ö¡£
¡¡¡¡ÓÉÓÚSQL ServerÌṩÁ½ÖÖ¹¦ÄÜ£¬Òò´ËÓ¦¸ÃÑ¡ÔñÄÄÖÖ¹¦ÄÜ»òÓ¦¸ÃÔÚÄÄÖÖÇé¿öÏÂʹÓøù¦ÄܾͺÜÈÝÒ×Èà ......
SQL SERVER ºÍEXCELµÄÊý¾Ýµ¼Èëµ¼³ö
ͨ³£µÄ·½·¨ÊÇʹÓÃͼÐνçÃæµÄdts¹¤¾ß£¬µ«·¢¾õÓÐЩʹÓÃÃüÁîÐнçÃæµÄ·½Ê½¸ü¼òµ¥
1¡¢ÔÚSQL SERVERÀï²éѯExcelÊý¾Ý:
-- ======================================================
SELECT *
from OpenDataSource( 'Microsoft.Jet.OLEDB.4.0',
'Data Source="c:\book1.xls";Use ......
ÔÚÍøÉÏËÑÁË ºÃ¶à
ÓÐÆ´½Ó×Ö·û´®µÄ£¬²»¹ýÎÒ¾õµÃ ¼ÈÈ» sql ³ýÁË dateTime Õâ¸öÀàÐÍ ¾Í²»»áÈÃÄã È¥½ØÈ¡×Ö·û´® £¨ÕâÑù¶àÂ鷳ѽ£©
ÓÚÊÇÔÙËÑ £¬ÕÒµ½Ò»¸ö±È½ÏºÃµÄ ÏÖÔÚ½éÉÜÒ»ÏÂ
DATEDIFF(DAY,addDate, '2010-04-23') = -1
ʲôÒâË¼ÄØ£¿ÌýÎÒÂýÂý·Ö½â
DATEDIFF ²»ÓöàÉÙ º¯ÊýÃû
DAY ......
-- To allow advanced options to be changed.
EXEC sp_configure 'show advanced options', 1
GO
-- To update the currently configured value for advanced options.
RECONFIGURE
GO
-- To enable the feature.
EXEC sp_configure 'CLR', 0
GO
-- To update the currently configured value for this feature.
......