首頁  >  文章  >  資料庫  >  mysql中內連接,左連接和右連接的區別

mysql中內連接,左連接和右連接的區別

下次还敢
下次还敢原創
2024-04-29 04:00:36616瀏覽

MySQL 中內連接、左連接和右連接的差異在於:內連接只返回同時在兩個表中匹配的行,而左連接返回左表所有行,包含匹配右表行,右連線返回右表所有行,包含符合左表行。內連接語法:SELECT * FROM table1 INNER JOIN table2 ON table1.column1 = table2.column2;左連接語法:SELECT * FROM table1 LEFT JOIN table2 ON table1.column1 = table2.column2;右連接語法:SELElumn1 = table2.column2;右連接語法#LE#.

mysql中內連接,左連接和右連接的區別

#MySQL 中內連接、左連接、右連接的差異

內連接(INNER JOIN)

只傳回兩個表中具有符合行的記錄。
  • 匹配失敗的記錄將被丟棄。
左連接 (LEFT JOIN)

#傳回左表中的所有記錄,即使右表中沒有符合的行。
  • 右表中沒有符合行的記錄將會以 NULL 值填入。
右連接 (RIGHT JOIN)

#傳回右表中的所有記錄,即使左表中沒有符合的行。
  • 左表中沒有符合行的記錄將會以 NULL 值填入。
用法

    內連接:
  • 用於尋找兩個表之間具有匹配行的記錄,並丟棄不符的記錄。
  • 左連接:
  • 用於尋找左表的所有記錄,並包含右表中匹配行的記錄。
  • 右連接:
  • 用於尋找右表的所有記錄,並包含左表中匹配行的記錄。
語法

  • # 內連接:

    <code class="sql">SELECT *
    FROM table1
    INNER JOIN table2
    ON table1.column1 = table2.column2;</code>

  • 左連接:

    <code class="sql">SELECT *
    FROM table1
    LEFT JOIN table2
    ON table1.column1 = table2.column2;</code>

  • 右連接:

    <code class="sql">SELECT *
    FROM table1
    RIGHT JOIN table2
    ON table1.column1 = table2.column2;</code>

  • ##範例

假設我們有以下兩個表格:

<code>Table1:
| id | name |
|---|---|
| 1 | John |
| 2 | Mary |
| 3 | Bob |

Table2:
| id | address |
|---|---|
| 1 | 123 Main St |
| 2 | 456 Elm St |
| 4 | 789 Oak St |</code>

    # 內連接:
  • <code class="sql">SELECT *
    FROM Table1
    INNER JOIN Table2
    ON Table1.id = Table2.id;</code>
    結果:

idname#address 1John123 Main St#2Mary
##456 Elm St
#左連接:
  • <code class="sql">SELECT *
    FROM Table1
    LEFT JOIN Table2
    ON Table1.id = Table2.id;</code>

    結果:

  • ##id
nameaddress#1##John123 Main St#456 Elm St##3BobNULL#右連結:
<code class="sql">SELECT *
FROM Table1
RIGHT JOIN Table2
ON Table1.id = Table2.id;</code>
2 Mary
結果:
  • id

  • name
address123 Main St
##1 John
#2 Mary 456 Elm St
4 NULL 789 Oak St

以上是mysql中內連接,左連接和右連接的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn