程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MYSQL之內鏈接 左鏈接 右鏈接 區別,mysql

MYSQL之內鏈接 左鏈接 右鏈接 區別,mysql

編輯:MySQL綜合教程

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.右鏈接,以右表為參照顯示數據;

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved