本文主要介紹了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
相關推薦:
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END