国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > Oracle > 正文

Oracle 左連接(+)加號用法及常用語法之間的關系

2024-08-29 14:01:15
字體:
來源:轉載
供稿:網友

本文目的:

通過分析左連接(+)加號的寫法和一些常用語法之間的聯系,了解到Oracle 加號(+)的用法

分析步驟:

1.首先創建測試表的結構:

create table test_left_a (a varchar2(50),b varchar2(50))create table test_left_b (a varchar2(50),b varchar2(50))

2.插入相應的測試數據:

insert into test_left_a select 'a','21' from dual;commit;insert into test_left_a select 'c','2111' from dual;commit;insert into test_left_b select 'a','12' from dual;commit;insert into test_left_b select 'b','13' from dual;commit;

3.列舉出實現左連接查詢的幾種常用的語法,以便對比分析

實現左連接查詢(不加where)的幾種語法:

A: 

select * from test_left_a a left join test_left_b b on a.a = b.a;

B: 

select * from test_left_a a, test_left_b b where a.a = b.a(+);

C:

select *from test_left_a ainner join test_left_b b on a.a = b.a(+);

實現左連接查詢(加where)的幾種語法: 

D:

select *from test_left_a aleft join test_left_b b on a.a = b.awhere a.a = b.a;

E:

select *from test_left_a a, test_left_b bwhere a.a = b.a(+)and a.a = b.a;

F:

select *from test_left_a ainner join test_left_b b on a.a = b.a(+)and a.a = b.a;

G:

select *from test_left_a ainner join test_left_b b on a.a = b.a(+)where a.a = b.a;

區分where的目的是為了由淺入深,避免在理解類似E寫法的時候出現on的誤導引起偏差

4.結論:

以上幾種查詢(暫不考慮性能,只考慮用法)
A等價于B等價于C 
查詢結果:
a 21 a 12
c 2111 
D等價于E等價于F等價于G
查詢結果:
a 21 a 12

5.溫馨提示:

使用inner join的時候 直接在on后面寫條件和在where后再寫條件是一樣的,原因是內連接是匹配出on條件為真的記錄(參考F和G)。

使用left join或者right join的時候,直接在on后面寫條件和在where后再寫條件是不一樣的,原因是:

  left join即使on后面的條件為假也會顯示出左表的所有記錄

  right join即使on后面的條件為假也會顯示出右表的所有記錄。

總結

以上所述是小編給大家介紹的Oracle 左連接(+)加號用法及常用語法之間的關系 ,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到oracle教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 东乌珠穆沁旗| 涡阳县| 抚顺市| 金门县| 潜山县| 汉沽区| 防城港市| 梁河县| 云安县| 宁南县| 武功县| 平阴县| 离岛区| 尖扎县| 崇礼县| 如东县| 梨树县| 莱西市| 溧阳市| 礼泉县| 承德市| 含山县| 泸水县| 玉龙| 明光市| 社旗县| 措勤县| 临城县| 蚌埠市| 颍上县| 扎兰屯市| 夏河县| 钟祥市| 兴山县| 桦川县| 临潭县| 民勤县| 肥乡县| 搜索| 华安县| 农安县|