MySQL系列理解运用union(all)与limit及exists关键字教程


1.union锛氬彲浠ュ皢鏌ヨ缁撴灉鐩稿姞

union鐢ㄤ簬灏嗘煡璇㈢粨鏋滅浉鍔狅紝灏ゅ叾鏄皢涓ゅ紶姣棤鍏崇郴鐨勮〃涓殑鏁版嵁锛屾嫾鎺ュ湪涓璧锋樉绀虹殑鏃跺欍?br /> 浣嗘槸鏈変竴涓墠鎻愭潯浠讹細涓嶅悓缁撴灉杩涜鎷兼帴鐨勬椂鍊欙紝鍒楁暟蹇呴』鐩稿悓銆?/p>

鍒╃敤涓嬫柟鐨勬暟鎹鏄巙nion鐨勭敤娉曪細

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

1锛塽nion all锛氫笉鑳藉幓閲?/h3>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

2锛塽nion锛氬彲浠ヨ揪鍒板幓閲嶇殑鏁堟灉銆?/h3>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

2.limit锛氬垎椤垫煡璇㈠叏闈犲畠

1锛夊limit鐢ㄦ硶鐨勪竴浜涜鏄?/h3>

鈶?limit鏄疢ySQL涓壒鏈夌殑锛屽叾浠栨暟鎹簱涓病鏈夛紝涓嶉氱敤锛?/p>

鈶?limit鍙栫粨鏋滈泦涓殑閮ㄥ垎鏁版嵁锛岃繖鏄畠鐨勪綔鐢紱

鈶?limit鏄痵ql璇彞鏈鍚庢墽琛岀殑涓涓幆鑺傦紱

 limit鐨勪娇鐢ㄨ娉曪細

limit startIndex,length; 鍏朵腑startIndex琛ㄧず璧峰浣嶇疆锛屼粠0寮濮嬶紝0琛ㄧず绗竴鏉℃暟鎹紝length琛ㄧず鍙栧嚑涓?/p>

2锛夋渚嬭鏄?/h3>

鏁版嵁婧愬涓嬶細

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶?鍙栧嚭宸ヨ祫鍓嶄簲鍚嶇殑鍛樺伐锛屾樉绀哄叾淇℃伅銆?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶℃壘鍑哄伐璧勬帓鍚嶅湪绗?鍒扮9鍚嶇殑鍛樺伐銆?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

3锛夐氱敤鐨勬爣鍑嗗垎椤礢QL

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鏍规嵁涓婂浘鍙互鍙戠幇锛?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鎷跨櫨搴︽祻瑙堝櫒杩涜璇存槑锛?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

3.exists鐢ㄦ硶锛氬張绉?鐩稿叧瀛愭煡璇?

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

1锛夊甫浣犵悊瑙xists鐨勬墽琛屽師鐞?/h3>

鏁版嵁婧愬涓嬶細

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶?褰撹繑鍥炵粨鏋滄槸涓琛岃褰曠殑鎯呭喌

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶?褰撹繑鍥炵粨鏋滄槸澶氳璁板綍鐨勬儏鍐?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶?鍘熺悊瑙i噴

浠庝笂鍥炬紨绀哄彲浠ュ彂鐜帮紝涓嶇exists鍏抽敭瀛楀悗闈㈢殑SQL璇彞锛屼笉绠℃槸鏌ヨ鍑轰竴鏉$粨鏋滐紝杩樻槸澶氭潯缁撴灉锛屽彧瑕佹煡鍑虹粨鏋滐紝鏁翠釜缁撴灉灏辨槸True锛岃孧ySQL涓璗rue灏辩敤1琛ㄧず锛屾墍浠ユ渶缁堢粨鏋滃氨鏄?銆備竴鏃xists鍏抽敭瀛楀悗闈㈢殑SQL璇彞锛屾煡璇笉鍑轰换浣曚竴鏉$粨鏋滅殑鏃跺欙紝鏈缁堢殑杩斿洖鍊煎氨鏄疐alse锛屽湪MySQL涓璅alse灏辩敤0琛ㄧず锛屾墍浠ユ渶缁堢粨鏋滃氨鏄?銆?/p>

2锛夋渚嬫紨绀?/h3>

鍒╃敤涓嬫柟鐨勬暟鎹簮锛屽畬鎴愬涓嬩袱涓粌涔犻銆?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶?鏌ヨjobs琛ㄤ腑锛屽摢涓伐浣滄湁浜哄仛锛?/p>

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

鈶?鏌ヨjobs琛ㄤ腑锛屽摢涓伐浣滄病鏈変汉鍋氾紵

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

3锛変竴寮犲浘璇存槑exists瀛愭煡璇㈢殑鍘熺悊

鍦ㄨ繖閲屾彃鍏ュ浘鐗囨弿杩? src=

瑙i噴濡備笅锛?/p>

