佳木斯湛栽影视文化发展公司

主頁(yè) > 知識(shí)庫(kù) > Oracle 左連接(+)加號(hào)用法及常用語(yǔ)法之間的關(guān)系

Oracle 左連接(+)加號(hào)用法及常用語(yǔ)法之間的關(guān)系

熱門(mén)標(biāo)簽:百度競(jìng)價(jià)排名 呼叫中心市場(chǎng)需求 地方門(mén)戶(hù)網(wǎng)站 Linux服務(wù)器 鐵路電話系統(tǒng) 服務(wù)外包 網(wǎng)站排名優(yōu)化 AI電銷(xiāo)

本文目的:

通過(guò)分析左連接(+)加號(hào)的寫(xiě)法和一些常用語(yǔ)法之間的聯(lián)系,了解到Oracle 加號(hào)(+)的用法

分析步驟:

1.首先創(chuàng)建測(cè)試表的結(jié)構(gòu):

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

2.插入相應(yīng)的測(cè)試數(shù)據(jù):

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.列舉出實(shí)現(xiàn)左連接查詢(xún)的幾種常用的語(yǔ)法,以便對(duì)比分析

實(shí)現(xiàn)左連接查詢(xún)(不加where)的幾種語(yǔ)法:

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 a
inner join test_left_b b on a.a = b.a(+);

實(shí)現(xiàn)左連接查詢(xún)(加where)的幾種語(yǔ)法:

D:

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

E:

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

F:

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

G:

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

區(qū)分where的目的是為了由淺入深,避免在理解類(lèi)似E寫(xiě)法的時(shí)候出現(xiàn)on的誤導(dǎo)引起偏差

4.結(jié)論:

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

5.溫馨提示:

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

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

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

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

總結(jié)

以上所述是小編給大家介紹的Oracle 左連接(+)加號(hào)用法及常用語(yǔ)法之間的關(guān)系 ,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!

您可能感興趣的文章:
  • Oracle存儲(chǔ)過(guò)程循環(huán)語(yǔ)法實(shí)例分析
  • Oracle實(shí)現(xiàn)分頁(yè)查詢(xún)的SQL語(yǔ)法匯總
  • MySQL與Oracle的語(yǔ)法區(qū)別詳細(xì)對(duì)比
  • Oracle存儲(chǔ)過(guò)程基本語(yǔ)法介紹
  • SQLServer 2005 和Oracle 語(yǔ)法的一點(diǎn)差異小結(jié)
  • Oracle存儲(chǔ)過(guò)程入門(mén)學(xué)習(xí)基本語(yǔ)法
  • oracle基礎(chǔ)語(yǔ)法詳解

標(biāo)簽:湘潭 衡水 銅川 仙桃 崇左 蘭州 黃山 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Oracle 左連接(+)加號(hào)用法及常用語(yǔ)法之間的關(guān)系》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢(xún)

    • 400-1100-266
    凤庆县| 蓬溪县| 商河县| 岗巴县| 沧州市| 利辛县| 绥化市| 葫芦岛市| 海盐县| 神池县| 博客| 安陆市| 托克托县| 西畴县| 西峡县| 米脂县| 泰州市| 濮阳市| 蒙自县| 张掖市| 沈阳市| 旺苍县| 南部县| 南投市| 林西县| 蛟河市| 黄冈市| 定南县| 象山县| 开鲁县| 阿克陶县| 新疆| 墨玉县| 永寿县| 辽源市| 彭阳县| 安塞县| 左权县| 沁阳市| 乐业县| 密云县|