首頁 資料庫 mysql教程 oracle中left join和right join的区别浅谈

oracle中left join和right join的区别浅谈

Jun 07, 2016 pm 05:56 PM
join left oracle

oracle中left join和right join的区别浅谈,需要的朋友可以参考一下

通俗的讲:

A left join B 的连接的记录数与A表的记录数同

A right join B 的连接的记录数与B表的记录数同

A left join B 等价B right join A

table A:

Field_K, Field_A

1 a

3 b

4 c

table B:

Field_K, Field_B

1 x

2 y

4 z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B

from a left join b on a.Field_K=b.Field_K

Field_K Field_A Field_K Field_B

---------- ---------- ---------- ----------

1 a 1 x

3 b NULL NULL

4 c 4 z

select a.Field_K, a.Field_A, b.Field_K, b.Field_B

from a right join b on a.Field_K=b.Field_K

Field_K Field_A Field_K Field_B

---------- ---------- ---------- ----------

1 a 1 x

NULL NULL 2 y

4 c 4 z --

举个例子:

假设a表和b表的数据是这样的。

a b

id name  id stock 

1  a 1 15

2 b 2 50

3 c  

select * from a inner join b on a.id=b.id

这个语法是连接查询中的内连接,它产生的结果是

两个表相匹配的记录出现在结果列表中。

根据上面的表,出现的结果是这样的

a.id name b.id stock

1   a 1 15

2 b 2 50

----------------------------

select * from a,b where a.id=b.id

这个语法是内连接的另外一种写法,其执行结果与inner join 一样

--------------------------------

select * from a left/right join b on a.id=b.id

这个是外连接语法中的左外连接或右外连接

如果是左外连接的话,它将显示a表的所有记录,

select a.*,b.* from a left join b on a.id=b.id

查询的结果是这样的:

a.id name b.id stock

1   a 1 15

2 b 2 50

3 c null null 

--------------------------------------------

如果是右外连接的话,它将显示b表的所有记录,

select a.*,b.* from a right join b on a.id=b.id

查询的结果是这样的:

a.id name b.id stock

1   a 1 15

2 b 2 50

--

select a.*,b.* from a left join b on a.k = b.k

select a.*,b.* from a left outer join b on a.k =b.k

----------上面两种一样left join是left outer join的简写

select a.*,b.* from a left inner join b on a.k = b.k

没有这种写法,错误的语句.

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章

倉庫:如何復興隊友
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
1 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

oracle中計算兩個日期之間天數的函數 oracle中計算兩個日期之間天數的函數 May 08, 2024 pm 07:45 PM

oracle中計算兩個日期之間天數的函數

oracle資料庫日誌會保存多久 oracle資料庫日誌會保存多久 May 10, 2024 am 03:27 AM

oracle資料庫日誌會保存多久

oracle資料庫啟動步驟順序為 oracle資料庫啟動步驟順序為 May 10, 2024 am 01:48 AM

oracle資料庫啟動步驟順序為

oracle中interval的用法 oracle中interval的用法 May 08, 2024 pm 07:54 PM

oracle中interval的用法

oracle資料庫伺服器硬體配置需求 oracle資料庫伺服器硬體配置需求 May 10, 2024 am 04:00 AM

oracle資料庫伺服器硬體配置需求

oracle中某個字元出現的次數怎麼看出來 oracle中某個字元出現的次數怎麼看出來 May 09, 2024 pm 09:33 PM

oracle中某個字元出現的次數怎麼看出來

oracle需要多少內存 oracle需要多少內存 May 10, 2024 am 04:12 AM

oracle需要多少內存

oracle中如何判斷包含兩個字串 oracle中如何判斷包含兩個字串 May 08, 2024 pm 07:00 PM

oracle中如何判斷包含兩個字串

See all articles