1. 程式人生 > 實用技巧 >MySQL中的左外連線和右外連線的和內連線

MySQL中的左外連線和右外連線的和內連線

MYSQL中可以通過內外來鍵連結,將有關係的表中資料合併到一起進行條件篩選:

首先建立兩個新表,資料如下:

student 表資料:

score 表資料:

可以看到students表中stu_id為16048008的記錄對應score表沒有資料;

1.當進行內連線時,系統會自動忽略兩個表中對應不起來的資料:

-- 顯示內連線所有資料:
SELECT * FROM students st INNER JOIN score sc ON st.sid=sc.stu_id;

  資料太多,只截圖最末尾的:

  可以看到,資料只顯示到16048007,16048008的並沒有顯示,所以內連線只顯示所有有關聯的資料.

2.左連結,顯示關鍵詞left左邊表中的所有資料,右邊表資料資料少了補NULL值,資料多了不顯示;

-- 左外連結 left
SELECT * FROM students st LEFT JOIN score sc ON st.sid=sc.stu_id;

  可以看到,16048008在右邊score表中沒有資料,系統用NUll補齊,

SELECT * FROM score sc LEFT JOIN students st ON st.sid=sc.stu_id;

  上圖是我們將students表和score表換了一下位置的執行結果,可以看出,本來右邊表16048008記錄,因為在左邊表鐘沒有資料對應,所以被刪除了,可以看出,左連結是以左邊表中資料為參照,顯示左邊表中所有資料,右邊表,只顯示與左邊表對應的資料,少了補NULl,多了刪除;

  同理,右連結是以右邊為參照,左邊少了補NULL,多了刪除,這裡就不多說了;

  以上可以得出:

  1.內連線,顯示兩個表中有聯絡的所有資料;

  2.左連結,以左表為參照,顯示所有資料;

  3.右連結,以右表為參照顯示資料;

簡簡單單,不急不躁,每天充實而穩定的前行!