国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺析Mysql Join語法以及性能優化

2024-07-24 12:47:18
字體:
來源:轉載
供稿:網友

一.Join語法概述

join 用于多表中字段之間的聯系,語法如下:

復制代碼 代碼如下:

... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona

table1:左表;table2:右表。

JOIN 按照功能大致分為如下三類:

INNER JOIN(內連接,或等值連接):取得兩個表中存在連接匹配關系的記錄。

LEFT JOIN(左連接):取得左表(table1)完全記錄,即是右表(table2)并無對應匹配記錄。

RIGHT JOIN(右連接):與 LEFT JOIN 相反,取得右表(table2)完全記錄,即是左表(table1)并無匹配對應記錄。

注意:mysql不支持Full join,不過可以通過UNION 關鍵字來合并 LEFT JOIN 與 RIGHT JOIN來模擬FULL join.

接下來給出一個列子用于解釋下面幾種分類。如下兩個表(A,B)

復制代碼 代碼如下:

mysql> select A.id,A.name,B.name from A,B where A.id=B.id;
+----+-----------+-------------+
| id | name       | name             |
+----+-----------+-------------+
|  1 | Pirate       | Rutabaga      |
|  2 | Monkey    | Pirate            |
|  3 | Ninja         | Darth Vader |
|  4 | Spaghetti  | Ninja             |
+----+-----------+-------------+
4 rows in set (0.00 sec)

二.Inner join

內連接,也叫等值連接,inner join產生同時符合A和B的一組數據。

復制代碼 代碼如下:

mysql> select * from A inner join B on A.name = B.name;
+----+--------+----+--------+
| id | name   | id | name   |
+----+--------+----+--------+
|  1 | Pirate |  2 | Pirate |
|  3 | Ninja  |  4 | Ninja  |
+----+--------+----+--------+

三.Left join

復制代碼 代碼如下:

mysql> select * from A left join B on A.name = B.name;
#或者:select * from A left outer join B on A.name = B.name;

+----+-----------+------+--------+
| id | name      | id   | name   |
+----+-----------+------+--------+
|  1 | Pirate    |    2 | Pirate |
|  2 | Monkey    | NULL | NULL   |
|  3 | Ninja     |    4 | Ninja  |
|  4 | Spaghetti | NULL | NULL   |
+----+-----------+------+--------+
4 rows in set (0.00 sec)

left join,(或left outer join:在Mysql中兩者等價,推薦使用left join.)左連接從左表(A)產生一套完整的記錄,與匹配的記錄(右表(B)) .如果沒有匹配,右側將包含null。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 敦化市| 法库县| 新营市| 徐水县| 平原县| 壶关县| 定日县| 陕西省| 上蔡县| 武鸣县| 都兰县| 江津市| 禹城市| 阿瓦提县| 惠来县| 九江市| 溆浦县| 荥阳市| 红桥区| 梅河口市| 周口市| 南木林县| 屏南县| 南靖县| 桐乡市| 繁昌县| 台湾省| 中江县| 临沂市| 青浦区| 苏尼特右旗| 崇左市| 广西| 怀化市| 台湾省| 阿拉善左旗| 光山县| 双鸭山市| 长沙市| 天全县| 淳安县|