內連線和外連線的區別
內連線分為等值連線、不等值連線、自然連線、自連線
等值連線:
-- 語法一:select * from 表1 , 表2 where 表1.欄位 = 表2.欄位 ;
-- 語法二:select * from 表1 inner join 表2 on 表1.欄位 = 表2.欄位 where 條件表示式 ;
不等值連線:
--語法:select * from 表1 , 表2 where 表1.欄位 != 表2.欄位 ;
自然連線 using(相同字段)
-- 語法:select * from 表1 inner join 表2 using(兩張表都存在的字段);
自連線-- 自連線 : 一張表和自己進行關聯,表一定要使用別名
-- 語法:select * from 表 別名a , 表 別名b where a.欄位= b.欄位;
外連線分為左外連線和右外連線
左外連線 left join :以左表作為主表,右表作為從表,左表返回所有資料,右表返回滿足匹配條件的資料,右表不滿足條件的記錄顯示為 null ;
-- select * from 表一 left join 表二 on 表一字段= 表二字段 ;
右外連線 right join :以右表作為主表,左表作為從表,右表返回所有資料,左表返回滿足匹配條件的資料,左表不滿足條件的記錄顯示為 null
-- select * from 表一right join 表二 on 表一字段= 表二字段 ;
結果集的不同
內連線主要是返回符合條件的
外連線主表資料全部返回,從表只返回滿足條件的,主表對應的從表的資料不滿足的用null填充。
如下圖:
資料庫的內連線和外連線
複習了 在之前,我對 中的內連線和外連線所得出的資料集不是很清楚。這幾天重新溫習了一下sql的書本,現在的思路應該是很清楚了,現在把自己的理解發出來給大家溫習下。希望和我一樣對sql的連線語句不太理解的朋友能夠有所幫助。發這麼菜的教程,各位大大們別笑話偶了,呵 d 有兩個表a和表b。表a結構如下 a...
資料庫的內連線 外連線
sql資料庫的連線 內連線 和外連線 左外連線 右外連線 和全連線 本次實驗在mysql資料庫中進行,資料庫初始表如下 一 內連線 結果僅包含符合連線條件的兩表中的行。如下 二 外連線 結果包含符合條件的行,同時包含不符合條件的行 分為左外連線 右外連線和全外連線 1 左外連線 左表全部行 右表匹配...
資料庫中的內連線 自然連線 和外連線的區別
資料中的連線join分為內連線 自然連線 外連線,外連線又分為左外連線 右外連線 全外連線 當然,這些分類都是在連線的基礎上,是從兩個表中記錄的笛卡爾積中選取滿足連線的記錄。笛卡爾積簡單的說就是乙個表裡的記錄要分別和另外乙個表的記錄匹配為一條記錄,即如果表a有3條記錄,表b也有三條記錄,經過笛卡爾運...