溫馨提示×

溫馨提示×

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

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

SQL聯接查詢怎樣寫

發布時間:2025-04-12 17:27:13 來源:億速云 閱讀:146 作者:小樊 欄目:數據庫

在SQL中,聯接查詢(JOIN)用于將兩個或多個表中的行組合起來,基于這些表之間的相關列。以下是幾種常見的聯接查詢類型及其基本語法:

1. INNER JOIN(內連接)

內連接返回兩個表中匹配的行。

SELECT a.column1, b.column2
FROM table1 a
INNER JOIN table2 b ON a.common_column = b.common_column;

2. LEFT JOIN(左連接)

左連接返回左表中的所有行,以及右表中匹配的行。如果右表中沒有匹配的行,則結果集中右表的列將顯示為NULL。

SELECT a.column1, b.column2
FROM table1 a
LEFT JOIN table2 b ON a.common_column = b.common_column;

3. RIGHT JOIN(右連接)

右連接返回右表中的所有行,以及左表中匹配的行。如果左表中沒有匹配的行,則結果集中左表的列將顯示為NULL。

SELECT a.column1, b.column2
FROM table1 a
RIGHT JOIN table2 b ON a.common_column = b.common_column;

4. FULL OUTER JOIN(全外連接)

全外連接返回左表和右表中的所有行。如果某一行在另一個表中沒有匹配的行,則結果集中該表的列將顯示為NULL。

SELECT a.column1, b.column2
FROM table1 a
FULL OUTER JOIN table2 b ON a.common_column = b.common_column;

5. CROSS JOIN(交叉連接)

交叉連接返回兩個表中所有可能的行組合。

SELECT a.column1, b.column2
FROM table1 a
CROSS JOIN table2 b;

示例

假設有兩個表 employeesdepartments,它們的結構如下:

  • employees 表:

    • employee_id (主鍵)
    • name
    • department_id
  • departments 表:

    • department_id (主鍵)
    • department_name

要查詢每個員工及其所屬部門的名稱,可以使用以下SQL語句:

SELECT e.name AS EmployeeName, d.department_name AS DepartmentName
FROM employees e
INNER JOIN departments d ON e.department_id = d.department_id;

這個查詢將返回所有員工及其所屬部門的名稱,只包括那些在兩個表中都有匹配的行。

希望這些示例能幫助你理解SQL聯接查詢的基本用法。如果你有更多問題,請隨時提問!

向AI問一下細節

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

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女