關於外連線和where條件
在外連線中,where後出現的表等同於內連線,因此,如果用了where條件,就應當將left join改為inner join。以下測試驗證了這點。
with tab_a as
(
select 1 id1, 11 id2 from dual union all
select 2 id1, 22 id2 from dual union all
select 3 id1, 33 id2 from dual
), tab_b as
(
select 1 id1, 11 id2 from dual union all
select 2 id1, 22 id2 from dual union all
select 4 id1, 44 id2 from dual
)
select a.*, b.*
from tab_a a
left join tab_b b on a.id1 = b.id1
where b.id1 <> 4;
結果是沒有3的
ID1 ID2 ID1 ID2
---------- ---------- ---------- ----------
1 11 1 11
2 22 2 22
如果不加where條件
with tab_a as
(
select 1 id1, 11 id2 from dual union all
select 2 id1, 22 id2 from dual union all
select 3 id1, 33 id2 from dual
), tab_b as
(
select 1 id1, 11 id2 from dual union all
select 2 id1, 22 id2 from dual union all
select 4 id1, 44 id2 from dual
)
select a.*, b.*
from tab_a a
left join tab_b b on a.id1 = b.id1
--where b.id1 <> 4;
結果是包含3的
ID1 ID2 ID1 ID2
---------- ---------- ---------- ----------
1 11 1 11
2 22 2 22
3 33
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28974745/viewspace-2216092/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- T-SQL——關於Join on的的連線條件和where的篩選條件的區分SQL
- 外連線有 OR 關聯條件只能走 NL優化優化
- switch拼接where條件
- 儲存過程WHERE條件不生效儲存過程
- sql 內連線和外連線SQL
- 解密SVM系列(一):關於拉格朗日乘子法和KKT條件解密
- mysql 左連結 left join 條件寫在where 後面與 on後面的區別MySql
- mysql,where條件查詢等學習筆記MySql筆記
- ORACLE sql merge into update where條件位置與效能消耗OracleSQL
- 關於面向連線與面向無連線
- MYSQL學習筆記6: DQL條件查詢(where)MySql筆記
- Oracle左外連線、右外連線、完全外連線以及(+)號用法Oracle
- MySQL的where條件字串區分大小寫的問題MySql字串
- Mysql關於長連線短連線優劣比較MySql
- 關於 Homestead 連線 MySQL 問題MySql
- 帶你讀 MySQL 原始碼:where 條件怎麼過濾記錄?MySql原始碼
- 【經典】連線oracle的總結(關於tnsname和監聽)Oracle
- Python連線MySQL的條條大路PythonMySql
- 生產資料update沒加where條件(從執行到恢復)
- Laravel admin grid where 條件加 orWhere filter 不起作用怎麼解決LaravelFilter
- MYSQL語法:左連線、右連線、內連線、全外連線MySql
- MySQL筆記3——內連線/外連線、多表連線MySql筆記
- mongodb條件查詢不等於MongoDB
- Winodws同時連線內網和外網內網
- 關於sqlserver字元型別查詢條件區分大小寫SQLServer字元型別
- 32、條件格式和公式公式
- 第一次線上 OOM 事故,竟和 where 1 = 1 有關OOM
- 關於canonmx538無線連線的問題
- 計劃自動相關條件
- hyperf關聯模型條件查詢模型
- 關聯條件的業務使用
- [20200711]關於左右連線的問題.txt
- 關於Android room 時間函式條件的坑 給需要的人AndroidOOM函式
- 「譯」編寫更好的 JavaScript 條件式和匹配條件的技巧JavaScript
- Oracle OCP(02):條件和排序Oracle排序
- JS迴圈和條件分支JS
- 談談raft fig8 —— 迷惑的提交條件和選舉條件Raft
- having和where