MySQL JOIN UNION

圖解mysql

JOIN 內鏈接

JOIN 默認就是 INNER JOIN 的簡寫,從數學的角度講就是求兩個表的交集,從笛卡爾積的角度講就是從笛卡爾積中挑出ON子句條件成立的記錄。sql

FULL JOIN
MySQL 中沒有 FULL JOIN,就是兩表相連,能夠使用 UNION 來代替app

OUTER JOIN spa

  • LEFT JOIN (就是 LEFT OUTER JOIN)
    兩表關聯,左表所有保留,右表關聯不上用 NULL 表示
  • RIGHT JOIN (就是 RIGHT OUTER JOIN)
    右表所有保留,左表關聯不上的用 NULL 表示。

CROSS JOIN

cross join 是mysql中的一種鏈接方式,區別於內鏈接和外鏈接,對於 cross join 鏈接來講,其實使用的就是笛卡爾鏈接。在MySQL中,當 CROSS JOIN 不使用WHERE子句時,CROSS JOIN產生了一個結果集,該結果集是兩個關聯表的行的乘積。一般,若是每一個表分別具備n和m行,則結果集將具備n*m行 3d

若是 cross 不實用 join 的效果與 inner join 不使用 on 的結果是同樣的code

UNION

MySQL UNION 操做符用於鏈接兩個以上的 SELECT 語句的結果組合到一個結果集合中。多個 SELECT 語句會刪除重複的數據。blog

SELECT country, name FROM Websites  
    WHERE country='CN'  
    UNION ALL  
    SELECT country, name FROM apps

若是不想刪除重複數據,那麼使用 UNION ALLrem

相關文章
相關標籤/搜索