mysql連接查詢左連接,右連接,內連接實例詳解

本文主要介紹了mysql連接查詢(左連接,右連接,內連接)的相關資料,這里舉例說明如果使用及附實例代碼,需要的朋友可以參考下,希望能幫助到大家。

一、mysql常用連接

  • INNER JOIN(內連接,或等值連接):獲取兩個表中字段匹配關系的記錄。

  • LEFT JOIN(左連接):獲取左表所有記錄,即使右表沒有對應匹配的記錄。

  • RIGHT JOIN(右連接): 與 LEFT JOIN 相反,用于獲取右表所有記錄,即使左表沒有對應匹配的記錄。

mysql>?select?*?from?name_address;  +----------+------+----+  |?address?|?name?|?id?|  +----------+------+----+  |?西北一路?|?張三?|?1?|  |?西北二路?|?李四?|?2?|  |?西北三路?|?王五?|?3?|  +----------+------+----+  3?rows?in?set    mysql>?select?*?from?name_age;  +-----+--------+----+  |?age?|?name??|?id?|  +-----+--------+----+  |?18?|?張三??|?1?|  |?20?|?王五??|?2?|  |?21?|?路人甲?|?3?|  +-----+--------+----+  3?rows?in?set

1、INNER JOIN

INNER JOIN與一般的連表查詢一致,即使用逗號隔開的查詢方式。

mysql>?SELECT?a.`name`,a.age,b.address?FROM?name_age?a?INNER?JOIN?name_address?b?WHERE(on)?a.`name`=b.`name`;  +------+-----+----------+  |?name?|?age?|?address?|  +------+-----+----------+  |?張三?|?18?|?西北一路?|  |?王五?|?20?|?西北三路?|  +------+-----+----------+  2?rows?in?set

2、LEFT JOIN

以左邊的數據表為準

mysql>?SELECT?a.`name`,a.age,b.address?FROM?name_age?a?left?JOIN?name_address?b?on  ?a.`name`=b.`name`;  +--------+-----+----------+  |?name??|?age?|?address?|  +--------+-----+----------+  |?張三??|?18?|?西北一路?|  |?王五??|?20?|?西北三路?|  |?路人甲?|?21?|?NULL???|  +--------+-----+----------+  3?rows?in?set

3、RIGHT JOIN

與LEFT JOIN相反,即以右邊的數據為準

mysql>?SELECT?b.`name`,a.age,b.address?FROM?name_age?a?right?JOIN?name_address?b?on?a.`name`=b.`name`;  +------+------+----------+  |?name?|?age?|?address?|  +------+------+----------+  |?張三?|?18??|?西北一路?|  |?王五?|?20??|?西北三路?|  |?李四?|?NULL?|?西北二路?|  +------+------+----------+  3?rows?in?set

相關推薦:

MySQL連接查詢中索引的重要性

MySQL連接查詢中索引的重要性

MySQL連接查詢中索引的重要性

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享