SQL ±í¸ñÁ¬½ÓµÄÓ÷¨
ÏÖÔÚÎÒÃǽéÉÜÁ¬½Ó(join)µÄ¸ÅÄî¡£ÒªÁ˽âÁ¬½Ó£¬ÎÒÃÇÐèÒªÓõ½Ðí¶àÎÒÃÇ֮ǰÒѽéÉܹýµÄÖ¸Áî¡£ ÎÒÃÇÏȼÙÉèÎÒÃÇÓÐÒÔϵÄÁ½¸ö±í¸ñ£¬
Store_Information ±í¸ñ
store_name
Sales
Date
Los Angeles
$1500
Jan-05-1999
San Diego
$250
Jan-07-1999
Los Angeles
$300
Jan-08-1999
Boston
$700
Jan-08-1999
Geography ±í¸ñ
region_name
store_name
East
Boston
East
New York
West
Los Angeles
West
San Diego
¶øÎÒÃÇÒªÖªµÀÃ¿Ò»Çø (region_name) µÄÓªÒµ¶î (sales)¡£ Geography Õâ¸ö±í¸ñ¸æËßÎÒÃÇÃ¿Ò»ÇøÓÐÄÄЩµê£¬¶ø Store_Information ¸æËßÎÒÃÇÿһ¸öµêµÄÓªÒµ¶î¡£ ÈôÎÒÃÇÒªÖªµÀÃ¿Ò»ÇøµÄÓªÒµ¶î£¬ÎÒÃÇÐèÒª½«ÕâÁ½¸ö²»Í¬±í¸ñÖеÄ×ÊÁÏ´®ÁªÆðÀ´¡£µ±ÎÒÃÇ×ÐϸÁ˽âÕâÁ½¸ö ±í¸ñºó£¬ÎÒÃǻᷢÏÖËüÃǿɾÓÉÒ»¸öÏàͬµÄÀ¸Î»£¬store_name£¬Á¬½ÓÆðÀ´¡£ÎÒÃÇÏȽ« SQL ¾äÁгö£¬ Ö®ºóÔÙÌÖÂÛÿһ¸ö×Ó¾äµÄÒâÒ壺
SELECT A1.region_name REGION, SUM(A2.Sales) SALES
from Geography A1, Store_Information A2
WHERE A1.store_name = A2.store_name
GROUP BY A1.region_name
½á¹û:
REGION
SALES
East
$700
West
$2050
ÔÚµÚÒ»ÐÐÖУ¬ÎÒÃǸæËß SQL ȥѡ³öÁ½¸öÀ¸Î»£ºµÚÒ»¸öÀ¸Î»ÊÇ Geography ±í¸ñÖÐµÄ Region_name À¸Î» (ÎÒÃÇÈ¡ÁËÒ»¸ö±ðÃû½Ð×ö REGION)£»µÚ¶þ¸öÀ¸Î»ÊÇ Store_Information ±í¸ñÖÐµÄ sales À¸Î» (±ðÃûΪ SALES)¡£Çë×¢ÒâÔÚÕâÀïÎÒÃÇÓÐÓõ½±í¸ñ±ðÃû£ºGeography ±í¸ñµÄ±ðÃûÊÇ A1£¬Store_Information ±í¸ñµÄ±ðÃûÊÇ A2¡£ÈôÎÒÃÇûÓÐÓñí¸ñ±ðÃûµÄ»°£¬ µÚÒ»Ðоͻá±ä³É
SELECT Geography.region_name REGION, SUM(Store_Information.Sales) SALES
ºÜÃ÷ÏԵأ¬Õâ¾Í¸´ÔÓ¶àÁË¡£ÔÚÕâÀïÎÒÃÇ¿ÉÒÔ¿´µ½±í¸ñ±ðÃûµÄ¹¦ÓãºËüÄÜÈà SQL ¾äÈÝÒ×±»Á˽⣬ÓÈÆäÊÇÕâ¸ö SQL ¾äº¬¸ÇºÃ¼¸¸ö²»Í¬µÄ±í¸ñʱ¡£
½ÓÏÂÀ´ÎÒÃÇ¿´µÚÈýÐУ¬¾ÍÊÇ WHERE ×Ӿ䡣 ÕâÊÇÎÒÃDzûÊöÁ¬½ÓÌõ¼þµÄµØ·½¡£ÔÚÕâÀÎÒÃÇҪȷÈÏ Geography ±í¸ñÖÐ Store_name À¸Î»µÄÖµÓë Store_Information ±í¸ñÖÐ store_name À¸Î»µÄÖµÊÇÏàµÈµÄ¡£Õâ¸ö WHERE ×Ó¾äÊÇÒ»¸öÁ¬½ÓµÄÁé»êÈËÎÒòΪËüµÄ½ÇÉ«ÊÇÈ·¶¨Á½¸ö±í¸ñÖ®¼äµÄÁ¬½ÓÊÇÕýÈ·µÄ¡£Èç¹û WHERE×Ó¾äÊÇ´íÎóµÄ£¬ÎÒÃǾͼ«¿ÉÄܵõ½Ò»¸öµÑ¿¨¶ùÁ¬½Ó (Cartesian join)¡£µÑ¿¨¶ùÁ¬½Ó»áÔì³ÉÎÒÃǵõ½ËùÓÐÁ½¸ö±í¸ñÿÁ½ÐÐÖ®¼äËùÓпÉÄܵÄ×éºÏ¡£ÔÚÕâ¸öÀý×ÓÖУ¬µÑ¿¨¶ùÁ¬½Ó»áÈÃÎÒÃǵõ½ 4 x 4 = 16 ÐеĽá¹û¡£
Ïà¹ØÎĵµ£º
Q£º±ßÉϵÄͬÊÂ˵Îļþ×é°üº¬¶à¸öÎļþ¿ÉÒÔÔö¼Ó²¢Ðжȣ¬Ò²¾ÍÊǶà¸öCPU¿ÉÒÔÒ»Æð¶Á£¿
A£º¿ÉÒÔÔö¼Ó²¢Ðжȣ¬µ«Ç°ÌáÊÇÊý¾Ý¿â¿ÉÒÔÖ§³Ö¶àÏ̷߳ÃÎʲ»Í¬µÄ·ÖÇø£¬¾Ý˵2005µÄ·ÖÇø±í²¢²»ÊÇÿ¸ö·ÖÇø¶¼·ÖÅäÒ»¸öỊ̈߳¬µ«ÊÇ2008Ã²ËÆ¾ÍÊÇ¡£Æä´Î£¬Èç¹ûÊǶàCPU£¬¶à´ÅÅÌ£¬»áÔö¼Ó²¢Ðжȵġ£¶à¸öCPUÒ»Æð¶ÁÒ²Òª¿´ÕâЩ¶à¸öÎļþÊDz»ÊÇ·ÅÔÚÒ»¸ö ......
ÔÚÊý¾Ý¿â¿ª·¢¹ý³ÌÖУ¬µ±Äã¼ìË÷µÄÊý¾ÝÖ»ÊÇÒ»Ìõ¼Ç¼ʱ£¬ÄãËù±àдµÄÊÂÎñÓï¾ä´úÂëÍùÍùʹÓÃSELECT INSERT Óï¾ä¡£µ«ÊÇÎÒÃdz£³£»áÓöµ½ÕâÑùÇé¿ö£¬¼´´Óijһ½á¹û¼¯ÖÐÖðÒ»µØ¶ÁȡһÌõ¼Ç¼¡£ÄÇôÈçºÎ½â¾öÕâÖÖÎÊÌâÄØ£¿ÓαêΪÎÒÃÇÌṩÁËÒ»ÖÖ¼«ÎªÓÅÐãµÄ½â¾ö·½°¸¡£
1.1 ÓαêºÍÓαêµÄÓŵã
ÔÚÊý¾Ý¿ ......
Èç¹ûÄãÕýÔÚ¸ºÔðÒ»¸ö»ùÓÚSQL ServerµÄÏîÄ¿£¬»òÕßÄã¸Õ¸Õ½Ó´¥SQL Server£¬Äã¶¼ÓпÉÄÜÒªÃæÁÙһЩÊý¾Ý¿âÐÔÄܵÄÎÊÌ⣬ÕâÆªÎÄÕ»áΪÄãÌṩһЩÓÐÓõÄÖ¸µ¼£¨ÆäÖдó¶àÊýÒ²¿ÉÒÔÓÃÓÚÆäËüµÄDBMS£©¡£
ÔÚÕâÀÎÒ²»´òËã½éÉÜʹÓÃSQL ServerµÄÇÏÃÅ£¬Ò²²»ÄÜÌṩһ¸ö°üÖΰٲ¡µÄ·½°¸£¬ÎÒËù×öµÄÊÇ×ܽáһЩ¾Ñé----¹ØÓÚÈçºÎÐγÉÒ»¸öºÃµÄÉè¼Æ¡£Õ ......
½ÓÏÂÀ´£¬ÎÒÃÇÌÖÂÛ alias (±ðÃû) ÔÚ SQL ÉϵÄÓô¦¡£×î³£Óõ½µÄ±ðÃûÓÐÁ½ÖÖ£º À¸Î»±ðÃû¼°±í¸ñ±ðÃû¡£
¼òµ¥µØÀ´Ëµ£¬À¸Î»±ðÃûµÄÄ¿µÄÊÇΪÁËÈà SQL ²úÉúµÄ½á¹ûÒ×¶Á¡£ÔÚ֮ǰµÄÀý×ÓÖУ¬ ÿµ±ÎÒÃÇÓÐÓªÒµ¶î×ܺÏʱ£¬À¸Î»Ãû¶¼ÊÇ SUM(sales)¡£ ËäÈ»ÔÚÕâ¸öÇé¿öÏÂûÓÐʲôÎÊÌ⣬¿ÉÊÇÈç¹ûÕâ¸öÀ¸Î»²»ÊÇÒ»¸ö¼òµ¥µÄ×ܺϣ¬¶øÊÇÒ»¸ö¸´ÔӵļÆË㣬 ......