舉例有兩表資訊如下:
以上兩種查詢方式等價,如下圖所示內聯接inner join只取兩表存在關聯關係的資料
注:inner join與join相同,inner可省略不寫。
查詢結果如下:
如下圖所示,左聯接(左外聯接)左表(user表)資料將會完全展示,右表(dept表)只展示與左表存在關聯關係的資料。
注:left outer join與left join相同,outer可省略不寫。
當左表中的某些記錄在右表中無匹配關聯時,這些記錄的右表關聯項將會以null值填充。
查詢結果如下:
右聯接(右外聯接),右表(dept表)中的資料將會完全展示,左表(user表)只展示與右表存在關聯關係的資料。
注:right outer join與righr join相同,outer可省略不寫。
當右表中的某些記錄在左表中無匹配關聯時,這些記錄的左表關聯項將會以null值填充。
查詢結果如下:
全聯接(全外聯接),左表(user表)與右表(dept表)此兩表的資料全部展示,查詢結果相當於左聯接和右聯接的並集。
注:full outer join與full join相同,outer可省略不寫。
查詢結果如下:
交叉聯接(笛卡爾積)若左表包含n行,右表包含m行,查詢結果集將包含n×m行。
此時,聯接查詢與表id的關聯關係無關,不論兩表資料的記錄是否存在關聯,全按如下圖中規則進行聯接。
查詢結果如下:
SQL聯接查詢
聯接查詢 join表操作符對兩個輸入表進行了操作。聯結有三種基本型別 交叉連線,內連線,外鏈結。這三種連線的區別是它們採用的邏輯查詢處理步驟各部相同,每種連線都有一套不同的步驟。交叉連線只有乙個步驟 笛卡爾積 內連線有兩個步驟 笛卡爾積,過濾 外鏈結有三個步驟 笛卡爾積,過濾,新增外部行。交叉連線 ...
sql基礎語法 聯接查詢
交叉聯接 1.不帶where條件的,將返回兩個表的 行乘積 select c.e.from sales.customers c cross join hr.employees e 2.帶where 條件的,交叉聯接不能使用on select e1.empid,e1.firstname,e1.last...
sql 左聯接,右聯接,內聯接的比較
首先需要解釋一下這幾個聯接的意思 2 left join 左聯接 返回包括左表中的所有記錄和右表中聯結字段相等的記錄。3 right join 右聯接 返回包括右表中的所有記錄和左表中聯結字段相等的記錄。inner join 等值連線 只返回兩個表中聯結字段相等的行。接下來,建立乙個資料庫,然後建立...