ÉèΪÊ×Ò³ ¼ÓÈëÊÕ²Ø

TOP

T-SQL±íÁ¬½Ó(ÄÚÁ¬½Ó,ÍâÁ¬½Ó,½»²æÁ¬½Ó)
2014-11-24 01:41:43 À´Ô´: ×÷Õß: ¡¾´ó ÖРС¡¿ ä¯ÀÀ:4´Î
Tags£ºT-SQL Á¬½Ó ½»²æ

1.¾ÉÓï·¨ºÍÐÂÓï·¨
¾ÉÓï·¨ÓÉANSI SQL-89ÒýÈëµÄ,ËüÓëÐÂÓï·¨µÄÇø±ðÔÚÓëûÓÐJOIN¹Ø¼ü×ÖºÍON×Ó¾ä:SELECT T1.*,T2.* FROM T1,T2 WHERE
ÐÂÓï·¨ÓÉANSI SQL-92ÒýÈëµÄ,ËüÒýÈëÁËJOIN¹Ø¼ü×Ö,ON×Ó¾ä SELECT T1.*,T2.* FROM T1 JOIN T2 ON <×Ó¾ä> WHERE
¾ÉÓï·¨ANSI SQL-89Ö»Ö§³ÖÄÚÁ¬½ÓºÍ½»²æÁ¬½Ó,²»Ö§³ÖÍâÁ¬½Ó
2.½»²æÁ¬½Ó(CROSS JOIN)
ÎÒÏÖÔÚʹÓÃcross joinÀ´²éѯEmployee ±íµÄÐÅÏ¢
[sql]
--cross join
SELECT E1.Name,E1.Title AS emp1,
E2.Name,E2.Title AS emp2
FROM Employee AS E1 www.2cto.com
CROSS JOIN Employee AS E2;
²é¿´Ö´Ðмƻ®

È»ºóʹÓÃANSI SQl-89¾ÉÓï·¨À´ÊµÏÖ
[sql]
--ANSI SQL-89Óï·¨
SELECT E1.Name,E1.Title AS emp1,
E2.Name,E2.Title AS emp2
FROM Employee AS E1,Employee AS E2;
²é¿´Ö´Ðмƻ®

ͨ¹ý¶Ô±È²éѯ¼Æ»®,ËüÃǶþÕßÖ®¼äÐÔÄÜÍêȫһÑù,ËäÈ»ÕâÑùµ«ÊÇÎÒ»¹Êǽ¨ÒéÄãʹÓÃÐÂÓï·¨
1)³öÓÚ°²È«ÐԵĿ¼ÂÇ,¸Õ²ÅÎÒÃÇÌáµ½¹ý¾ÉÓï·¨²»ÄÜʹÓÃÍâÁ¬½Ó,ÔÚ²éѯÖÐÎÒÃÇͬʱʹÓþÉÓï·¨,ÐÂÓï·¨ÊǸö²»Ã÷ÖǵÄÑ¡Ôñ
2)±ãÓÚά»¤
½»²æÁ¬½ÓÓ¦ÓÃ
²Ù×÷Product ±í


Ìí¼ÓË÷Òý:
[sql]
CREATE INDEX id_price on dbo.Product(Price);
ÈÎÎñ¶ÔÓÚÿ¸ö²úÆ·µÄ¼Û¸ñÕ¼×ܼ۸ñ,ƽ¾ù¼Û¸ñµÄ°Ù·Ö±È
ÏÂÃæÊ¹ÓÃ×Ó²éѯ¾ÛºÏ²éѯ
[sql]
SELECT ProductName,
Price,
CAST(Price/(SELECT SUM(Price) FROM Product)* 100 AS NUMERIC(5,2)) AS Psp,
CAST(Price/(SELECT AVG(Price) FROM Product)* 100 AS NUMERIC(5,2)) AS Asp
FROM Product
GROUP BY
ProductName,Price;
¿´Ö´Ðмƻ®

´Ó²éѯ¼Æ»®ÎÒÃÇ¿ÉÒÔ¿´³ö,¸Õ²ÅÔÚpriceÁÐÉÏ´´½¨µÄË÷Òý±»É¨ÃèÁË2´Î,Ò»´ÎÓÃÓÚSUM(),Ò»´ÎÓÃÓÚAVG(),Èç¹ûûÓаüº¬¾ÛºÏÁеÄË÷Òý,ÐèҪΪÿ¸ö×Ó²éѯɨÃèÒ»´Î.
ÏÖÔÚÎÒÃÇʹÓý»²æÁ¬½ÓÀ´½øÐÐÓÅ»¯,ÎÒÃÇ¿ÉÒÔÔÚÒ»¸ö²éѯÖмÆËãËùÓеľۺÏ,¶øÇÒÔÚ²éѯÖÐÖ»ÐèÒª¶Ô±í,Ë÷Òý½øÐÐÒ»´ÎɨÃè
[sql]
WITH Aggs AS
(
SELECT SUM(Price) AS sumP,AVG(Price) AS avgP
FROM Product www.2cto.com
)
SELECT ProductName,
Price,
CAST(Price / sumP * 100 AS NUMERIC(5,2)) AS Psp,
CAST(Price / avgP * 100 AS NUMERIC(5,2)) AS AsP
FROM Product
CROSS JOIN Aggs;
²é¿´Ö´Ðмƻ®

´ÓÖ´Ðмƻ®ÎÒÃÇ¿ÉÒÔ¿´³ö,priceÁÐÉϵÄË÷ÒýÖ¸±»É¨ÃèÁËÒ»´Î,ͨ¹ýÒ»´ÎɨÃè¼ÆËãÁ½¸ö¾ÛºÏº¯Êý.´Ó¶øÓÅ»¯Á˲éѯЧÂÊ.
Õª×Ô ws_hgoµÄרÀ¸
¡¾´ó ÖРС¡¿¡¾´òÓ¡¡¿ ¡¾·±Ìå¡¿¡¾Í¶¸å¡¿¡¾Êղء¿ ¡¾ÍƼö¡¿¡¾¾Ù±¨¡¿¡¾ÆÀÂÛ¡¿ ¡¾¹Ø±Õ¡¿ ¡¾·µ»Ø¶¥²¿¡¿
·ÖÏíµ½: 
ÉÏһƪ£ºÀí½âSQL ServerÖеÄËø¨DT-SQL²éÑ.. ÏÂһƪ£ºT-SQLÈÕÆÚ´¦Àí×ܽá

ÆÀÂÛ

ÕÊ¡¡¡¡ºÅ: ÃÜÂë: (ÐÂÓû§×¢²á)
Ñé Ö¤ Âë:
±í¡¡¡¡Çé:
ÄÚ¡¡¡¡ÈÝ: