本文主要介紹了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連接查詢左連接,右連接,內連接實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!