SQL基礎 常見多表連線查詢

2021-07-24 21:51:43 字數 1099 閱讀 9970

連線查詢某些情況下可以減少查詢次數,提高效率

等於/不等連線
通過where條件進行連線查詢
--相等連線

select e.employee_id, e.last_name, d.department_id, d.department_name

from employees e, departments d

where e.department_id = d.department_id;

員工沒有對應部門,則不會出現在結果中

外連線
通過(+)進行連線查詢,分主表和副表
-- 外連線

select e.employee_id, e.last_name, d.department_id, d.department_name

from employees e, departments d

where e.department_id = d.department_id(+);

員工沒有部門(沒有外來鍵關係時),仍會顯示在結果中,只是部門資訊為空

自連線
通過連線自身來查詢符合條件的結果
-- 自連線

select e1.employee_id, e1.last_name, e1.manager_id , e2.last_name

from employees e1, employees e2

where e1.manager_id = e2.employee_id;

select e1.employee_id, e1.last_name, e2.employee_id , e2.last_name

from employees e1, employees e2

where e1.employee_id = e2.manager_id;

一般員工和主管新西都存在於員工表中

SQL多表連線查詢

本文主要列舉兩張和三張表來講述多表連線查詢。新建兩張表 表1 student 截圖如下 表2 course 截圖如下 此時這樣建表只是為了演示連線sql語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。一 外連線 外連線可分為 左連線 右連線 完全外連線。1 左連線 lef...

SQL多表連線查詢

本文主要列舉兩張和三張表來講述多表連線查詢。新建兩張表 表1 student 截圖如下 表2 course 截圖如下 此時這樣建表只是為了演示連線sql語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。一 外連線 外連線可分為 左連線 右連線 完全外連線。1 左連線 lef...

SQL多表連線查詢

本文主要列舉兩張和三張表來講述多表連線查詢。新建兩張表 表1 student 截圖如下 表2 course 截圖如下 此時這樣建表只是為了演示連線sql語句,當然實際開發中我們不會這樣建表,實際開發中這兩個表會有自己不同的主鍵。一 外連線 外連線可分為 本文主要列舉兩張和三張表來講述多表連線查詢。新...