中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL JOIN Summary

發布時間:2020-07-03 06:27:36 來源:網絡 閱讀:720 作者:coveringindex 欄目:MySQL數據庫


1. JOIN語法(精簡后)

table_reference:
    table_factor
  | join_table

table_factor:
    table_subquery [AS] alias
  | ( table_references )

join_table:
    table_reference [INNER | CROSS] JOIN table_factor [join_condition]
  | table_reference {LEFT|RIGHT} [OUTER] JOIN table_reference join_condition
  | table_reference NATURAL [{LEFT|RIGHT} [OUTER]] JOIN table_factor

join_condition:
    ON conditional_expr
  | USING (column_list)


2. JOIN分類: 內連接, 外連接.


2.1 內連接(INNER JOIN)

a. 在MySQL中, JOIN, CROSS JOIN, and INNER JOIN語法是等價的; 不指定ON條件, 得到的是笛卡爾積(That is, each and every row in the first table is joined to each and every row in the second table).


b. 內連接(INNER JOIN), 或稱等值連接, 其只顯示滿足條件的記錄.

若表left_tbl和right_tbl, 在表示內連接時, 有兩種形式: left_tbl INNER JOIN right_tbl, 和left_tbl,(comma) right_tbl. 該兩種形式在語法上是等價的, 但是JOIN的優先級高于,(comma operator), 混用時可能產生錯誤, 最好使用JOIN.

內連接的兩種表現形式, 分別對應了兩種獲取數據的方式: ON, 和WHERE. 在使用ON時, 也都可以改寫為,(comma). 但ON說明的是: 如何完成表間的JOIN操作, 而WHERE只是在結果集種過濾出滿足條件的記錄, 含義還是有區別的.


2.2 外連接(OUTER JOIN)

a. 外連接有兩種形式: LEFT | RIGHT [OUTER] JOIN(OUTER可省略), 常見用于獲取在表left_tbl, 而不在表right_tbl中的數據.
SELECT left_tbl.* FROM left_tbl LEFT JOIN right_tbl ON left_tbl.id = right_tbl.id WHERE right_tbl.id IS NULL; 


b. 若表a, 和b中有相同的字段, 如c1, c2, c3, 那么下面的兩種寫法是等價的:
a LEFT JOIN b USING (c1, c2, c3)
a LEFT JOIN b ON a.c1 = b.c1 AND a.c2 = b.c2 AND a.c3 = b.c3


c. 對于a LEFT JOIN b USING (c1, c2, c3), 和a NATURAL LEFT JOIN b獲取的結果集, 有稍許不同, 后者刪除了重復字段. 這里NATURAL暫看成個關鍵字吧, 可和內外連接結合使用, NATURAL JOIN的特點是, 同名字段相連接, 且去重. 其實際作用不大.


向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

无为县| 海伦市| 安塞县| 财经| 泉州市| 吴川市| 淮安市| 山东省| 清水河县| 乌兰县| 婺源县| 梁河县| 芜湖市| 中江县| 大厂| 葫芦岛市| 得荣县| 商都县| 长葛市| 重庆市| 延庆县| 柳河县| 黄浦区| 阳朔县| 南澳县| 屏山县| 湛江市| 张掖市| 咸阳市| 泸定县| 钟山县| 永吉县| 广安市| 南投市| 乐平市| 蒙城县| 鄂托克前旗| 淄博市| 嘉义市| 沐川县| 墨竹工卡县|