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的並沒有顯示,所以內連線只顯示所有有關聯的資料.
--左外鏈結 left可以看到,16048008在右邊score表中沒有資料,系統用null補齊,
上圖是我們將students表和score錶換了一下位置的執行結果,可以看出,本來右邊表16048008記錄,因為在左邊表鐘沒有資料對應,所以被刪除了,可以看出,左鏈結是以左邊表中資料為參照,顯示左邊表中所有資料,右邊表,只顯示與左邊表對應的資料,少了補null,多了刪除;
同理,右鏈結是以右邊為參照,左邊少了補null,多了刪除,這裡就不多說了;
以上可以得出:
1.內連線,顯示兩個表中有聯絡的所有資料;
2.左鏈結,以左表為參照,顯示所有資料;
3.右鏈結,以右表為參照顯示資料;
簡簡單單,不急不躁,每天充實而穩定的前行!
左連線 左外連線 右外連線
在之前,我對mssql中的內連線和外連線所得出的資料集不是很清楚。這幾天重新溫習了一下sql的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對sql的連線語句不太理解的朋友能夠有所幫助。發這麼菜的教程,各位大大們別笑話偶了,呵 d 有兩個表a和表b。表a結構如下 a...
MySQL內連線 左外連線 右外連線 全外連線
連線的優勢是減少了外來鍵的使用。內連線 最常見的等值連線,指連線結果僅包含符合連線條件的行,參與連線的兩個表都應該符合連線條件。inner join或join on condition 首先建立兩個表person和card,內容如下 select from card id cardname 1 ca...
自然連線,外連線,左外連線,右外連線
1.自然連線 結果基於表r和s的笛卡爾乘積,取對應的r和s中相同屬性組都相同的值,同時相同屬性組只保留乙個 先來看圖示,2個表以及自然連線的結果 操作的步驟 1.1找出2個表中相同的屬性組 屬性a加上屬性b 1.2找相同屬性組中,相同的屬性值所對應的元組 相同的屬性值 1.2.相同屬性值對應的元組 ...