SQL¸ß¼¶Ê¹ÓÃ
SELECT¸ß¼¶²éѯ
´íÎó´¦Àí
ÊÂÎñ´¦Àí
Êý¾ÝµÄËø¶¨
Óαê
1.SELECT¸ß¼¶²éѯ
Ç°ÃæÒѾ½éÉÜÁËSELECTÓï¾äµÄÓ÷¨£¬±¾½ÚÖ÷Òª½éÉÜÊý¾Ý»ã×Ü¡¢Áª½Ó²éѯ¡¢×Ó²éѯºÍ¹Ø¼ü´ÊUNIONµÄʹÓá£
(1)Êý¾Ý»ã×Ü
Ϊ¾ö²ßÖ§³ÖϵͳÉú³É¾ÛºÏÊÂÎñµÄ»ã×ܱ¨±íÊÇÒ»ÏÔÓ²¢ÇÒÏ൱ÏûºÄ×ÊÔ´µÄ¹¤×÷¡£SQL Server 2000ÌṩÁ½¸öÁé»îÇÒÇ¿´óµÄ×é¼þ£¬ÓÃÓÚÉú³ÉSQL Server 2000 Analysis Services¡£ÕâЩ×é¼þÊdzÌÐòÔ±ÔÚÖ´ÐÐSQL ServerÊý¾ÝµÄ¶àά·ÖÎöʱӦµ±Ê¹ÓõÄÖ÷Òª¹¤¾ß¡£ÕâÁ½¸ö×é¼þΪ£º
Êý¾Ýת»»·þÎñ(DTS)¡£DTSÖ§³ÖÌáÈ¡ÊÂÎñÊý¾Ý²¢½«ÕâЩÊý¾Ýת»»µ½Êý¾Ý²Ö¿â»òÊý¾Ý¼¯ºÏÖеĻã×ܾۺÏÖС£
MS SQL Server Analysis Services¡£Õâ×é×é¼þ½«Êý¾Ý²Ö¿âÖеÄÊý¾Ý×éÖ¯µ½º¬ÓÐÔ¤ÏȼÆËãºÃµÄ»ã×ÜÐÅÏ¢µÄ¶àάÊý¾Ý¼¯ÖУ¬ÒÔ¶Ô¸´ÔӵķÖÎö²éѯÌṩ¿ìËÙÏìÓ¦¡£Analysis Services»¹ÌṩһÌ×Ïòµ¼£¬ÓÃÓÚ¶¨Òå·ÖÎö´¦Àí¹ý³ÌÖÐËùÓõĶàά½á¹¹£¬²¢ÌṩÓÃÓÚ¹ÜÀí·ÖÎö½á¹¹µÄMicrosoft¹ÜÀí¿ØÖÆÌ¨¹ÜÀíµ¥Ôª¡£
µ«ÊǶÔÓÚÉú³É¼òµ¥»ã×ܱ¨±íµÄÓ¦ÓóÌÐò£¬¿ÉʹÓÃÏÂÁÐT-SQLÔªËØ£º
CUBE»òROLLUPÔËËã·û¡£ÕâÁ½Õß¾ùÊÇSELECTÓï¾äµÄGROUP BY×Ó¾äµÄÒ»²¿·Ö¡£
COMPUTE»òCOMPUTE BYÔËËã·û¡£ÕâÁ½ÕßÒ²ÓëGROUP BYÏà¹ØÁª¡£
ÏÂÃæ½éÉÜʹÓÃÉú³É»ã×Ü ......
--=======================CONVERT()==================================================
Select CONVERT(varchar(100), GETDATE(), 0)--: 05 16 2006 10:57AM
Select CONVERT(varchar(100), GETDATE(), 1)--: 05/16/06
Select CONVERT(varchar(100), GETDATE(), 2)--: 06.05.16
Select CONVERT(varchar(100), GETDATE(), 3)--: 16/05/06
Select CONVERT(varchar(100), GETDATE(), 4)--: 16.05.06
Select CONVERT(varchar(100), GETDATE(), 5)--: 16-05-06
Select CONVERT(varchar(100), GETDATE(), 6)--: 16 05 06
Select CONVERT(varchar(100), GETDATE(), 7)--: 05 16, 06
Select CONVERT(varchar(100), GETDATE(), 8)--: 10:57:46
Select CONVERT(varchar(100), GETDATE(), 9)--: 05 16 2006 10:57:46:827AM
Select CONVERT(varchar(100), GETDATE(), 10)--: 05-16-06 --¿´,ÄãÒªµÄÔÚÕâÀï
Select CONVERT(varchar(100), GETDATE(), 11)--: 06/05/16
Select CONVERT(varchar(100), GETDATE(), 12)--: 060516
Select CONVERT(varchar(100), GETDATE(), 13)--: 16 05 2006 10:57:46:937
Select CONVERT(varchar(100), GETDATE(), 14)--: 10 ......
1. Ñ¡ÓÃÊʺϵÄORACLEÓÅ»¯Æ÷
ORACLEµÄÓÅ»¯Æ÷¹²ÓÐ3ÖÖ:
a. RULE (»ùÓÚ¹æÔò) b. COST (»ùÓڳɱ¾) c. CHOOSE (Ñ¡ÔñÐÔ)
ÉèÖÃȱʡµÄÓÅ»¯Æ÷,¿ÉÒÔͨ¹ý¶Ôinit.oraÎļþÖÐOPTIMIZER_MODE²ÎÊýµÄ¸÷ÖÖÉùÃ÷,ÈçRULE,COST,CHOOSE,ALL_ROWS,FIRST_ROWS . Ä㵱ȻҲÔÚSQL¾ä¼¶»òÊǻỰ(session)¼¶¶ÔÆä½øÐи²¸Ç.
ΪÁËʹÓûùÓڳɱ¾µÄÓÅ»¯Æ÷(CBO, Cost-Based Optimizer) , Äã±ØÐë¾³£ÔËÐÐanalyze ÃüÁî,ÒÔÔö¼ÓÊý¾Ý¿âÖеĶÔÏóͳ¼ÆÐÅÏ¢(object statistics)µÄ׼ȷÐÔ.
Èç¹ûÊý¾Ý¿âµÄÓÅ»¯Æ÷ģʽÉèÖÃΪѡÔñÐÔ(CHOOSE),ÄÇôʵ¼ÊµÄÓÅ»¯Æ÷ģʽ½«ºÍÊÇ·ñÔËÐйýanalyzeÃüÁîÓйØ. Èç¹ûtableÒѾ±»analyze¹ý, ÓÅ»¯Æ÷ģʽ½«×Ô¶¯³ÉΪCBO , ·´Ö®,Êý¾Ý¿â½«²ÉÓÃRULEÐÎʽµÄÓÅ»¯Æ÷.
ÔÚȱʡÇé¿öÏÂ,ORACLE²ÉÓÃCHOOSEÓÅ»¯Æ÷, ΪÁ˱ÜÃâÄÇЩ²»±ØÒªµÄÈ«±íɨÃè(full table scan) , Äã±ØÐ뾡Á¿±ÜÃâʹÓÃCHOOSEÓÅ»¯Æ÷,¶øÖ±½Ó²ÉÓûùÓÚ¹æÔò»òÕß»ùÓڳɱ¾µÄÓÅ»¯Æ÷.
2.·ÃÎÊTableµÄ·½Ê½
ORACLE ²ÉÓÃÁ½ÖÖ·ÃÎʱíÖмǼµÄ·½Ê½:
a.È«±íɨÃè
È«±íɨÃè¾ÍÊÇ˳ÐòµØ·ÃÎʱíÖÐÿÌõ¼Ç¼. ORACLE²ÉÓÃÒ»´ ......
SQL Server 2008¼òÌåÖÐÎÄÆóÒµ°æÏÂÔØ£º
thunder://QUFodHRwOi8vd3d3LnF1aWNrOC5jbi9kb3duLmFzcD9pZD0xMjM2JnNpZD0wWlo=
±¾DVD°üº¬ÁËx86 x64 ia64 ÈýÖÖCPUģʽµÄ°²×°³ÌÐò¡£°æ±¾ºÅΪ£º 10.0.1600.22
ÐòÁкţº
¿ª·¢°æ(Developer): PTTFM-X467G-P7RH2-3Q6CG-4DMYB
ÆóÒµ°æ(Enterprise): JD8Y6-HQG69-P9H84-XDTPG-34MBB ......
¶ÔÓÚÓÐÖ÷¼ü×Ô¶¯Ôö³¤Êý¾Ý¿â±í£¬ÔÚ½øÐзÖÒ³ÉèÖÃʱ£¬ÎÒÈÏΪ»¹±È½Ï²»´íµÄÊÇ£º
SELECT TOP Ò³´óС *
from TestTable
WHERE (ID >
(SELECT MAX(id)
from (SELECT TOP Ò³´óС*Ò³Êý id
from ±í
ORDER BY id) AS T))
ORDER BY ID ......
Sqlʱ¼äº¯Êý
Ò»¡¢sql serverÈÕÆÚʱ¼äº¯Êý
Sql ServerÖеÄÈÕÆÚÓëʱ¼äº¯Êý
1. µ±Ç°ÏµÍ³ÈÕÆÚ¡¢Ê±¼ä
select getdate()
2. dateadd ÔÚÏòÖ¸¶¨ÈÕÆÚ¼ÓÉÏÒ»¶Îʱ¼äµÄ»ù´¡ÉÏ£¬·µ»ØÐ嵀 datetime Öµ
ÀýÈ磺ÏòÈÕÆÚ¼ÓÉÏ2Ìì
select dateadd(day,2,'2004-10-15') --·µ»Ø£º2004-10-17 00:00:00.000
3. datediff ·µ»Ø¿çÁ½¸öÖ¸¶¨ÈÕÆÚµÄÈÕÆÚºÍʱ¼ä±ß½çÊý¡£
select datediff(day,'2004-09-01','2004-09-18') --·µ»Ø£º17
4. datepart ·µ»Ø´ú±íÖ¸¶¨ÈÕÆÚµÄÖ¸¶¨ÈÕÆÚ²¿·ÖµÄÕûÊý¡£
select DATEPART(month, '2004-10-15') --·µ»Ø 10
5. datename ·µ»Ø´ú±íÖ¸¶¨ÈÕÆÚµÄÖ¸¶¨ÈÕÆÚ²¿·ÖµÄ×Ö·û´®
select datename(weekday, '2004-10-15') --·µ»Ø£ºÐÇÆÚÎå
6. day(), month(),year() --¿ÉÒÔÓëdatepart¶ÔÕÕÒ»ÏÂ
select µ±Ç°ÈÕÆÚ=convert(va ......