"鏈変竴涓狝鍏徃锛屽叕鍙镐腑鎵鏈夌殑宸ヤ綔閮藉湪jobs琛紝emp琛ㄤ腑鍙互鐪嬪埌鍝簺宸ヤ綔宸茬粡琚仛浜?
select jobs.job
from jobs
where not exists(select * from emp where jobs.job=emp.job);

1锛夋悶娓呮浣犺寰楀埌鐨勭粨鏋滄槸浠涔堛?br />    杩欓噷浣犺寰楀埌鐨勬槸"鍝簺宸ヤ綔娌℃湁浜哄仛"锛屼篃灏辨槸璇磋繑鍥炵殑缁撴灉鏉ヨ嚜浜巎obs琛紝浣嗘槸
   "鎬庝箞鐭ラ亾鍝簺宸ヤ綔鏈変汉鍋氾紝鍝簺娌′汉鍋氬憿锛?锛岃繖灏遍渶瑕佹垜浠鐓mp琛ㄣ?/p>

2锛夐鍏堜粠jobs琛ㄤ腑锛屽彇鍑虹涓鏉¤褰曪紝鎵旇繘鍒癳mp琛ㄤ腑鍜岃琛ㄧ殑姣忎竴琛岃繘琛屽尮閰嶃傚綋鍖?br />    閰嶅埌绗竴琛岀殑鏃跺欙紝鐢变簬emp琛ㄤ腑鐨勬瘡涓琛岄兘鏈?鍒楋紝浣犵┒绔熸兂鍖归厤浠涔堝憿?鏄笉鏄簲璇ユ槑
   纭寚鏄庝互涓嬶紝涔熷氨鏄?where jobs.job=emp.job"杩欎釜鏉′欢锛岃繖涓潯浠惰〃鏄庯紝鎴戜粠jobs
   琛ㄤ腑鍙栧嚭绗竴鏉¤褰曪紝鍘诲拰emp涓瘡涓琛岃繘琛屽尮閰嶏紝骞朵笖鎴戞洿涓烘槑纭紝鎴戞槸鍜屼綘绗竴琛岀殑
   job瀛楁杩涜鍖归厤锛屼綘鍙渶瑕佺湅鐪媕obs.job鍜宔mp.job鏄惁鐩哥瓑锛屽鏋滅浉绛夛紝杩斿洖璇ユ潯璁?br />    褰曪紝鎺ョ潃锛屾嬁鐫绗竴琛屽啀寰涓嬩緷娆″尮閰嶏紝鍙鏄痡obs.job鍜宔mp.job鏄惁鐩哥瓑锛屽氨杩斿洖
   璇ユ潯璁板綍銆傚洜姝obs涓殑绗竴琛屽拰emp涓瘡涓琛岃繘琛屽尮閰嶏紝灏变細杩斿洖涓涓粨鏋滈泦銆?/p>

3锛夊啀鐪媏xists鍏抽敭瀛楋紝exists()杩斿洖鐨勭粨鏋滄槸true鎴栬協alse锛屽綋鎷彿涓湁鍊肩殑鏃跺欙紝
   灏辨槸瀛樺湪锛岃繑鍥炵殑鏄痶rue锛涘綋鎷彿涓病鏈夊肩殑鏃跺欙紝杩斿洖鐨勬槸false銆傛牴鎹?1)涓紝鎴戜滑
   宸茬粡鐭ラ亾锛宩obs涓殑绗竴琛屽拰emp涓瘡涓琛屽尮閰嶅悗锛岃繑鍥炰簡涓涓粨鏋滈泦锛屼篃灏辫瘉鏄庢湁杩斿洖
   鍊硷紝鍥犳exists()杩斿洖鐨勭粨鏋滄槸true銆?/p>

4锛夊綋鍦╡xists()鍓嶉潰鍔犱簡涓涓猲ot锛岃〃绀哄彇鍙嶃俥xists()杩斿洖鐨勬槸true锛宯ot exists()
   杩斿洖鐨勫氨鏄痜alse銆?/p>

5锛夋牴鎹笂杩板彊杩帮紝褰搉ot exists()鍙樹负false鍚庯紝鍘熷璇彞灏辩浉褰撲簬鍙樹负锛?br />    select jobs.job from jobs where false;
   鍥犳锛岀涓琛宑lerk涓嶈兘琚彇鍑烘潵銆?/p>

6锛夋帴鐫锛屽啀鎷縥obs涓殑绗簩琛?SALESMAN"锛屽幓鍜宔mp琛ㄤ腑鐨勬瘡涓琛岃繘琛屼竴涓鍖归厤锛屼緷鐒堕噸
   澶嶄笂杩版楠ゃ?/p>

浠ヤ笂灏辨槸MySQL绯诲垪涓鏂囪鎳倁nion(all)涓巐imit鍙奺xists鍏抽敭瀛楁暀绋嬬殑璇︾粏鍐呭锛屾洿澶氬叧浜嶮ySQL绯诲垪union(all)涓巐imit鍙奺xists鍏抽敭瀛楃殑璧勬枡璇峰叧娉ㄨ剼鏈箣瀹跺叾瀹冪浉鍏虫枃绔狅紒