国产探花免费观看_亚洲丰满少妇自慰呻吟_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教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仙居县| 诏安县| 朝阳区| 宜宾县| 河曲县| 临猗县| 霍山县| 文水县| 大悟县| 玛多县| 福清市| 晋江市| 新兴县| 云南省| 宁强县| 兴山县| 秀山| 上蔡县| 卢氏县| 叶城县| 民丰县| 札达县| 阿合奇县| 雷州市| 龙泉市| 赣榆县| 朝阳市| 义马市| 江永县| 河南省| 台南县| 临潭县| 大渡口区| 青河县| 伊宁县| 黄山市| 安丘市| 德惠市| 农安县| 洛宁县| 张家港市|