Ò׽ؽØͼÈí¼þ¡¢µ¥Îļþ¡¢Ãâ°²×°¡¢´¿ÂÌÉ«¡¢½ö160KB

SQL Server Ë÷Òý½á¹¹¼°ÆäʹÓ㨶þ£©

Ò»¡¢ÉîÈëdz³öÀí½âË÷Òý½á¹¹
¸ÄÉÆSQLÓï¾ä
¡¡¡¡ºÜ¶àÈ˲»ÖªµÀSQLÓï¾äÔÚSQL SERVERÖÐÊÇÈçºÎÖ´Ðеģ¬ËûÃǵ£ÐÄ×Ô¼ºËùдµÄSQLÓï¾ä»á±»SQL SERVERÎó½â¡£±ÈÈ磺
select * from table1 where name=''zhangsan'' and tID > 10000
ºÍÖ´ÐÐ:
select * from table1 where tID > 10000 and name=''zhangsan''
¡¡¡¡Ò»Ð©È˲»ÖªµÀÒÔÉÏÁ½ÌõÓï¾äµÄÖ´ÐÐЧÂÊÊÇ·ñÒ»Ñù£¬ÒòΪÈç¹û¼òµ¥µÄ´ÓÓï¾äÏȺóÉÏ¿´£¬ÕâÁ½¸öÓï¾äµÄÈ·ÊDz»Ò»Ñù£¬Èç¹ûtIDÊÇÒ»¸ö¾ÛºÏË÷Òý£¬ÄÇôºóÒ»¾ä½ö½ö´Ó±íµÄ10000ÌõÒÔºóµÄ¼Ç¼ÖвéÕÒ¾ÍÐÐÁË£»¶øÇ°Ò»¾äÔòÒªÏÈ´ÓÈ«±íÖвéÕÒ¿´Óм¸¸öname=''zhangsan''µÄ£¬¶øºóÔÙ¸ù¾ÝÏÞÖÆÌõ¼þÌõ¼þtID>10000À´Ìá³ö²éѯ½á¹û¡£
¡¡¡¡ÊÂʵÉÏ£¬ÕâÑùµÄµ£ÐÄÊDz»±ØÒªµÄ¡£SQL SERVERÖÐÓÐÒ»¸ö“²éѯ·ÖÎöÓÅ»¯Æ÷”£¬Ëü¿ÉÒÔ¼ÆËã³öwhere×Ó¾äÖеÄËÑË÷Ìõ¼þ²¢È·¶¨ÄĸöË÷ÒýÄÜËõС±íɨÃèµÄËÑË÷¿Õ¼ä£¬Ò²¾ÍÊÇ˵£¬ËüÄÜʵÏÖ×Ô¶¯ÓÅ»¯¡£
¡¡¡¡ËäÈ»²éѯÓÅ»¯Æ÷¿ÉÒÔ¸ù¾Ýwhere×Ó¾ä×Ô¶¯µÄ½øÐвéѯÓÅ»¯£¬µ«´ó¼ÒÈÔÈ»ÓбØÒªÁ˽âһϓ²éѯÓÅ»¯Æ÷”µÄ¹¤×÷Ô­Àí£¬Èç·ÇÕâÑù£¬ÓÐʱ²éѯÓÅ»¯Æ÷¾Í»á²»°´ÕÕÄúµÄ±¾Òâ½øÐпìËÙ²éѯ¡£
¡¡¡¡ÔÚ²éѯ·ÖÎö½×¶Î£¬²éѯÓÅ»¯Æ÷²é¿´²éѯµÄÿ¸ö½×¶Î²¢¾ö¶¨ÏÞÖÆÐèҪɨÃèµÄÊý¾ÝÁ¿ÊÇ·ñÓÐÓá£Èç¹ûÒ»¸ö½×¶Î¿ÉÒÔ±»ÓÃ×÷Ò»¸öɨÃè²ÎÊý£¨SARG£©£¬ÄÇô¾Í³Æ֮Ϊ¿ÉÓÅ»¯µÄ£¬²¢ÇÒ¿ÉÒÔÀûÓÃË÷Òý¿ìËÙ»ñµÃËùÐèÊý¾Ý¡£
¡¡¡¡SARGµÄ¶¨Ò壺ÓÃÓÚÏÞÖÆËÑË÷µÄÒ»¸ö²Ù×÷£¬ÒòΪËüͨ³£ÊÇÖ¸Ò»¸öÌض¨µÄÆ¥Å䣬һ¸öÖµµÃ·¶Î§ÄÚµÄÆ¥Åä»òÕßÁ½¸öÒÔÉÏÌõ¼þµÄANDÁ¬½Ó¡£ÐÎʽÈçÏ£º
ÁÐÃû ²Ù×÷·û <³£Êý »ò ±äÁ¿>
»ò
<³£Êý »ò ±äÁ¿> ²Ù×÷·ûÁÐÃû
ÁÐÃû¿ÉÒÔ³öÏÖÔÚ²Ù×÷·ûµÄÒ»±ß£¬¶ø³£Êý»ò±äÁ¿³öÏÖÔÚ²Ù×÷·ûµÄÁíÒ»±ß¡£È磺
Name=’ÕÅÈý’
¼Û¸ñ>5000
5000<¼Û¸ñ
Name=’ÕÅÈý’ and ¼Û¸ñ>5000
¡¡¡¡Èç¹ûÒ»¸ö±í´ïʽ²»ÄÜÂú×ãSARGµÄÐÎʽ£¬ÄÇËü¾ÍÎÞ·¨ÏÞÖÆËÑË÷µÄ·¶Î§ÁË£¬Ò²¾ÍÊÇSQL SERVER±ØÐë¶ÔÿһÐж¼ÅжÏËüÊÇ·ñÂú×ãWHERE×Ó¾äÖеÄËùÓÐÌõ¼þ¡£ËùÒÔÒ»¸öË÷Òý¶ÔÓÚ²»Âú×ãSARGÐÎʽµÄ±í´ïʽÀ´ËµÊÇÎÞÓõġ£
¡¡¡¡½éÉÜÍêSARGºó£¬ÎÒÃÇÀ´×ܽáÒ»ÏÂʹÓÃSARGÒÔ¼°ÔÚʵ¼ùÖÐÓöµ½µÄºÍijЩ×ÊÁÏÉϽáÂÛ²»Í¬µÄ¾­Ñ飺
1¡¢LikeÓï¾äÊÇ·ñÊôÓÚSARGÈ¡¾öÓÚËùʹÓõÄͨÅä·ûµÄÀàÐÍ
È磺name like ‘ÕÅ%’ £¬Õâ¾ÍÊôÓÚSARG
¶ø£ºname like ‘%ÕÅ’ ,¾Í²»ÊôÓÚSARG¡£
Ô­ÒòÊÇͨÅä·û%ÔÚ×Ö·û´®µÄ¿ªÍ¨Ê¹µÃË÷ÒýÎÞ·¨Ê¹Óá£
2¡¢or »áÒýÆðÈ«±íɨÃè
¡¡¡¡Name=’ÕÅÈý&rsquo


