锘??xml version="1.0" encoding="utf-8" standalone="yes"?>欧美精品啪啪,国产亚洲精品久久久久动,欧美激情在线观看http://m.shnenglu.com/Jeff-Chen/category/1417.htmlzh-cnSat, 31 May 2008 17:21:59 GMTSat, 31 May 2008 17:21:59 GMT60璁╀綘鐨凷QL榪愯閫熷害鏄庢樉鎻愰珮http://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7159.htmlJeff-ChenJeff-ChenMon, 15 May 2006 02:18:00 GMThttp://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7159.htmlhttp://m.shnenglu.com/Jeff-Chen/comments/7159.htmlhttp://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7159.html#Feedback0http://m.shnenglu.com/Jeff-Chen/comments/commentRss/7159.htmlhttp://m.shnenglu.com/Jeff-Chen/services/trackbacks/7159.html
涓銆佷笉鍚堢悊鐨勭儲寮曡璁?

銆銆渚嬶細琛╮ecord鏈?20000琛岋紝璇曠湅鍦ㄤ笉鍚岀殑绱㈠紩涓嬶紝涓嬮潰鍑犱釜 SQL鐨勮繍琛屾儏鍐碉細



銆銆1.鍦╠ate涓婂緩鏈変竴闈炰釜緹ら泦绱㈠紩
select count(*) from record where date >
''19991201'' and date < ''19991214''and amount >
2000 (25縐?
select date,sum(amount) from record group by date
(55縐?
select count(*) from record where date >
''19990901'' and place in (''BJ'',''SH'') (27縐?

銆銆鍒嗘瀽錛?
銆銆date涓婃湁澶ч噺鐨勯噸澶嶅鹼紝鍦ㄩ潪緹ら泦绱㈠紩涓嬶紝鏁版嵁鍦ㄧ墿鐞嗕笂闅忔満瀛樻斁鍦ㄦ暟鎹〉涓婏紝鍦ㄨ寖鍥存煡鎵炬椂錛屽繀欏繪墽琛屼竴嬈¤〃鎵弿鎵嶈兘鎵懼埌榪欎竴鑼冨洿鍐呯殑鍏ㄩ儴琛屻?


銆銆2.鍦╠ate涓婄殑涓涓兢闆嗙儲寮?br />select count(*) from record where date >
''19991201'' and date < ''19991214'' and amount >
2000 錛?4縐掞級
select date,sum(amount) from record group by date
錛?8縐掞級
select count(*) from record where date >
''19990901'' and place in (''BJ'',''SH'')錛?4縐掞級

銆銆鍒嗘瀽錛?
銆銆鍦ㄧ兢闆嗙儲寮曚笅錛屾暟鎹湪鐗╃悊涓婃寜欏哄簭鍦ㄦ暟鎹〉涓婏紝閲嶅鍊間篃鎺掑垪鍦ㄤ竴璧鳳紝鍥犺屽湪鑼冨洿鏌ユ壘鏃訛紝鍙互鍏堟壘鍒拌繖涓寖鍥寸殑璧鋒湯鐐癸紝涓斿彧鍦ㄨ繖涓寖鍥村唴鎵弿鏁版嵁欏碉紝閬垮厤浜嗗ぇ鑼冨洿鎵弿錛屾彁楂樹簡鏌ヨ閫熷害銆?


銆銆3.鍦╬lace錛宒ate錛宎mount涓婄殑緇勫悎绱㈠紩
select count(*) from record where date >
''19991201'' and date < ''19991214'' and amount >
2000 錛?6縐掞級
select date,sum(amount) from record group by date
錛?7縐掞級
select count(*) from record where date >
''19990901'' and place in (''BJ, ''SH'')錛?lt; 1縐掞級

銆銆鍒嗘瀽錛?
銆銆榪欐槸涓涓笉寰堝悎鐞嗙殑緇勫悎绱㈠紩錛屽洜涓哄畠鐨勫墠瀵煎垪鏄痯lace錛岀涓鍜岀浜屾潯SQL娌℃湁寮曠敤place錛屽洜姝や篃娌℃湁鍒╃敤涓婄儲寮曪紱絎笁涓猄QL浣跨敤浜唒lace銆?br />

銆銆4.鍦╠ate錛宲lace錛宎mount涓婄殑緇勫悎绱㈠紩
select count(*) from record where date >
''19991201'' and date < ''19991214'' and amount >
2000(< 1縐?
select date,sum(amount) from record group by date
錛?1縐掞級
select count(*) from record where date >
''19990901'' and place in (''BJ'',''SH'')錛?lt; 1縐掞級

銆銆鍒嗘瀽錛?
銆銆榪欐槸涓涓悎鐞嗙殑緇勫悎绱㈠紩銆傚畠灝哾ate浣滀負鍓嶅鍒楋紝浣挎瘡涓猄QL閮藉彲浠ュ埄鐢ㄧ儲寮曪紝騫朵笖鍦ㄧ涓鍜岀涓変釜SQL涓艦鎴愪簡绱㈠紩瑕嗙洊錛屽洜鑰屾ц兘杈懼埌浜嗘渶浼樸?


銆銆5.鎬葷粨錛?
銆銆緙虹渷鎯呭喌涓嬪緩绔嬬殑绱㈠紩鏄潪緹ら泦绱㈠紩錛屼絾鏈夋椂瀹冨茍涓嶆槸鏈浣崇殑錛涘悎鐞嗙殑绱㈠紩璁捐瑕佸緩绔嬪湪瀵瑰悇縐嶆煡璇㈢殑鍒嗘瀽鍜岄嫻嬩笂銆備竴鑸潵璇達細

銆銆鈶?鏈夊ぇ閲忛噸澶嶅箋佷笖緇忓父鏈夎寖鍥存煡璇?

銆銆錛坆etween, >,< 錛?gt;=,< =錛夊拰order by銆乬roup by鍙戠敓鐨勫垪錛屽彲鑰冭檻寤虹珛緹ら泦绱㈠紩錛?

銆銆鈶?緇忓父鍚屾椂瀛樺彇澶氬垪錛屼笖姣忓垪閮藉惈鏈夐噸澶嶅煎彲鑰冭檻寤虹珛緇勫悎绱㈠紩錛?

銆銆鈶?緇勫悎绱㈠紩瑕佸敖閲忎嬌鍏抽敭鏌ヨ褰㈡垚绱㈠紩瑕嗙洊錛屽叾鍓嶅鍒椾竴瀹氭槸浣跨敤鏈棰戠箒鐨勫垪銆?br />浜屻佷笉鍏呬喚鐨勮繛鎺ユ潯浠?

銆銆渚嬶細琛╟ard鏈?896琛岋紝鍦╟ard_no涓婃湁涓涓潪鑱氶泦绱㈠紩錛岃〃account鏈?91122琛岋紝鍦?account_no涓婃湁涓涓潪鑱氶泦绱㈠紩錛岃瘯鐪嬪湪涓嶅悓鐨勮〃榪炴帴鏉′歡涓嬶紝涓や釜SQL鐨勬墽琛屾儏鍐碉細
select sum(a.amount) from account a,
card b where a.card_no = b.card_no錛?0縐掞級


銆銆灝哠QL鏀逛負錛?
select sum(a.amount) from account a,
card b where a.card_no = b.card_no and a.
account_no=b.account_no錛?lt; 1縐掞級

銆銆鍒嗘瀽錛?
銆銆鍦ㄧ涓涓繛鎺ユ潯浠朵笅錛屾渶浣蟲煡璇㈡柟妗堟槸灝哸ccount浣滃灞傝〃錛宑ard浣滃唴灞傝〃錛屽埄鐢╟ard涓婄殑绱㈠紩錛屽叾I/O嬈℃暟鍙敱浠ヤ笅鍏紡浼扮畻涓猴細
銆銆澶栧眰琛╝ccount涓婄殑22541欏?錛堝灞傝〃account鐨?91122琛?鍐呭眰琛╟ard涓婂搴斿灞傝〃絎竴琛屾墍瑕佹煡鎵劇殑3欏碉級=595907嬈/O

銆銆鍦ㄧ浜屼釜榪炴帴鏉′歡涓嬶紝鏈浣蟲煡璇㈡柟妗堟槸灝哻ard浣滃灞傝〃錛宎ccount浣滃唴灞傝〃錛屽埄鐢╝ccount涓婄殑绱㈠紩錛屽叾I/O嬈℃暟鍙敱浠ヤ笅鍏紡浼扮畻涓猴細
銆銆澶栧眰琛╟ard涓婄殑1944欏?錛堝灞傝〃card鐨?896琛?鍐呭眰琛╝ccount涓婂搴斿灞傝〃姣忎竴琛屾墍瑕佹煡鎵劇殑4欏碉級= 33528嬈/O

銆銆鍙錛屽彧鏈夊厖浠界殑榪炴帴鏉′歡錛岀湡姝g殑鏈浣蟲柟妗堟墠浼氳鎵ц銆?


銆銆鎬葷粨錛?
銆銆1.澶氳〃鎿嶄綔鍦ㄨ瀹為檯鎵ц鍓嶏紝鏌ヨ浼樺寲鍣ㄤ細鏍規嵁榪炴帴鏉′歡錛屽垪鍑哄嚑緇勫彲鑳界殑榪炴帴鏂規騫朵粠涓壘鍑虹郴緇熷紑閿鏈灝忕殑鏈浣蟲柟妗堛傝繛鎺ユ潯浠惰鍏呬喚鑰冭檻甯︽湁绱㈠紩鐨勮〃銆佽鏁板鐨勮〃錛涘唴澶栬〃鐨勯夋嫨鍙敱鍏紡錛氬灞傝〃涓殑鍖歸厤琛屾暟*鍐呭眰琛ㄤ腑姣忎竴嬈℃煡鎵劇殑嬈℃暟紜畾錛屼箻縐渶灝忎負鏈浣蟲柟妗堛?

銆銆2.鏌ョ湅鎵ц鏂規鐨勬柟娉?- 鐢╯et showplanon錛屾墦寮showplan閫夐」錛屽氨鍙互鐪嬪埌榪炴帴欏哄簭銆佷嬌鐢ㄤ綍縐嶇儲寮曠殑淇℃伅錛涙兂鐪嬫洿璇︾粏鐨勪俊鎭紝闇鐢╯a瑙掕壊鎵цdbcc(3604,310,302)銆?


涓夈佷笉鍙紭鍖栫殑where瀛愬彞

銆銆1.渚嬶細涓嬪垪SQL鏉′歡璇彞涓殑鍒楅兘寤烘湁鎭板綋鐨勭儲寮曪紝浣嗘墽琛岄熷害鍗撮潪甯告參錛?
select * from record where
substring(card_no,1,4)=''5378''(13縐?
select * from record where
amount/30< 1000錛?1縐掞級
select * from record where
convert(char(10),date,112)=''19991201''錛?0縐掞級

銆銆鍒嗘瀽錛?
銆銆where瀛愬彞涓鍒楃殑浠諱綍鎿嶄綔緇撴灉閮芥槸鍦⊿QL榪愯鏃墮愬垪璁$畻寰楀埌鐨勶紝鍥犳瀹冧笉寰椾笉榪涜琛ㄦ悳绱紝鑰屾病鏈変嬌鐢ㄨ鍒椾笂闈㈢殑绱㈠紩錛涘鏋滆繖浜涚粨鏋滃湪鏌ヨ緙栬瘧鏃跺氨鑳藉緱鍒幫紝閭d箞灝卞彲浠ヨSQL浼樺寲鍣ㄤ紭鍖栵紝浣跨敤绱㈠紩錛岄伩鍏嶈〃鎼滅儲錛屽洜姝ゅ皢SQL閲嶅啓鎴愪笅闈㈣繖鏍鳳細
select * from record where card_no like
''5378%''錛?lt; 1縐掞級
select * from record where amount
< 1000*30錛?lt; 1縐掞級
select * from record where date= ''1999/12/01''
錛?lt; 1縐掞級

銆銆浣犱細鍙戠幇SQL鏄庢樉蹇搗鏉ワ紒

銆銆2.渚嬶細琛╯tuff鏈?00000琛岋紝id_no涓婃湁闈炵兢闆嗙儲寮曪紝璇風湅涓嬮潰榪欎釜SQL錛?
select count(*) from stuff where id_no in(''0'',''1'')錛?3縐掞級

銆銆鍒嗘瀽錛?
銆銆where鏉′歡涓殑''in''鍦ㄩ昏緫涓婄浉褰撲簬''or''錛屾墍浠ヨ娉曞垎鏋愬櫒浼氬皢in (''0'',''1'')杞寲涓篿d_no =''0'' or id_no=''1''鏉ユ墽琛屻傛垜浠湡鏈涘畠浼氭牴鎹瘡涓猳r瀛愬彞鍒嗗埆鏌ユ壘錛屽啀灝嗙粨鏋滅浉鍔狅紝榪欐牱鍙互鍒╃敤id_no涓婄殑绱㈠紩錛涗絾瀹為檯涓婏紙鏍規嵁showplan錛?瀹冨嵈閲囩敤浜?OR絳栫暐"錛屽嵆鍏堝彇鍑烘弧瓚蟲瘡涓猳r瀛愬彞鐨勮錛屽瓨鍏ヤ復鏃舵暟鎹簱鐨勫伐浣滆〃涓紝鍐嶅緩绔嬪敮涓绱㈠紩浠ュ幓鎺夐噸澶嶈錛屾渶鍚庝粠榪欎釜涓存椂琛ㄤ腑璁$畻緇撴灉銆傚洜姝わ紝瀹為檯榪囩▼娌℃湁鍒╃敤id_no涓婄儲寮曪紝騫朵笖瀹屾垚鏃墮棿榪樿鍙梩empdb鏁版嵁搴撴ц兘鐨勫獎鍝嶃?

銆銆瀹炶返璇佹槑錛岃〃鐨勮鏁拌秺澶?鏈?20000琛屾椂錛屾墽琛屾椂闂寸珶杈懼埌220縐掞紒榪樹笉濡傚皢or瀛愬彞鍒嗗紑錛?
select count(*) from stuff where id_no=''0''
select count(*) from stuff where id_no=''1''

銆銆寰楀埌涓や釜緇撴灉錛屽啀浣滀竴嬈″姞娉曞悎綆椼傚洜涓烘瘡鍙ラ兘浣跨敤浜嗙儲寮曪紝鎵ц鏃墮棿鍙湁3縐掞紝鍦?20000琛屼笅錛屾椂闂翠篃鍙湁4縐掋傛垨鑰咃紝鐢ㄦ洿濂界殑鏂規硶錛屽啓涓涓畝鍗曠殑瀛樺偍榪囩▼錛?
create proc count_stuff as
declare @a int
declare @b int
declare @c int
declare @d char(10)
begin
select @a=count(*) from stuff where id_no=''0''
select @b=count(*) from stuff where id_no=''1''
end
select @c=@a+@b
select @d=convert(char(10),@c)
print @d

銆銆鐩存帴綆楀嚭緇撴灉錛屾墽琛屾椂闂村悓涓婇潰涓鏍峰揩錛?

銆銆鎬葷粨錛?br />
銆銆鍙錛屾墍璋撲紭鍖栧嵆where瀛愬彞鍒╃敤浜嗙儲寮曪紝涓嶅彲浼樺寲鍗沖彂鐢熶簡琛ㄦ壂鎻忔垨棰濆寮閿銆?

銆銆1.浠諱綍瀵瑰垪鐨勬搷浣滈兘灝嗗鑷磋〃鎵弿錛屽畠鍖呮嫭鏁版嵁搴撳嚱鏁般佽綆楄〃杈懼紡絳夌瓑錛屾煡璇㈡椂瑕佸敖鍙兘灝嗘搷浣滅Щ鑷崇瓑鍙峰彸杈廣?

銆銆2.in銆乷r瀛愬彞甯鎬細浣跨敤宸ヤ綔琛紝浣跨儲寮曞け鏁堬紱濡傛灉涓嶄駭鐢熷ぇ閲忛噸澶嶅鹼紝鍙互鑰冭檻鎶婂瓙鍙ユ媶寮錛涙媶寮鐨勫瓙鍙ヤ腑搴旇鍖呭惈绱㈠紩銆?

銆銆3.瑕佸杽浜庝嬌鐢ㄥ瓨鍌ㄨ繃紼嬶紝瀹冧嬌SQL鍙樺緱鏇村姞鐏墊椿鍜岄珮鏁堛?

銆銆浠庝互涓婅繖浜涗緥瀛愬彲浠ョ湅鍑猴紝SQL浼樺寲鐨勫疄璐ㄥ氨鏄湪緇撴灉姝g‘鐨勫墠鎻愪笅錛岀敤浼樺寲鍣ㄥ彲浠ヨ瘑鍒殑璇彞錛屽厖浠藉埄鐢ㄧ儲寮曪紝鍑忓皯琛ㄦ壂鎻忕殑I/O嬈℃暟錛屽敖閲忛伩鍏嶈〃鎼滅儲鐨勫彂鐢熴傚叾瀹濻QL鐨勬ц兘浼樺寲鏄竴涓鏉傜殑榪囩▼錛屼笂榪拌繖浜涘彧鏄湪搴旂敤灞傛鐨勪竴縐嶄綋鐜幫紝娣卞叆鐮旂┒榪樹細娑夊強鏁版嵁搴撳眰鐨勮祫婧愰厤緗佺綉緇滃眰鐨勬祦閲忔帶鍒朵互鍙婃搷浣滅郴緇熷眰鐨勬諱綋璁捐銆?br />鏉ユ簮錛歨ttp://edu.chinaz.com

Jeff-Chen 2006-05-15 10:18 鍙戣〃璇勮
]]>
浜旂鎻愰珮SQL Server鎬ц兘鐨勬柟娉?/title><link>http://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7157.html</link><dc:creator>Jeff-Chen</dc:creator><author>Jeff-Chen</author><pubDate>Mon, 15 May 2006 02:02:00 GMT</pubDate><guid>http://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7157.html</guid><wfw:comment>http://m.shnenglu.com/Jeff-Chen/comments/7157.html</wfw:comment><comments>http://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7157.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.shnenglu.com/Jeff-Chen/comments/commentRss/7157.html</wfw:commentRss><trackback:ping>http://m.shnenglu.com/Jeff-Chen/services/trackbacks/7157.html</trackback:ping><description><![CDATA[鏈夋椂錛屼負浜嗚搴旂敤紼嬪簭榪愯寰楁洿蹇紝鎵鍋氱殑鍏ㄩ儴宸ヤ綔灝辨槸鍦ㄨ繖閲屾垨閭i噷鍋氫竴浜涘緢灝忚皟鏁淬傚晩錛屼絾鍏抽敭鍦ㄤ簬紜畾濡備綍榪涜璋冩暣錛佽繜鏃╂偍浼氶亣鍒拌繖縐嶆儏鍐碉細搴旂敤紼嬪簭涓殑 SQL 鏌ヨ涓嶈兘鎸夌収鎮ㄦ兂瑕佺殑鏂瑰紡榪涜鍝嶅簲銆傚畠瑕佷箞涓嶈繑鍥炴暟鎹紝瑕佷箞鑰楄垂鐨勬椂闂撮暱寰楀嚭濂囥傚鏋滃畠闄嶄綆浜嗘姤鍛婃垨鎮ㄧ殑浼佷笟搴旂敤紼嬪簭鐨勯熷害錛岀敤鎴峰繀欏葷瓑寰呯殑鏃墮棿榪囬暱錛屼粬浠氨浼氬緢涓嶆弧鎰忋傚氨鍍忔偍鐨勭埗姣嶄笉鎯沖惉鎮ㄨВ閲婁負浠涔堝湪娣辨洿鍗婂鎵嶅洖鏉ヤ竴鏍鳳紝鐢ㄦ埛涔熶笉浼氬惉浣犺В閲婁負浠涔堟煡璇?鑰楄垂榪欎箞闀挎椂闂淬傦紙鈥滃涓嶈搗錛屽濡堬紝鎴戜嬌鐢ㄤ簡澶鐨?LEFT JOIN銆傗濓級鐢ㄦ埛甯屾湜搴旂敤紼嬪簭鍝嶅簲榪呴燂紝浠栦滑鐨勬姤鍛婅兘澶熷湪鐬棿涔嬪唴榪斿洖鍒嗘瀽鏁版嵁銆傚氨鎴戣嚜宸辮岃█錛屽鏋滃湪 Web 涓婂啿嫻椂鏌愪釜欏甸潰瑕佽楄垂鍗佸縐掓墠鑳藉姞杞斤紙濂藉惂錛屼簲縐掓洿瀹為檯涓浜涳級錛屾垜涔熶細寰堜笉鑰愮儲銆?br /><br />涓轟簡瑙e喅榪欎簺闂錛岄噸瑕佺殑鏄壘鍒伴棶棰樼殑鏍規簮銆傞偅涔堬紝浠庡摢閲屽紑濮嬪憿錛熸牴鏈師鍥犻氬父鍦ㄤ簬<a target="_blank">鏁版嵁搴?/a>璁捐鍜岃闂畠鐨勬煡璇€傚湪鏈湀鐨勪笓鏍忎腑錛屾垜灝嗚榪板洓欏規妧鏈紝榪欎簺鎶鏈彲鐢ㄤ簬鎻愰珮鍩轟簬 <a target="_blank">SQL Server</a>? 鐨勫簲鐢ㄧ▼搴忕殑鎬ц兘鎴栨敼鍠勫叾鍙幾緙╂с傛垜灝嗕粩緇嗚鏄?LEFT JOIN銆丆ROSS JOIN 鐨勪嬌鐢ㄤ互鍙?IDENTITY 鍊肩殑媯绱€傝璁頒綇錛屾牴鏈病鏈夌濂囩殑瑙e喅鏂規銆傝皟鏁存偍鐨?a target="_blank">鏁版嵁搴?/a>鍙婂叾鏌ヨ闇瑕佸崰鐢ㄦ椂闂淬佽繘琛屽垎鏋愶紝榪橀渶瑕佸ぇ閲忕殑嫻嬭瘯銆傝繖浜涙妧鏈兘宸茶璇佹槑琛屼箣鏈夋晥錛屼絾瀵規偍鐨勫簲鐢ㄧ▼搴忚岃█錛屽彲鑳藉叾涓竴浜涙妧鏈瘮鍙︿竴浜涙妧鏈洿閫傜敤銆?br /><br />浠?INSERT 榪斿洖 IDENTITY <br /><br />鎴戝喅瀹氫粠閬囧埌璁稿闂鐨勫唴瀹瑰叆鎵嬶細濡備綍鍦ㄦ墽琛?SQL INSERT 鍚庢绱?IDENTITY 鍊箋傞氬父錛岄棶棰樹笉鍦ㄤ簬濡備綍緙栧啓媯绱㈠肩殑鏌ヨ錛岃屽湪浜庡湪鍝噷浠ュ強浣曟椂榪涜媯绱€傚湪 <a target="_blank">SQL Server</a> 涓紝涓嬮潰鐨勮鍙ュ彲鐢ㄤ簬媯绱㈢敱鏈鏂板湪媧誨姩<a target="_blank">鏁版嵁搴?/a>榪炴帴涓婅繍琛岀殑 SQL 璇彞鎵鍒涘緩鐨?IDENTITY 鍊鹼細<br /><br />SELECT @@IDENTITY<br /><br />榪欎釜 SQL 璇彞騫朵笉澶嶆潅錛屼絾闇瑕佽浣忕殑涓鐐規槸錛氬鏋滆繖涓渶鏂扮殑 SQL 璇彞涓嶆槸 INSERT錛屾垨鑰呮偍閽堝闈?INSERT SQL 鐨勫叾浠栬繛鎺ヨ繍琛屼簡姝?SQL錛屽垯涓嶄細鑾峰緱鏈熸湜鐨勫箋傛偍蹇呴』榪愯涓嬪垪浠g爜鎵嶈兘媯绱㈢揣璺熷湪 INSERT SQL 涔嬪悗涓斾綅浜庡悓涓榪炴帴涓婄殑 IDENTITY錛屽涓嬫墍紺猴細<br /><br />INSERT INTO Products (ProductName) VALUES ('Chalk')<br /><br />SELECT @@IDENTITY<br /><br />鍦ㄤ竴涓繛鎺ヤ笂閽堝 Northwind <a target="_blank">鏁版嵁搴?/a>榪愯榪欎簺鏌ヨ灝嗚繑鍥炰竴涓悕縐頒負 Chalk 鐨勬柊浜у搧鐨?IDENTITY 鍊箋傛墍浠ワ紝鍦ㄤ嬌鐢?ADO 鐨?Visual Basic? 搴旂敤紼嬪簭涓紝鍙互榪愯浠ヤ笅璇彞錛?br /><br />Set oRs = oCn.Execute("SET NOCOUNT ON;INSERT INTO Products _<br /><br />(ProductName) VALUES ('Chalk');SELECT @@IDENTITY")<br /><br />lProductID = oRs(0)銆<br /><br />銆銆姝や唬鐮佸憡璇?<a target="_blank">SQL Server</a> 涓嶈榪斿洖鏌ヨ鐨勮璁℃暟錛岀劧鍚庢墽琛?INSERT 璇彞錛屽茍榪斿洖鍒氬垰涓鴻繖涓柊琛屽垱寤虹殑 IDENTITY 鍊箋係ET NOCOUNT ON 璇彞琛ㄧず榪斿洖鐨勮褰曢泦鏈変竴琛屽拰涓鍒楋紝鍏朵腑鍖呭惈浜嗚繖涓柊鐨?IDENTITY 鍊箋傚鏋滄病鏈夋璇彞錛屽垯浼氶鍏堣繑鍥炰竴涓┖鐨勮褰曢泦錛堝洜涓?INSERT 璇彞涓嶈繑鍥炰換浣曟暟鎹級錛岀劧鍚庝細榪斿洖絎簩涓褰曢泦錛岀浜屼釜璁板綍闆嗕腑鍖呭惈 IDENTITY 鍊箋傝繖鍙兘鏈変簺浠や漢鍥版儜錛屽挨鍏舵槸鍥犱負鎮ㄤ粠鏉ュ氨娌℃湁甯屾湜榪?INSERT 浼氳繑鍥炶褰曢泦銆備箣鎵浠ヤ細鍙戠敓姝ゆ儏鍐碉紝鏄洜涓?<a target="_blank">SQL Server</a> 鐪嬪埌浜嗚繖涓璁℃暟錛堝嵆涓琛屽彈鍒板獎鍝嶏級騫跺皢鍏惰В閲婁負琛ㄧず涓涓褰曢泦銆傚洜姝わ紝鐪熸鐨勬暟鎹鎺ㄥ洖鍒頒簡絎簩涓褰曢泦銆傚綋鐒舵偍鍙互浣跨敤 ADO 涓殑 NextRecordset 鏂規硶鑾峰彇姝ょ浜屼釜璁板綍闆嗭紝浣嗗鏋滄昏兘澶熼鍏堣繑鍥炶璁板綍闆嗕笖鍙繑鍥炶璁板綍闆嗭紝鍒欎細鏇存柟渚匡紝涔熸洿鏈夋晥鐜囥?br /><br />姝ゆ柟娉曡櫧鐒舵湁鏁堬紝浣嗛渶瑕佸湪 SQL 璇彞涓澶栨坊鍔犱竴浜涗唬鐮併傝幏寰楃浉鍚岀粨鏋滅殑鍙︿竴鏂規硶鏄湪 INSERT 涔嬪墠浣跨敤 SET NOCOUNT ON 璇彞錛屽茍灝?SELECT @@IDENTITY 璇彞鏀懼湪琛ㄤ腑鐨?FOR INSERT 瑙﹀彂鍣ㄤ腑錛屽涓嬮潰鐨勪唬鐮佺墖孌墊墍紺恒傝繖鏍鳳紝浠諱綍榪涘叆璇ヨ〃鐨?INSERT 璇彞閮藉皢鑷姩榪斿洖 IDENTITY 鍊箋?br /><br />CREATE TRIGGER trProducts_Insert ON Products FOR INSERT AS <br /><br />SELECT @@IDENTITY <br /><br />GO<br /><br />瑙﹀彂鍣ㄥ彧鍦?Products 琛ㄤ笂鍙戠敓 INSERT 鏃跺惎鍔紝鎵浠ュ畠鎬繪槸浼氬湪鎴愬姛 INSERT 涔嬪悗榪斿洖涓涓?IDENTITY銆備嬌鐢ㄦ鎶鏈紝鎮ㄥ彲浠ュ緇堜互鐩稿悓鐨勬柟寮忓湪搴旂敤紼嬪簭涓绱?IDENTITY 鍊箋?br /><br />鍐呭祵瑙嗗浘涓庝復鏃惰〃 <br /><br />鏌愪簺鏃跺欙紝鏌ヨ闇瑕佸皢鏁版嵁涓庡叾浠栦竴浜涘彲鑳藉彧鑳介氳繃鎵ц GROUP BY 鐒跺悗鎵ц鏍囧噯鏌ヨ鎵嶈兘鏀墮泦鐨勬暟鎹繘琛岃仈鎺ャ備緥濡傦紝濡傛灉瑕佹煡璇㈡渶鏂頒簲涓畾鍗曠殑鏈夊叧淇℃伅錛屾偍棣栧厛闇瑕佺煡閬撴槸鍝簺瀹氬崟銆傝繖鍙互浣跨敤榪斿洖瀹氬崟 ID 鐨?SQL 鏌ヨ鏉ユ绱€傛鏁版嵁灝變細瀛樺偍鍦ㄤ復鏃惰〃錛堣繖鏄竴涓父鐢ㄦ妧鏈級涓紝鐒跺悗涓?Products 琛ㄨ繘琛岃仈鎺ワ紝浠ヨ繑鍥炶繖浜涘畾鍗曞敭鍑虹殑浜у搧鏁伴噺錛?br /><br />CREATE TABLE #Temp1 (OrderID INT NOT NULL, _<br /><br />OrderDate DATETIME NOT NULL)<br /><br />INSERT INTO #Temp1 (OrderID, OrderDate)<br /><br />SELECT TOP 5 o.OrderID, o.OrderDate<br /><br />FROM Orders o ORDER BY o.OrderDate DESC<br /><br />SELECT p.ProductName, SUM(od.Quantity) AS ProductQuantity<br /><br />FROM #Temp1 t <br /><br />INNER JOIN [Order Details] od ON t.OrderID = od.OrderID<br /><br />INNER JOIN Products p ON od.ProductID = p.ProductID <br /><br />GROUP BY p.ProductName<br /><br />ORDER BY p.ProductName<br /><br />DROP TABLE #Temp1<br /><br />榪欎簺 SQL 璇彞浼氬垱寤轟竴涓復鏃惰〃錛屽皢鏁版嵁鎻掑叆璇ヨ〃涓紝灝嗗叾浠栨暟鎹笌璇ヨ〃榪涜鑱旀帴錛岀劧鍚庨櫎鍘昏涓存椂琛ㄣ傝繖浼氬鑷存鏌ヨ榪涜澶ч噺 I/O 鎿嶄綔錛屽洜姝わ紝鍙互閲嶆柊緙栧啓鏌ヨ錛屼嬌鐢ㄥ唴宓岃鍥懼彇浠d復鏃惰〃銆傚唴宓岃鍥懼彧鏄竴涓彲浠ヨ仈鎺ュ埌 FROM 瀛愬彞涓殑鏌ヨ銆傛墍浠ワ紝鎮ㄤ笉鐢ㄥ湪 tempdb 涓殑涓存椂琛ㄤ笂鑰楄垂澶ч噺 I/O 鍜岀鐩樿闂紝鑰屽彲浠ヤ嬌鐢ㄥ唴宓岃鍥懼緱鍒板悓鏍風殑緇撴灉錛?br /><br />SELECT p.ProductName, <br /><br />SUM(od.Quantity) AS ProductQuantity<br /><br />FROM (<br /><br />SELECT TOP 5 o.OrderID, o.OrderDate<br /><br />FROM Orders o <br /><br />ORDER BY o.OrderDate DESC<br /><br />) t <br /><br />INNER JOIN [Order Details] od ON t.OrderID = od.OrderID<br /><br />INNER JOIN Products p ON od.ProductID = p.ProductID<br /><br />GROUP BY<br /><br />p.ProductName<br /><br />ORDER BY<br /><br />p.ProductName <br /><br />姝ゆ煡璇笉浠呮瘮鍓嶉潰鐨勬煡璇㈡晥鐜囨洿楂橈紝鑰屼笖闀垮害鏇寸煭銆備復鏃惰〃浼氭秷鑰楀ぇ閲忚祫婧愩傚鏋滃彧闇瑕佸皢鏁版嵁鑱旀帴鍒板叾浠栨煡璇紝鍒欏彲浠ヨ瘯璇曚嬌鐢ㄥ唴宓岃鍥撅紝浠ヨ妭鐪佽祫婧愩?br /><br />閬垮厤 LEFT JOIN 鍜?NULL <br /><br />褰撶劧錛屾湁寰堝鏃跺欐偍闇瑕佹墽琛?LEFT JOIN 鍜屼嬌鐢?NULL 鍊箋備絾鏄紝瀹冧滑騫朵笉閫傜敤浜庢墍鏈夋儏鍐點傛敼鍙?SQL 鏌ヨ鐨勬瀯寤烘柟寮忓彲鑳戒細浜х敓灝嗕竴涓姳鍑犲垎閽熻繍琛岀殑鎶ュ憡緙╃煭鍒板彧鑺卞嚑縐掗挓榪欐牱鐨勫ぉ澹や箣鍒殑鏁堟灉銆傛湁鏃訛紝蹇呴』鍦ㄦ煡璇腑璋冩暣鏁版嵁鐨勫艦鎬侊紝浣夸箣閫傚簲搴旂敤紼嬪簭鎵瑕佹眰鐨勬樉紺烘柟寮忋傝櫧鐒?TABLE 鏁版嵁綾誨瀷浼氬噺灝戝ぇ閲忓崰鐢ㄨ祫婧愮殑鎯呭喌錛屼絾鍦ㄦ煡璇腑榪樻湁璁稿鍖哄煙鍙互榪涜浼樺寲銆係QL 鐨勪竴涓湁浠峰肩殑甯哥敤鍔熻兘鏄?LEFT JOIN銆傚畠鍙互鐢ㄤ簬媯绱㈢涓涓〃涓殑鎵鏈夎銆佺浜屼釜琛ㄤ腑鎵鏈夊尮閰嶇殑琛屻佷互鍙婄浜屼釜琛ㄤ腑涓庣涓涓〃涓嶅尮閰嶇殑鎵鏈夎銆備緥濡傦紝濡傛灉甯屾湜榪斿洖姣忎釜瀹㈡埛鍙婂叾瀹氬崟錛屼嬌鐢?LEFT JOIN 鍒欏彲浠ユ樉紺烘湁瀹氬崟鍜屾病鏈夊畾鍗曠殑瀹㈡埛銆?br /><br />姝ゅ伐鍏峰彲鑳戒細琚繃搴︿嬌鐢ㄣ侺EFT JOIN 娑堣楃殑璧勬簮闈炲父涔嬪錛屽洜涓哄畠浠寘鍚笌 NULL錛堜笉瀛樺湪錛夋暟鎹尮閰嶇殑鏁版嵁銆傚湪鏌愪簺鎯呭喌涓嬶紝榪欐槸涓嶅彲閬垮厤鐨勶紝浣嗘槸浠d環鍙兘闈炲父楂樸侺EFT JOIN 姣?INNER JOIN 娑堣楄祫婧愭洿澶氾紝鎵浠ュ鏋滄偍鍙互閲嶆柊緙栧啓鏌ヨ浠ヤ嬌寰楄鏌ヨ涓嶄嬌鐢ㄤ換浣?LEFT JOIN錛屽垯浼氬緱鍒伴潪甯稿彲瑙傜殑鍥炴姤銆?br /><br />鍔犲揩浣跨敤 LEFT JOIN 鐨勬煡璇㈤熷害鐨勪竴欏規妧鏈秹鍙婂垱寤轟竴涓?TABLE 鏁版嵁綾誨瀷錛屾彃鍏ョ涓涓〃錛圠EFT JOIN 宸︿晶鐨勮〃錛変腑鐨勬墍鏈夎錛岀劧鍚庝嬌鐢ㄧ浜屼釜琛ㄤ腑鐨勫兼洿鏂?TABLE 鏁版嵁綾誨瀷銆傛鎶鏈槸涓涓袱姝ョ殑榪囩▼錛屼絾涓庢爣鍑嗙殑 LEFT JOIN 鐩告瘮錛屽彲浠ヨ妭鐪佸ぇ閲忔椂闂淬備竴涓緢濂界殑瑙勫垯鏄皾璇曞悇縐嶄笉鍚岀殑鎶鏈茍璁板綍姣忕鎶鏈墍闇鐨勬椂闂達紝鐩村埌鑾峰緱鐢ㄤ簬鎮ㄧ殑搴旂敤紼嬪簭鐨勬墽琛屾ц兘鏈浣崇殑鏌ヨ銆?br /><br />嫻嬭瘯鏌ヨ鐨勯熷害鏃訛紝鏈夊繀瑕佸嬈¤繍琛屾鏌ヨ錛岀劧鍚庡彇涓涓鉤鍧囧箋傚洜涓烘煡璇紙鎴栧瓨鍌ㄨ繃紼嬶級鍙兘浼氬瓨鍌ㄥ湪 <a target="_blank">SQL Server</a> 鍐呭瓨涓殑榪囩▼緙撳瓨涓紝鍥犳絎竴嬈″皾璇曡楄垂鐨勬椂闂村ソ鍍忕◢闀夸竴浜涳紝鑰屾墍鏈夊悗緇皾璇曡楄垂鐨勬椂闂撮兘杈冪煭銆傚彟澶栵紝榪愯鎮ㄧ殑鏌ヨ鏃訛紝鍙兘姝e湪閽堝鐩稿悓鐨勮〃榪愯鍏朵粬鏌ヨ銆傚綋鍏朵粬鏌ヨ閿佸畾鍜岃В閿佽繖浜涜〃鏃訛紝鍙兘浼氬鑷存偍鐨勬煡璇㈣鎺掗槦絳夊緟銆備緥濡傦紝濡傛灉鎮ㄨ繘琛屾煡璇㈡椂鏌愪漢姝e湪鏇存柊 姝よ〃涓殑鏁版嵁錛屽垯鍦ㄦ洿鏂版彁浜ゆ椂鎮ㄧ殑鏌ヨ鍙兘闇瑕佽楄垂鏇撮暱鏃墮棿鏉ユ墽琛屻?br /><br />閬垮厤浣跨敤 LEFT JOIN 鏃墮熷害闄嶄綆鐨勬渶綆鍗曟柟娉曟槸灝藉彲鑳藉鍦板洿緇曞畠浠璁?a target="_blank">鏁版嵁搴?/a>銆備緥濡傦紝鍋囪鏌愪竴浜у搧鍙兘鍏鋒湁綾誨埆涔熷彲鑳芥病鏈夌被鍒傚鏋?Products 琛ㄥ瓨鍌ㄤ簡鍏剁被鍒殑 ID錛岃屾病鏈夌敤浜庢煇涓壒瀹氫駭鍝佺殑綾誨埆錛屽垯鎮ㄥ彲浠ュ湪瀛楁涓瓨鍌?NULL 鍊箋傜劧鍚庢偍蹇呴』鎵ц LEFT JOIN 鏉ヨ幏鍙栨墍鏈変駭鍝佸強鍏剁被鍒傛偍鍙互鍒涘緩涓涓間負鈥淣o Category鈥濈殑綾誨埆錛屼粠鑰屾寚瀹氬閿叧緋諱笉鍏佽 NULL 鍊箋傞氳繃鎵ц涓婅堪鎿嶄綔錛岀幇鍦ㄦ偍灝卞彲浠ヤ嬌鐢?INNER JOIN 媯绱㈡墍鏈変駭鍝佸強鍏剁被鍒簡銆傝櫧鐒惰繖鐪嬭搗鏉ュソ鍍忔槸涓涓甫鏈夊浣欐暟鎹殑鍙橀氭柟娉曪紝浣嗗彲鑳芥槸涓涓緢鏈変環鍊肩殑鎶鏈紝鍥犱負瀹冨彲浠ユ秷闄?SQL 鎵瑰鐞嗚鍙ヤ腑娑堣楄祫婧愯緝澶氱殑 LEFT JOIN銆傚湪<a target="_blank">鏁版嵁搴?/a>涓叏閮ㄤ嬌鐢ㄦ姒傚康鍙互涓烘偍鑺傜渷澶ч噺鐨勫鐞嗘椂闂淬傝璁頒綇錛屽浜庢偍鐨勭敤鎴瘋岃█錛屽嵆浣垮嚑縐掗挓鐨勬椂闂翠篃闈炲父閲嶈錛屽洜涓哄綋鎮ㄦ湁璁稿鐢ㄦ埛姝e湪璁塊棶鍚屼竴涓仈鏈?a target="_blank">鏁版嵁搴?/a>搴旂敤紼嬪簭鏃訛紝榪欏嚑縐掗挓瀹為檯涓婄殑鎰忎箟浼氶潪甯擱噸澶с?br /><br />鐏墊椿浣跨敤絎涘崱灝斾箻縐?<br /><br />瀵逛簬姝ゆ妧宸э紝鎴戝皢榪涜闈炲父璇︾粏鐨勪粙緇嶏紝騫舵彁鍊″湪鏌愪簺鎯呭喌涓嬩嬌鐢ㄧ瑳鍗″皵涔樼Н銆傚嚭浜庢煇浜涘師鍥狅紝絎涘崱灝斾箻縐?(CROSS JOIN) 閬埌浜嗗緢澶氳按璐o紝寮鍙戜漢鍛橀氬父浼氳璀﹀憡鏍規湰灝變笉瑕佷嬌鐢ㄥ畠浠傚湪璁稿鎯呭喌涓嬶紝瀹冧滑娑堣楃殑璧勬簮澶錛屼粠鑰屾棤娉曢珮鏁堜嬌鐢ㄣ備絾鏄儚 SQL 涓殑浠諱綍宸ュ叿涓鏍鳳紝濡傛灉姝g‘浣跨敤錛屽畠浠篃浼氬緢鏈変環鍊箋備緥濡傦紝濡傛灉鎮ㄦ兂榪愯涓涓繑鍥炴瘡鏈堟暟鎹紙鍗充嬌鏌愪竴鐗瑰畾鏈堜喚瀹㈡埛娌℃湁瀹氬崟涔熻榪斿洖錛夌殑鏌ヨ錛屾偍灝卞彲浠ュ緢鏂逛究鍦頒嬌鐢ㄧ瑳鍗″皵涔樼Н銆?br /><br />铏界劧榪欑湅璧鋒潵濂藉儚娌′粈涔堢濂囩殑錛屼絾鏄鑰冭檻涓涓嬶紝濡傛灉鎮ㄤ粠瀹㈡埛鍒板畾鍗曪紙榪欎簺瀹氬崟鎸夋湀浠借繘琛屽垎緇勫茍瀵歸攢鍞榪涜灝忚錛夎繘琛屼簡鏍囧噯鐨?INNER JOIN錛屽垯鍙細鑾峰緱瀹㈡埛鏈夊畾鍗曠殑鏈堜喚銆傚洜姝わ紝瀵逛簬瀹㈡埛鏈璐換浣曚駭鍝佺殑鏈堜喚錛屾偍涓嶄細鑾峰緱 0 鍊箋傚鏋滄偍鎯充負姣忎釜瀹㈡埛閮界粯鍒朵竴涓浘錛屼互鏄劇ず姣忎釜鏈堝拰璇ユ湀閿鍞錛屽垯鍙兘甯屾湜姝ゅ浘鍖呮嫭鏈堥攢鍞涓?0 鐨勬湀浠斤紝浠ヤ究鐩磋鏍囪瘑鍑鴻繖浜涙湀浠姐傚鏋滀嬌鐢?Figure 2錛堟渶鍚庝竴欏碉級 涓殑 SQL錛屾暟鎹垯浼氳煩榪囬攢鍞涓?0 緹庡厓鐨勬湀浠斤紝鍥犱負鍦ㄥ畾鍗曡〃涓浜庨浂閿鍞涓嶄細鍖呭惈浠諱綍琛岋紙鍋囪鎮ㄥ彧瀛樺偍鍙戠敓鐨勪簨浠訛級銆?br /><br />Figure 3錛堟渶鍚庝竴欏碉級涓殑浠g爜铏界劧杈冮暱錛屼絾鏄彲浠ヨ揪鍒拌幏鍙栨墍鏈夐攢鍞暟鎹紙鐢氳嚦鍖呮嫭娌℃湁閿鍞鐨勬湀浠斤級鐨勭洰鏍囥傞鍏堬紝瀹冧細鎻愬彇鍘誨勾鎵鏈夋湀浠界殑鍒楄〃錛岀劧鍚庡皢瀹冧滑鏀懼叆絎竴涓?TABLE 鏁版嵁綾誨瀷琛?(@tblMonths) 涓備笅涓姝ワ紝姝や唬鐮佷細鑾峰彇鍦ㄨ鏃墮棿孌靛唴鏈夐攢鍞鐨勬墍鏈夊鎴峰叕鍙哥殑鍚嶇О鍒楄〃錛岀劧鍚庡皢瀹冧滑鏀懼叆鍙︿竴涓?TABLE 鏁版嵁綾誨瀷琛?(@tblCus-tomers) 涓傝繖涓や釜琛ㄥ瓨鍌ㄤ簡鍒涘緩緇撴灉闆嗘墍蹇呴渶鐨勬墍鏈夊熀鏈暟鎹紝浣嗗疄闄呴攢鍞暟閲忛櫎澶栥?絎竴涓〃涓垪鍑轟簡鎵鏈夋湀浠斤紙12 琛岋級錛岀浜屼釜琛ㄤ腑鍒楀嚭浜嗚繖涓椂闂存鍐呮湁閿鍞鐨勬墍鏈夊鎴鳳紙瀵逛簬鎴戞槸 81 涓級銆傚茍闈炴瘡涓鎴峰湪榪囧幓 12 涓湀涓殑姣忎釜鏈堥兘璐拱浜嗕駭鍝侊紝鎵浠ワ紝鎵ц INNER JOIN 鎴?LEFT JOIN 涓嶄細榪斿洖姣忎釜鏈堢殑姣忎釜瀹㈡埛銆傝繖浜涙搷浣滃彧浼氳繑鍥炶喘涔頒駭鍝佺殑瀹㈡埛鍜屾湀浠姐?br /><br />絎涘崱灝斾箻縐垯鍙互榪斿洖鎵鏈夋湀浠界殑鎵鏈夊鎴楓傜瑳鍗″皵涔樼Н鍩烘湰涓婃槸灝嗙涓涓〃涓庣浜屼釜琛ㄧ浉涔橈紝鐢熸垚涓涓闆嗗悎錛屽叾涓寘鍚涓涓〃涓殑琛屾暟涓庣浜屼釜琛ㄤ腑鐨勮鏁扮浉涔樼殑緇撴灉銆傚洜姝わ紝絎涘崱灝斾箻縐細鍚戣〃 @tblFinal 榪斿洖 972 琛屻傛渶鍚庣殑姝ラ鏄嬌鐢ㄦ鏃ユ湡鑼冨洿鍐呮瘡涓鎴風殑鏈堥攢鍞鎬昏鏇存柊 @tblFinal 琛紝浠ュ強閫夋嫨鏈緇堢殑琛岄泦銆?br /><br />濡傛灉鐢變簬絎涘崱灝斾箻縐崰鐢ㄧ殑璧勬簮鍙兘浼氬緢澶氾紝鑰屼笉闇瑕佺湡姝g殑絎涘崱灝斾箻縐紝鍒欏彲浠ヨ皚鎱庡湴浣跨敤 CROSS JOIN銆備緥濡傦紝濡傛灉瀵逛駭鍝佸拰綾誨埆鎵ц浜?CROSS JOIN錛岀劧鍚庝嬌鐢?WHERE 瀛愬彞銆丏ISTINCT 鎴?GROUP BY 鏉ョ瓫閫夊嚭澶у鏁拌錛岄偅涔堜嬌鐢?INNER JOIN 浼氳幏寰楀悓鏍風殑緇撴灉錛岃屼笖鏁堢巼楂樺緱澶氥傚鏋滈渶瑕佷負鎵鏈夌殑鍙兘鎬ч兘榪斿洖鏁版嵁錛堜緥濡傚湪鎮ㄥ笇鏈涗嬌鐢ㄦ瘡鏈堥攢鍞棩鏈熷~鍏呬竴涓浘琛ㄦ椂錛夛紝鍒欑瑳鍗″皵涔樼Н鍙兘浼氶潪甯告湁甯姪銆備絾鏄紝鎮ㄤ笉搴旇灝嗗畠浠敤浜庡叾浠栫敤閫旓紝鍥犱負鍦ㄥぇ澶氭暟鏂規涓?INNER JOIN 鐨勬晥鐜囪楂樺緱澶氥?br /><br />鎷鵑仐琛ラ浂 <br /><br />榪欓噷浠嬬粛鍏朵粬涓浜涘彲甯姪鎻愰珮 SQL 鏌ヨ鏁堢巼鐨勫父鐢ㄦ妧鏈傚亣璁炬偍灝嗘寜鍖哄煙瀵規墍鏈夐攢鍞漢鍛樿繘琛屽垎緇勫茍灝嗕粬浠殑閿鍞榪涜灝忚錛屼絾鏄偍鍙兂瑕侀偅浜?a target="_blank">鏁版嵁搴?/a>涓爣璁頒負澶勪簬媧誨姩鐘舵佺殑閿鍞漢鍛樸傛偍鍙互鎸夊尯鍩熷閿鍞漢鍛樺垎緇勶紝騫朵嬌鐢?HAVING 瀛愬彞娑堥櫎閭d簺鏈浜庢椿鍔ㄧ姸鎬佺殑閿鍞漢鍛橈紝涔熷彲浠ュ湪 WHERE 瀛愬彞涓墽琛屾鎿嶄綔銆傚湪 WHERE 瀛愬彞涓墽琛屾鎿嶄綔浼氬噺灝戦渶瑕佸垎緇勭殑琛屾暟錛屾墍浠ユ瘮鍦?HAVING 瀛愬彞涓墽琛屾鎿嶄綔鏁堢巼鏇撮珮銆侶AVING 瀛愬彞涓熀浜庤鐨勬潯浠剁殑絳涢変細寮哄埗鏌ヨ瀵歸偅浜涘湪 WHERE 瀛愬彞涓細琚幓闄ょ殑鏁版嵁榪涜鍒嗙粍銆?br /><br />鍙︿竴涓彁楂樻晥鐜囩殑鎶宸ф槸浣跨敤 DISTINCT 鍏抽敭瀛楁煡鎵炬暟鎹鐨勫崟鐙姤琛紝鏉ヤ唬鏇夸嬌鐢?GROUP BY 瀛愬彞銆傚湪榪欑鎯呭喌涓嬶紝浣跨敤 DISTINCT 鍏抽敭瀛楃殑 SQL 鏁堢巼鏇撮珮銆傝鍦ㄩ渶瑕佽綆楄仛鍚堝嚱鏁幫紙SUM銆丆OUNT銆丮AX 絳夛級鐨勬儏鍐典笅鍐嶄嬌鐢?GROUP BY銆傚彟澶栵紝濡傛灉鎮ㄧ殑鏌ヨ鎬繪槸鑷繁榪斿洖涓涓敮涓鐨勮錛屽垯涓嶈浣跨敤 DISTINCT 鍏抽敭瀛椼傚湪榪欑鎯呭喌涓嬶紝DISTINCT 鍏抽敭瀛楀彧浼氬鍔犵郴緇熷紑閿銆?br /><br />鎮ㄥ凡緇忕湅鍒頒簡錛屾湁澶ч噺鎶鏈兘鍙敤浜庝紭鍖栨煡璇㈠拰瀹炵幇鐗瑰畾鐨勪笟鍔¤鍒欙紝鎶宸у氨鏄繘琛屼竴浜涘皾璇曪紝鐒跺悗姣旇緝瀹冧滑鐨勬ц兘銆傛渶閲嶈鐨勬槸瑕佹祴璇曘佹祴璇曘佸啀嫻嬭瘯銆傚湪姝や笓鏍忕殑灝嗘潵鍚勬湡鍐呭涓紝鎴戝皢緇х畫娣卞叆璁茶堪 <a target="_blank">SQL Server</a> 姒傚康錛屽寘鎷?a target="_blank">鏁版嵁搴?/a>璁捐銆佸ソ鐨勭儲寮曞疄璺典互鍙?<a target="_blank">SQL Server</a> 瀹夊叏鑼冧緥銆?br /><br />Figure 2 Returning All Customers and Their Sales <br /><br />set nocount on<br /><br />DECLARE @dtStartDate DATETIME, <br /><br />@dtEndDate DATETIME,<br /><br />@dtDate DATETIME<br /><br />SET @dtEndDate = '5/5/1997'<br /><br />SET @dtEndDate = DATEADD(DD, -1, CAST(CAST((MONTH(@dtEndDate) + 1) <br /><br />AS VARCHAR(2)) + '/01/' + CAST(YEAR(@dtEndDate) AS VARCHAR(4)) + ' <br /><br />23:59:59' AS DATETIME))<br /><br />SET @dtStartDate = DATEADD(MM, -1 * 12, @dtEndDate)<br /><br />SELECT CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' +<br /><br />CASE <br /><br />WHEN MONTH(o.OrderDate) < 10 <br /><br />THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />END AS sMonth,<br /><br />c.CustomerID,<br /><br />c.CompanyName,<br /><br />c.ContactName,<br /><br />SUM(od.Quantity * od.UnitPrice) AS mSales<br /><br />FROM Customers c<br /><br />INNER JOIN Orders o ON c.CustomerID = o.CustomerID<br /><br />INNER JOIN [Order Details] od ON o.OrderID = od.OrderID<br /><br />WHERE o.OrderDate BETWEEN @dtStartDate AND @dtEndDate<br /><br />GROUP BY<br /><br />CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' +<br /><br />CASE <br /><br />WHEN MONTH(o.OrderDate) < 10 <br /><br />THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />END,<br /><br />c.CustomerID,<br /><br />c.CompanyName,<br /><br />c.ContactName<br /><br />ORDER BY<br /><br />c.CompanyName,<br /><br />sMonth<br /><br /><br /><br /><br /><br /><br /><br />___________________________________________________________________________<br /><br />Figure 3 Cartesian Product at Work<br /><br />DECLARE @tblMonths TABLE (sMonth VARCHAR(7))<br /><br />DECLARE @tblCustomers TABLE ( CustomerID CHAR(10),<br /><br />CompanyName VARCHAR(50),<br /><br />ContactName VARCHAR(50))<br /><br />DECLARE @tblFinal TABLE ( sMonth VARCHAR(7), <br /><br />CustomerID CHAR(10),<br /><br />CompanyName VARCHAR(50),<br /><br />ContactName VARCHAR(50),<br /><br />mSales MONEY)<br /><br />DECLARE @dtStartDate DATETIME, <br /><br />@dtEndDate DATETIME,<br /><br />@dtDate DATETIME,<br /><br />@i INTEGER<br /><br />SET @dtEndDate = '5/5/1997'<br /><br />SET @dtEndDate = DATEADD(DD, -1, CAST(CAST((MONTH(@dtEndDate) + 1) AS <br /><br />VARCHAR(2)) + '/01/' + CAST(YEAR(@dtEndDate) AS VARCHAR(4)) + ' <br /><br />23:59:59' AS DATETIME))<br /><br />SET @dtStartDate = DATEADD(MM, -1 * 12, @dtEndDate)<br /><br />鈥?Get all months into the first table<br /><br />SET @i = 0<br /><br />WHILE (@i < 12)<br /><br />BEGIN<br /><br />SET @dtDate = DATEADD(mm, -1 * @i, @dtEndDate)<br /><br />INSERT INTO @tblMonths SELECT CAST(YEAR(@dtDate) AS VARCHAR(4)) + '-' +<br /><br />CASE <br /><br />WHEN MONTH(@dtDate) < 10 <br /><br />THEN '0' + CAST(MONTH(@dtDate) AS VARCHAR(2))<br /><br />ELSE CAST(MONTH(@dtDate) AS VARCHAR(2))<br /><br />END AS sMonth<br /><br />SET @i = @i + 1<br /><br />END<br /><br />鈥?Get all clients who had sales during that period into the "y" table<br /><br />INSERT INTO @tblCustomers<br /><br />SELECT DISTINCT<br /><br />c.CustomerID,<br /><br />c.CompanyName,<br /><br />c.ContactName<br /><br />FROM Customers c<br /><br />INNER JOIN Orders o ON c.CustomerID = o.CustomerID<br /><br />WHERE o.OrderDate BETWEEN @dtStartDate AND @dtEndDate<br /><br />INSERT INTO @tblFinal<br /><br />SELECT m.sMonth,<br /><br />c.CustomerID,<br /><br />c.CompanyName,<br /><br />c.ContactName,<br /><br />0<br /><br />FROM @tblMonths m CROSS JOIN @tblCustomers c<br /><br /><br /><br />UPDATE @tblFinal SET <br /><br />mSales = mydata.mSales<br /><br />FROM @tblFinal f INNER JOIN <br /><br />(<br /><br />SELECT c.CustomerID,<br /><br />CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' +<br /><br />CASE WHEN MONTH(o.OrderDate) < 10 <br /><br />THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />END AS sMonth,<br /><br />SUM(od.Quantity * od.UnitPrice) AS mSales<br /><br />FROM Customers c<br /><br />INNER JOIN Orders o ON c.CustomerID = o.CustomerID<br /><br />INNER JOIN [Order Details] od ON o.OrderID = od.OrderID<br /><br />WHERE o.OrderDate BETWEEN @dtStartDate AND @dtEndDate<br /><br />GROUP BY<br /><br />c.CustomerID,<br /><br />CAST(YEAR(o.OrderDate) AS VARCHAR(4)) + '-' +<br /><br />CASE WHEN MONTH(o.OrderDate) < 10 <br /><br />THEN '0' + CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />ELSE CAST(MONTH(o.OrderDate) AS VARCHAR(2))<br /><br />END<br /><br />) mydata on f.CustomerID = mydata.CustomerID AND f.sMonth = <br /><br />mydata.sMonth <br /><br />SELECT f.sMonth,<br /><br />f.CustomerID,<br /><br />f.CompanyName,<br /><br />f.ContactName,<br /><br />f.mSales<br /><br />FROM @tblFinal f<br /><br />ORDER BY<br /><br />f.CompanyName,<br /><br />f.sMonth<!-- / message --><br /><br />鏉ユ簮錛歨ttp://www.chinahtml.com<img src ="http://m.shnenglu.com/Jeff-Chen/aggbug/7157.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.shnenglu.com/Jeff-Chen/" target="_blank">Jeff-Chen</a> 2006-05-15 10:02 <a href="http://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7157.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>鎼滅儲寮曟搸璁捐http://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7153.htmlJeff-ChenJeff-ChenMon, 15 May 2006 01:51:00 GMThttp://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7153.htmlhttp://m.shnenglu.com/Jeff-Chen/comments/7153.htmlhttp://m.shnenglu.com/Jeff-Chen/archive/2006/05/15/7153.html#Feedback0http://m.shnenglu.com/Jeff-Chen/comments/commentRss/7153.htmlhttp://m.shnenglu.com/Jeff-Chen/services/trackbacks/7153.html
銆銆絎旇呯幇鍦ㄤ笓闂ㄨ礋璐g綉涓婂北涓滐紙http://www.china-sd.net錛変腑灞變笢鎼滅儲鐗堝潡鐨勫緩璁撅紝鍒╃敤鏈甯哥敤鐨勫紑鍙戣璦--asp寮鍙戞悳绱㈠紩鎿庣殑寮哄ぇ鍔熻兘錛佷笅闈㈡垜灝辨悳绱㈠紩鎿庝富瑕佺粍鎴愰儴鍒嗗拰鍏朵腑涓浜涘姛鑳界殑瀹炵幇浠g爜璁茶В緇欏ぇ瀹訛紝鏈変粈涔堜笉瓚充箣澶勮澶у緇欎簣鎸囧嚭錛?

銆銆鍦ㄨ繖涓绔犺妭涓紝鎴戜粙緇嶄竴涓嬫悳绱㈠紩鎿庣殑緇勬垚閮ㄥ垎鍜屼富瑕佸姛鑳姐?

銆銆鎼滅儲寮曟搸鐨勭粍鎴愶紝澶ц嚧鍒嗕負涓夐儴鍒嗭細

銆銆1銆佺晫闈細榪欎竴閮ㄥ垎涓昏鏄潰鍚戝鎴風殑錛屾槸鍙互鐪嬪埌鐨勯儴鍒嗭紝姣斿鎮ㄦ墦寮search.sina.com.cn浜嬪悗鐪嬪埌鐨勯〉闈€?

銆銆2銆佺▼搴忥細榪欎竴閮ㄥ垎涓昏鏄墽琛屼唬鐮侊紝鏍規嵁瀹㈡埛鐨勬悳绱㈣姹傚幓鎵ц浠g爜浠庤岃幏寰楁悳绱㈢粨鏋滐紱榪欎簺鏄垜浠湅涓嶅埌鐨勩?

銆銆3銆佹暟鎹簱錛氭墍鏈夌殑鎼滅儲寮曟搸閮界涓嶅紑鏁版嵁搴擄紝榪炶憲鍚嶇殑google.com涔熶笉渚嬪錛涙暟鎹簱鏄偍瀛樻悳绱㈣祫鏂欑殑浠撳簱錛屽偍瀛樼殑瓚婂錛屾悳绱㈠緱鍒扮殑璧勬枡灝變細瓚婂錛岃繖涔熸槸鎼滅儲寮曟搸鏄惁寮哄ぇ鐨勯棯鑰鐐逛箣涓銆?

銆銆銆閭d箞鎼滅儲寮曟搸鏄惁寮哄ぇ榪樻湁鍏朵粬鐨勯棯鑰鐐瑰柦錛屾槸浠涔堝憿錛熷錛屾悳绱㈠紩鎿庢暟鎹簱涓殑瀛樺偍璧勬枡鍐嶅錛屾垜浠笉鑳藉鏂逛究鐨勫幓鏌ユ壘鎼滅儲錛岀敋鑷蟲煡鎵句笉鍒版墍闇鐨勮祫鏂欙紝閭d箞榪欎釜鏁版嵁搴撳氨鏄滄鈥濈殑錛屾鏃犵敤澶勫彲璦錛屾墍浠ョ▼搴忎唬鐮佽搗鍒伴潪甯擱噸瑕佺殑浣滅敤銆?

銆銆銆璁插埌榪欓噷錛屾垜搴旇緇欏ぇ瀹朵粙緇嶄竴涓嬫悳绱㈠紩鎿庣殑鍑犱釜涓昏鍔熻兘錛?

銆銆銆1銆佹悳绱㈡煡璇細姣棤鐤戦棶榪欐槸鏈鍩烘湰鐨勫姛鑳戒簡錛屾牴鎹叧閿瓧鎵懼埌絎﹀悎鍏抽敭瀛楃殑鐩稿叧璧勬枡銆?

銆銆銆2銆佸垎欏墊樉紺猴細濡傛灉浣犳悳绱㈠埌鐨勮祫鏂欓潪甯稿錛岄兘鏀懼湪涓涓〉闈㈤噷錛岄偅鏍風粰浜虹殑鎰熻灝變細浣夸貢緋熺碂鐨勪竴鐗囷紱鍒嗛〉鏄劇ず鏍規嵁浜轟滑鐪嬩功鐨勪範鎯紝灝嗕竴閮ㄥ垎鍐呭鏀懼埌絎竴欏碉紝鍏朵粬鐨勫唴瀹規斁鍒扮浜岄〉銆佺涓夐〉絳夌瓑銆?

銆銆銆3銆佹悳绱㈢粺璁★細涓鑸寘鎷煡璇㈣祫鏂欑殑鏁伴噺錛屽垎鍑犱釜欏甸潰錛屾瘡涓〉闈㈠惈鍑犱釜璧勬枡錛屽綋鍓嶉〉闈㈣祫鏂欒寖鍥寸瓑絳夈?

銆銆銆4銆佹悳绱㈢粨鏋滅紪鎺掞細鎼滅儲鎺掑悕鎴戞兂澶у涓嶄細闄岀敓錛岃繖浜涙槸緇煎悎緗戠珯鎼滅儲寮曟搸鎸oney鐨勪竴欏規帾鏂斤紝榪欎篃鏄己澶ф悳绱㈠紩鎿庝腑涓嶅彲緙哄皯鐨勫姛鑳斤紱姣斿鏍規嵁鐐瑰嚮閲忔帓鍚嶏紝鏍規嵁鏀惰垂鎺掑悕銆佹牴鎹瓑綰ф帓鍚嶃?

銆銆銆5銆佸涓叧閿瓧鏌ヨ錛氣滃鏋滆鏌ユ壘鍖呭惈澶氫釜鍏抽敭璇嶇殑淇℃伅錛屽彲浠ョ敤絀烘牸鎶婂叧閿瘝闅斿紑鈥濊繖鏄柊嫻悳绱㈠紩鎿庣増闈腑鐨勪竴孌墊枃瀛楋紝鍦ㄤ竴涓枃鏈涓墦涓婂涓叧閿瓧鎼滅儲鏌ヨ璧勬枡銆?

銆銆銆6銆佹暣浣撶粺璁★細榪欎釜鏄鎼滅儲寮曟搸寮閫氳嚦浠婁竴浜涙暟鎹粺璁★紝鍖呭惈鈥滅儹闂ㄦ煡璇㈠叧閿瓧鈥濈粺璁°佹暟鎹簱涓祫鏂欐暣浣撶粺璁°佹瘡涓被鍒墍鍚祫鏂欑粺璁$瓑絳夈?

銆銆銆浠ヤ笂鍔熻兘浠g爜涓昏鏍規嵁絎旇呯殑瑕佹眰鏉ヤ功鍐欙紝澶у鍙互鍦ㄦ垜鍐欑殑浠g爜涓婂仛淇敼錛屼互鎴愪負浣犺嚜宸遍渶瑕佺殑鍔熻兘浠g爜銆?

銆銆濂戒簡錛岀粡榪囦簡涓鑺傜殑鐑韓鍚庯紝鎴戜滑涔熷彲浠ヨ繘鍏ュ疄鎴橀樁孌碉紝棣栧厛錛屾垜浠厛寤轟竴涓暟鎹簱錛屼綔涓鴻祫鏂欑殑瀛樺偍錛岃繖閲屾垜灝嗘暟鎹簱鐨勬枃浠跺悕涓篿nformation.mdb錛屼嬌鐢╝ccess鍒涘緩鏁版嵁搴擄紝褰撶劧浣犱篃鍙互浣跨敤sqlserver鍒涘緩銆?

銆銆寤虹珛鍥涗釜琛細www(瀛樺偍璧勬枡),sort(澶х被)錛宻amll(灝忕被),key(鏌ヨ鍏抽敭瀛?

銆銆 銆1銆亀ww琛細id---鑷姩緙栧彿錛宻itename---绔欑偣鍚嶇О錛寀rl---绔欑偣閾炬帴錛宖aq---綆瑕佽鏄庯紝key---鍏抽敭瀛楋紝time---娣誨姞鏃墮棿,level---绔欑偣絳夌駭錛宻ortid---澶х被id錛宻mallid---灝忕被id錛宧ot---绔欑偣鐐瑰嚮嬈℃暟銆?

銆銆銆銆2銆乻ort琛細id---鑷姩緙栧彿,sort

銆銆銆銆3銆乻mall琛細id---鑷姩緙栧彿,small

銆銆銆銆4銆乲ey琛細keyname---鍏抽敭瀛楋紱keyhot---鍑虹幇鐨勬鏁?

銆銆銆銆鐢╝sp寤虹珛涓庢暟鎹簱鐨勮繛鎺ワ細conn.asp

銆銆

銆銆璇存槑錛氫嬌鐢⊿erver.MapPath錛堬級琛ㄧず鐨勮礬寰勪負鏂囦歡鐨勭浉瀵硅礬寰勶紝鎴戣繖閲宑onn.asp鍜宨nformation.mdb鍦ㄥ悓涓涓洰褰曚笅銆傛垜鎯寵繖浜涢兘寰堢畝鍗曪紝澶у寰堝鏄撶悊瑙e拰鎺ュ彈鐨勶紒濂斤紝灝嗘暟鎹簱寤虹珛璧鋒潵鍚庯紝鎴戜滑灝卞彲浠ュ緩璁懼己澶у姛鑳界殑鎼滅儲寮曟搸銆傝鏈熷緟鍝︼紒鍢誨樆~~~~

銆銆鐢╝sp鍒朵綔寮哄ぇ鐨勬悳绱㈠紩鎿?-- 妯$硦鎼滅儲

銆銆鏍規嵁涓涓叧閿瓧錛屾悳绱㈠埌鐩稿叧鐨勮祫鏂欙紝榪欓噷鐨勨滅浉鍏斥濇槸鎸囪祫鏂欎腑鏈夌被浼艱繖涓叧閿瓧鐨勫瓧絎︿覆銆備緥濡傦細鈥滃北涓溾濊繖涓叧閿瓧錛屽彧瑕佹暟鎹簱涓祫鏂欓噷鍖呭惈鈥滃北涓溾濊繖涓叧閿瓧鐨勯兘瑕佹妸瀹冧滑鎵懼嚭鏉ャ傛ā緋婃悳绱㈢殑搴旂敤鍏跺疄寰堢畝鍗曪紝鍙浣跨敤涓涓猻ql璇彞灝卞彲浠ュ疄鐜幫紝涓嬮潰鍜變滑鐪嬬湅浠栫殑璇彞鐨勫啓娉曘?

銆銆sql璇硶涓綘浼氬彂鐜拌繖涔堝嚑涓垽瀹氳瘝錛歀IKE銆丯OT LIKE鍜?BETWEEN銆?LIKE鍒ゅ畾璇嶆槸涓涓潪甯告湁鐢ㄧ殑絎﹀彿銆備笉榪囷紝鍦ㄥ緢澶氭儏鍐典笅鐢ㄤ簡瀹冨彲鑳戒細甯︾粰浣犲お澶氱殑鏁版嵁錛屾墍浠ュ湪鐢ㄥ埌瀹冧箣鍓嶆渶濂藉厛寮鍔ㄨ剳絳嬪鎯蟲兂鑷繁鍒板簳鎯寵幏寰椾粈涔堟暟鎹侼OT LIKE鏄弽鍏墮亾鑰岃浜嗐侭ETWEEN鍋囪浣犳兂鍙栧嚭涓瀹氳寖鍥村唴鐨勬暟鎹紝鑰屼笖浣犱簨鍏堢煡閬撹寖鍥寸殑璧風偣鍜岀粓鐐癸紝閭d箞浣犱笉濡ㄩ噰鐢˙ETWEEN 鍒ゆ柇璇嶃傝繖鍑犱釜鍒ゅ畾璇嶆牴鎹笉鍚岀殑鐜浣跨敤錛屼竴鑸渶甯哥敤鐨勫氨鏄痩ike鍜?%"緇撳悎浜嗐?

銆銆dim sql,key

銆銆key=request("key")

銆銆sql="select * from www where sitename like '%"&key&"%' or faq like '%"&key&"%' or key like '%"&key&"%' "

銆銆璇存槑錛氳繖閲岀殑sql璇彞鐩殑灝辨槸媯绱㈡暟鎹簱涓璼itename瀛楁涓槸鍚﹀寘鍚玨ey錛宖aq瀛楁涓槸鍚﹀寘鍚玨ey錛宬ey瀛楁涓槸鍚﹀寘鍚玨ey錛岃繖鏍峰仛鐨勭洰鐨勬槸璁╂悳绱㈢殑鑼冨洿鍖呭惈鍒扳滅珯鐐瑰悕縐扳濄佲滅珯鐐圭畝瑕佽鏄庘濄佲滅珯鐐瑰叧閿瓧鈥濄傚鏋滀綘鍙兂鎼滅儲鍏抽敭瀛楀彧瑕佷嬌鐢?sql="select * from www where key like '%"&key&"%' " 灝卞彲浠ヤ簡銆傗渓ike鈥濅腑閮戒嬌鐢ㄤ簡鈥渙r鈥濇潵鐩歌繛錛屸渙r鈥?鈥滄垨鑰呪濈殑鎰忔濓紝鎰忔濇槸涓嶈鍝竴涓猯ike 絎﹀悎鏉′歡錛岄兘瑕佹妸鎼滅儲鍒扮殑璧勬枡杈撳嚭鏄劇ず鍑烘潵銆?

銆銆OK錛岀幇鍦ㄥぇ鍙笉蹇呭幓鐪嬬湅鑳戒笉鑳芥墽琛屾垨鑰呰鎵ц鐨勭粨鏋滃浣曪紝鍥犱負鎼滅儲寮曟搸澶ч儴鍒嗗姛鑳界殑瀹炵幇閮芥槸闈爏ql璇彞鐨勪功鍐欎簡銆傜瓑鎴戞妸鍏朵粬鐨勭浉鍏硈ql璇彞鐨勫姛鑳藉疄鐜頒粙緇嶅畬鍚庯紝澶у鍐嶇湅鐪嬫晥鏋滐紝鍛靛懙錛佸埆鐫鎬ワ紒錛?
鏉ユ簮錛歨ttp://edu.chinaz.com

Jeff-Chen 2006-05-15 09:51 鍙戣〃璇勮
]]>
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            精品二区视频| 久久精品在这里| 久久超碰97人人做人人爱| 亚洲欧美日韩综合| 在线视频亚洲欧美| 亚洲欧美日韩成人| 久久成人免费| 欧美成人自拍| 亚洲精品男同| 一区二区免费看| 亚洲视频精品| 久久精品视频在线| 欧美成人免费全部| 亚洲欧美日韩综合国产aⅴ| 国产精品99久久久久久久vr| 亚洲国产精品一区二区第四页av| 欧美一级欧美一级在线播放| 亚洲欧美怡红院| 久久久国产精品一区二区中文| 久热这里只精品99re8久| 亚洲精品1区2区| 亚洲国产日韩一区二区| 黑人一区二区三区四区五区| 伊人久久综合97精品| 99在线视频精品| 午夜亚洲福利在线老司机| 久久日韩精品| 亚洲国产精品久久人人爱蜜臀| 99国产精品久久久久久久久久| 欧美一区二区网站| 能在线观看的日韩av| 国产精品免费小视频| 在线观看日韩av| 亚洲综合大片69999| 欧美激情aaaa| 欧美一级久久久久久久大片| 欧美女激情福利| 一色屋精品视频免费看| 在线亚洲免费| 亚洲第一主播视频| 午夜一区二区三视频在线观看| 欧美久久一级| 亚洲日本视频| 久久亚洲精品网站| 一区二区三区四区国产精品| 美女成人午夜| 一区久久精品| 午夜精品久久久久久久99黑人| 亚洲第一在线| 欧美在线视频播放| 国产精品乱看| 亚洲一区二区三区精品视频| 欧美国产日韩精品| 久久se精品一区精品二区| 欧美三级电影网| 亚洲欧洲日韩在线| 农村妇女精品| 久久久噜噜噜久久中文字幕色伊伊| 国产精品九色蝌蚪自拍| 一区二区三区成人精品| 亚洲黄色成人久久久| 欧美 日韩 国产精品免费观看| 黄色小说综合网站| 久久综合色一综合色88| 久久精品国产清自在天天线| 国产视频一区二区在线观看| 性欧美video另类hd性玩具| 亚洲视频第一页| 欧美午夜一区二区| 亚洲欧美日韩在线| 亚洲欧美日韩国产一区| 国产人成一区二区三区影院| 午夜精品婷婷| 香蕉久久精品日日躁夜夜躁| 国产精品久久久久久久久久直播 | 国产性色一区二区| 午夜亚洲性色视频| 国产亚洲观看| 久热综合在线亚洲精品| 久久全球大尺度高清视频| 在线观看亚洲视频| 猛男gaygay欧美视频| 欧美成人日韩| 99在线观看免费视频精品观看| 9久re热视频在线精品| 国产精品视频久久一区| 久久躁狠狠躁夜夜爽| 欧美成人资源| 午夜精品视频一区| 免费精品99久久国产综合精品| 日韩午夜精品| 午夜精品国产更新| 亚洲国产cao| 一本色道久久综合狠狠躁的推荐| 国产欧美日韩免费| 亚洲激情视频在线观看| 国产热re99久久6国产精品| 欧美国产日韩一二三区| 国产精品乱码一区二区三区| 蜜桃久久精品乱码一区二区| 国产精品盗摄一区二区三区| 麻豆精品网站| 欧美精品免费看| 久久久久久久尹人综合网亚洲 | 亚洲美女诱惑| 性久久久久久久久久久久| 亚洲高清在线观看| 亚洲图片欧美一区| 亚洲欧洲综合另类| 亚洲欧美国产日韩中文字幕| 亚洲欧洲另类国产综合| 欧美在线亚洲综合一区| 午夜在线观看免费一区| 欧美激情视频一区二区三区免费| 久久久久久**毛片大全| 欧美体内she精视频在线观看| 久久综合福利| 国产日产欧美a一级在线| 最近中文字幕日韩精品| 国产亚洲欧美日韩日本| 一区二区欧美在线观看| 亚洲精品乱码久久久久| 欧美日韩国产成人在线91| 亚洲图片欧美午夜| 欧美大片免费久久精品三p | 久久久精品免费视频| 亚洲自拍三区| 欧美日产国产成人免费图片| 欧美jizz19hd性欧美| 国内精品伊人久久久久av一坑| 99精品视频免费| 亚洲精品久久久久中文字幕欢迎你| 欧美在线free| 欧美资源在线| 亚洲欧洲免费视频| 久久久久久国产精品mv| 欧美日韩成人综合在线一区二区| 久久久久久黄| 国精品一区二区三区| 亚洲主播在线观看| 亚洲欧美另类在线观看| 欧美日本乱大交xxxxx| 亚洲国产片色| 亚洲天堂av电影| 欧美午夜精品久久久久久久| 99精品国产热久久91蜜凸| 在线一区二区三区做爰视频网站 | 午夜精品免费视频| 久久国产手机看片| 国产日韩亚洲欧美| 欧美尤物一区| 蘑菇福利视频一区播放| 亚洲福利在线视频| 欧美电影在线观看| 99国产精品国产精品久久| 国产精品99久久不卡二区| 欧美日韩中文字幕在线| 亚洲男同1069视频| 开元免费观看欧美电视剧网站| 在线观看福利一区| 欧美激情第一页xxx| 夜夜嗨av一区二区三区四区| 校园春色综合网| 国产在线精品一区二区夜色| 美国成人直播| 国产精品99久久久久久人| 久久国产精彩视频| 在线国产精品一区| 欧美精品国产一区| 亚洲一区二区高清| 女人天堂亚洲aⅴ在线观看| 亚洲精品国产拍免费91在线| 欧美视频一区二区三区在线观看 | 欧美日韩精品一区二区天天拍小说| 日韩网站在线观看| 久久蜜桃资源一区二区老牛 | 国产精品色婷婷| 久久久免费观看视频| 日韩一级精品视频在线观看| 久久深夜福利| 一本色道久久综合亚洲二区三区| 国产精品日韩在线观看| 欧美成人一区二区三区在线观看 | 激情成人av在线| 欧美国产一区二区三区激情无套| 亚洲深夜福利网站| 欧美成人午夜视频| 亚洲综合国产| 有坂深雪在线一区| 国产精品视频一| 欧美日韩在线播放三区| 狂野欧美激情性xxxx| 亚洲欧美日韩高清| 亚洲乱码国产乱码精品精| 亚洲欧美日韩在线不卡| 国产精品免费看| 欧美日韩另类丝袜其他| 久久综合色88| 久久成人精品电影| 亚洲欧美日韩精品久久亚洲区|