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

小云云
發布: 2018-01-06 13:47:03
原創
2880 人瀏覽過

本文主要介紹了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

#經典mysql連線查詢範例_MySQL

以上是mysql連接查詢左連接,右連接,內連接實例詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!