Ïà¹ØÎĵµ£º

SQL Server: Inner Join¼°Outer Join, Natrual Jion

Ò»¡¢NATURAL JOIN£¨×ÔÈ»Á¬½Ó£©
     Á½Õűíͨ¹ýNATURAL JOINÁ¬½ÓµÄʱºò£¬Ï൱ÓÚÓиöÒþº¬µÄWHERE×Ӿ䣬¶ÔÁ½ÕűíÖÐͬÃûµÄ¶ÔÓ¦ÁÐÏà±È½Ï¿´ÊÇ·ñÏàµÈ¡£
¶þ¡¢CROSS JOIN£¨´´½¨µÑ¿¨¶û»ý£©
     ¶ÔÁ½Õűíͨ¹ý½»²æÁªºÏ²úÉúµÚÈýÕÅ·µ»Ø½á¹û¼¯µÄ±í¡£Ï൱ÓÚÆÕͨµÄÁ¬½Ó¡£
Èý¡¢INNER JOIN£ ......

Sql Server2005¶Ôt sqlµÄÔöÇ¿Ö®Cross Apply

Cross Applyʹ±í¿ÉÒԺͱíÖµº¯Êý½á¹û½øÐÐjoin£¬ÔÚÏÂÃæµÄʾÀýÖн¨ÁËÁ½¸ö±íºÍÒ»¸ö±íÖµº¯Êý£¬T_bµÄÁÐa_idsÖлá´æ·Åa±íµÄidÓÃ,·Ö¸îµÄ×Ö·û´®Á¬½Ó£»ÎÒÃÇͨ¹ýcross applyʹT_a£¬T_b±íͨ¹ýsplitIDs inner join Á¬½Ó¡£Ç뿴ʾÀý£ºGO
if object_id('T_a','U') is not null
drop table T_a
GO
CREATE TABLE T_a(    ......

sqlÁ¬½Ó£¨ÄÚÁ¬½Ó¡¢ÍâÁ¬½Ó¡¢È«Á¬½Ó£©

ÏÖÓÐtable_for_report_1ºÍtable_for_report_2£¬ÏêÇéÈçÏ£º
table_for_report_1ÓÐnum×ֶΣ¬c1,c2,c3×ֶΡ£
Êý¾ÝÈçÏ£º
    num                c1  c2  c3
1 15001346690 11 12 13
2 1 ......

SQLÖд¦Àíʱ¼äÎÊÌâ°¸Àý

1. »ñÈ¡Êý¾Ý¿âÖе±Ç°Ô·ݵÄÏà¹ØÊý¾Ý
SELECT WorkerSortID, SUM(WorkerCount) AS WorkerMothCount
from WorkerRecord
WHERE (YEAR(WorkerTime) = YEAR({ fn NOW() })) AND (MONTH(WorkerTime)
      = MONTH({ fn NOW() })) AND (WorkerCount > 0) AND (WorkerID = 'wy')
GROUP BY Worker ......
© 2009 ej38.com All Rights Reserved. ¹ØÓÚE½¡ÍøÁªÏµÎÒÃÇ | Õ¾µãµØͼ | ¸ÓICP±¸09004571ºÅ