SQL Óα꣨1£©
¹ØÏµÊý¾Ý¿âÖеIJÙ×÷»á¶ÔÕû¸öÐм¯Æð×÷Óá£ÓÉ SELECT Óï¾ä·µ»ØµÄÐм¯°üÀ¨Âú×ã¸ÃÓï¾äµÄ WHERE ×Ó¾äÖÐÌõ¼þµÄËùÓÐÐС£ÕâÖÖÓÉÓï¾ä·µ»ØµÄÍêÕûÐм¯³ÆÎª½á¹û¼¯¡£Ó¦ÓóÌÐò£¬ÌرðÊǽ»»¥Ê½Áª»úÓ¦ÓóÌÐò£¬²¢²»×ÜÄܽ«Õû¸ö½á¹û¼¯×÷Ϊһ¸öµ¥ÔªÀ´ÓÐЧµØ´¦Àí¡£ÕâЩӦÓóÌÐòÐèÒªÒ»ÖÖ»úÖÆÒÔ±ãÿ´Î´¦ÀíÒ»ÐлòÒ»²¿·ÖÐС£Óαê¾ÍÊÇÌṩÕâÖÖ»úÖÆµÄ¶Ô½á¹û¼¯µÄÒ»ÖÖÀ©Õ¹¡£
Óαêͨ¹ýÒÔÏ·½Ê½À´À©Õ¹½á¹û´¦Àí£º
ÔÊÐí¶¨Î»ÔÚ½á¹û¼¯µÄÌØ¶¨ÐС£
´Ó½á¹û¼¯µÄµ±Ç°Î»ÖüìË÷Ò»ÐлòÒ»²¿·ÖÐС£
Ö§³Ö¶Ô½á¹û¼¯Öе±Ç°Î»ÖõÄÐнøÐÐÊý¾ÝÐ޸ġ£
ΪÓÉÆäËûÓû§¶ÔÏÔʾÔÚ½á¹û¼¯ÖеÄÊý¾Ý¿âÊý¾ÝËù×öµÄ¸ü¸ÄÌṩ²»Í¬¼¶±ðµÄ¿É¼ûÐÔÖ§³Ö¡£
Ìṩ½Å±¾¡¢´æ´¢¹ý³ÌºÍ´¥·¢Æ÷ÖÐÓÃÓÚ·ÃÎʽá¹û¼¯ÖеÄÊý¾ÝµÄ Transact-SQL Óï¾ä¡£
ÇëÇóÓαê
Microsoft SQL Server 2005 Ö§³ÖÁ½ÖÖÇëÇóÓαêµÄ·½·¨£º
Transact-SQL
Transact-SQL ÓïÑÔÖ§³ÖʹÓøù¾Ý SQL-92 ÓαêÓï·¨ÖÆ¶¨µÄÓαêµÄÓï·¨¡£
Êý¾Ý¿âÓ¦ÓóÌÐò±à³Ì½Ó¿Ú£¨API£©Óα꺯Êý
SQL Server Ö§³ÖÒÔÏÂÊý¾Ý¿â API µÄÓα깦ÄÜ£º
ADO£¨Microsoft ActiveX Êý¾Ý¶ÔÏó£©
OLE DB
ODBC£¨¿ª·ÅʽÊý¾Ý¿âÁ¬½Ó£©
Ó¦ÓóÌÐò²»ÄÜ»ìºÏʹÓÃÕâÁ½ÖÖÇëÇóÓαêµÄ·½·¨¡£ÒѾʹÓà API Ö¸¶¨ÓαêÐÐΪµÄÓ¦ÓóÌÐò²»ÄÜÔÙÖ´ÐÐ Transact-SQL DECLARE CURSOR Óï¾äÇëÇóÒ»¸ö Transact-SQL ÓαꡣӦÓóÌÐòÖ»ÓÐÔÚ½«ËùÓÐµÄ API ÓαêÌØÐÔÉèÖûØÄ¬ÈÏÖµºó£¬²Å¿ÉÒÔÖ´ÐÐ DECLARE CURSOR¡£
Èç¹û¼ÈδÇëÇó Transact-SQL ÓαêҲδÇëÇó API Óα꣬ÔòĬÈÏÇé¿öÏ SQL Server ½«ÏòÓ¦ÓóÌÐò·µ»ØÒ»¸öÍêÕûµÄ½á¹û¼¯£¬Õâ¸ö½á¹û¼¯³ÆÎªÄ¬ÈϽá¹û¼¯¡£
ÓÎ±ê½ø³Ì
Transact-SQL ÓαêºÍ API ÓαêÓв»Í¬µÄÓï·¨£¬µ«ÏÂÁÐÒ»°ã½ø³Ì½«ÓÃÓÚËùÓÐ SQL Server Óα꣺
½«ÓαêÓë Transact-SQL Óï¾äµÄ½á¹û¼¯Ïà¹ØÁª£¬²¢ÇÒ¶¨Òå¸ÃÓαêµÄÌØÐÔ£¬ÀýÈçÊÇ·ñÄܹ»¸üÐÂÓαêÖеÄÐС£
Ö´ÐÐ Transact-SQL Óï¾äÒÔÌî³äÓαꡣ
´ÓÓαêÖмìË÷ÄúÏëÒª²é¿´µÄÐС£´ÓÓαêÖмìË÷Ò»ÐлòÒ»²¿·ÖÐеIJÙ×÷³ÆÎªÌáÈ¡¡£Ö´ÐÐһϵÁÐÌáÈ¡²Ù×÷ÒÔ±ãÏòǰ»òÏòºó¼ìË÷ÐеIJÙ×÷³ÆÎª¹ö¶¯¡£
¸ù¾ÝÐèÒª£¬¶ÔÓαêÖе±Ç°Î»ÖõÄÐÐÖ´ÐÐÐ޸IJÙ×÷£¨¸üлòɾ³ý£©¡£
¹Ø±ÕÓαꡣ
==================================================================================
ĬÈϽá¹û¼¯´¦ÀíºÍ¶à¸ö»î¶¯µÄ½á¹û¼¯
Ìá½»ÒªÖ´ÐеÄÇëÇóºó£¬Microsoft SQL Server 2005 ½«°´ÒÔÏ·½Ê½½«½á¹û¼¯·¢Ëͻؿͻ§¶Ë£º
SQL Server ´Ó¿Í»§¶Ë½ÓÊÕ°üº¬ÒªÖ´ÐÐµÄ Transact-SQL Óï¾ä»òÒ»Åú Transact-SQL Óï¾äµÄÍøÂçÊý¾
Ïà¹ØÎĵµ£º
select * from formtable_main_20
sp_help formtable_main_20
--drop view zcountQJ01
create view zcountQJ01
as
select appman ,year(startdata) as zyear,jb,cast(sum(num) as decimal(4,1) ) as num
from formtable_main_20
where year(getdate()) = year(startdata)
group by appman,jb,year(startdata) ......
1. SQLÓÅ»¯µÄÔÔòÊÇ£º½«Ò»´Î²Ù×÷ÐèÒª¶ÁÈ¡µÄBLOCKÊý¼õµ½×îµÍ,¼´ÔÚ×î¶ÌµÄʱ¼ä´ïµ½×î´óµÄÊý¾ÝÍÌÍÂÁ¿¡£
µ÷Õû²»Á¼SQLͨ³£¿ÉÒÔ´ÓÒÔϼ¸µãÇÐÈ룺
¼ì²é²»Á¼µÄSQL£¬¿¼ÂÇÆäд·¨ÊÇ·ñ»¹ÓпÉÓÅ»¯ÄÚÈÝ
¼ì²é×Ó²éѯ ¿¼ÂÇSQL×Ó²éѯÊÇ·ñ¿ÉÒÔÓüòµ¥Á¬½ÓµÄ·½Ê½½øÐÐÖØÐÂÊéд
¼ì²éÓÅ»¯ ......
Next up in the Inside the Storage Engine series is a discussion of page structure. Pages exist to store records. A database page is an 8192-byte (8KB) chunk of a database data file. They are aligned on 8KB boundaries within the data files, starting at byte-offset ......
ÒÔǰÔÚ°²×°sqlµÄʱºò£¬Èç´ËÌáʾ£¬ÎÒÖ»ÒªÖØÐÂÆô¶¯¼´¿É£¬¿ÉÊǽñÌìÖØÐÂÆô¶¯ÁËN´Î¼ÆËã»ú£¬ÎÊÌâÈ´Ë¿ºÁûÓнâ¾ö£¬ÒÀÈ»ÌáʾÕâÑùµÄ»°¡£“ÒÔǰµÄij¸ö³ÌÐò°²×°ÒÑÔÚ°²×°¼ÆËã»úÉÏ´´½¨¹ÒÆðµÄÎļþ²Ù×÷¡£ÔËÐа²×°³ÌÐò֮ǰ±ØÐëÖØÐÂÆô¶¯¼ÆËã»ú¡£” Ö»ºÃgoogleÒÔÏ£¬×îÖÕµÃÖªÊǰ²×°³ÌÐòÔÚÏÈǰµÄ°²×°¹ý³ÌÖÐ ......
select ID,Item1,Item2,Item3,Item4
into #Temp
from (
select ID='200910',Item1='A',Item2='B',Item3='C',Item4='T1'
union all
select ID='200910',Item1='',Item2='B',Item3='C' ,Item4='G2'
union all
select ID='200910',Item1='A',Item2='D',Item3='C' ,Item4='T3'
union all
select ID='200910',Item ......