欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle如何利用交叉連接生成數(shù)字序列

 更新時(shí)間:2024年06月11日 09:35:01   作者:梁萌  
這篇文章主要介紹了Oracle如何利用交叉連接生成數(shù)字序列問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

Oracle用交叉連接生成數(shù)字序列

建表并插入記錄

CREATE TABLE t_number(n INTEGER PRIMARY KEY);
INSERT INTO t_number VALUES (0);
INSERT INTO t_number VALUES (1);
INSERT INTO t_number VALUES (2);
INSERT INTO t_number VALUES (3);
INSERT INTO t_number VALUES (4);
INSERT INTO t_number VALUES (5);
INSERT INTO t_number VALUES (6);
INSERT INTO t_number VALUES (7);
INSERT INTO t_number VALUES (8);
INSERT INTO t_number VALUES (9);

實(shí)現(xiàn)SQL:

SELECT hundred.n * 100 + ten.n * 10 + one.n AS n
FROM t_number hundred
CROSS JOIN t_number ten
CROSS JOIN t_number one
ORDER BY n

執(zhí)行結(jié)果:

查詢返回了一個(gè)0~999的數(shù)字序列。

顯然,我們可以通過(guò)更多的自連接生成更大的數(shù)字序列。

還有其他生成序列的方法:

例如connect by結(jié)合rownum實(shí)現(xiàn)

select rownum from dual connect by rownum<=10;

使用level實(shí)現(xiàn)

select level from dual connect by level<=10;

Oracle表的連接(交叉連接 ,內(nèi)連接,自然連接,外連接,全外連接)

核心:交叉連接

select A.column1,A.column2,B.column1,B.column2 from A cross join B;

交叉連接就是做笛卡爾積 計(jì)算 原理如下 具體原理百度

解讀示例: A表有2行數(shù)據(jù) , B表有3行數(shù)據(jù) 交叉連接后,產(chǎn)生一個(gè)新表 C。

A ----------B
1 a2 —1 b2
2 a4 —2 b4
------ —3 b6
C
1 a2 1 b2
1 a2 2 b4
1 a2 3 b6
2 a4 1 b2
2 a4 2 b4
2 a4 3 b6

表C左邊為 A表數(shù)據(jù), 右邊為B表數(shù)據(jù)。 一共產(chǎn)生6行數(shù)據(jù)(2*3=6)。其實(shí)就是排列組合。

內(nèi)連接

在表C中 根據(jù)on 關(guān)鍵字后的條件 找行數(shù)據(jù),然后 顯示出來(lái),顯示的列就是select后的指定列;

特殊點(diǎn):on 的兩個(gè)判斷列 名字可以不同 類(lèi)型大致相同

select A.column1,A.column2,B.column1,B.column2 from A inner join B on A.column1=B.column1

在C表中找 到

1 a2 1 b2
2 a4 2 b4

自然連接

就是一種內(nèi)連接

select A.column1,A.column2,B.column1,B.column2 from A natural join B

特殊在于:

1、省略了 on 語(yǔ)句 (條件語(yǔ)句) 系統(tǒng)會(huì)自動(dòng)找 判斷列

2、表A和表2中 至少有各自有一列 作為判斷列,名稱相同,類(lèi)型大致相同()

外連接(左外 右外)

先根據(jù)on 語(yǔ)句的條件 進(jìn)行內(nèi)連接 得到一個(gè)結(jié)果,然后在結(jié)果的基礎(chǔ)上 ,添加行,把A側(cè)沒(méi)有顯示的 行數(shù)據(jù),顯示出來(lái),B側(cè) 顯示為NULL;

全外連接

此連接 先根據(jù)on 語(yǔ)句的條件 進(jìn)行內(nèi)連接 得到一個(gè)結(jié)果,然后在結(jié)果的基礎(chǔ)上,添加行,把A側(cè)沒(méi)有顯示的 行數(shù)據(jù),顯示出來(lái),B側(cè) 顯示為NULL; 把B側(cè)沒(méi)有顯示的 行數(shù)據(jù),顯示出來(lái),A側(cè) 顯示為NULL;

感興趣的 可以自己做幾個(gè)例子寫(xiě)一寫(xiě)

on 后面 可以用大于 小于 等于做判斷

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Oracle數(shù)據(jù)庫(kù):查詢序列、刪除序列方式

    Oracle數(shù)據(jù)庫(kù):查詢序列、刪除序列方式

    文章簡(jiǎn)要介紹了如何在數(shù)據(jù)庫(kù)中查詢和刪除序列,首先,展示了如何查詢當(dāng)前用戶下的序列,并通過(guò)示例說(shuō)明了序列已創(chuàng)建,接著,介紹了如何查詢所有序列,最后,詳細(xì)說(shuō)明了如何刪除序列,并提供了刪除命令和示例
    2025-02-02
  • Oracle 10G:PL/SQL正規(guī)表達(dá)式(正則表達(dá)式)手冊(cè)

    Oracle 10G:PL/SQL正規(guī)表達(dá)式(正則表達(dá)式)手冊(cè)

    Oracle Database 10g 的一個(gè)新特性大大提高了您搜索和處理字符數(shù)據(jù)的能力。這個(gè)特性就是正規(guī)表達(dá)式,是一種用來(lái)描述文本模式的表示方法。很久以來(lái)它已在許多編程語(yǔ)言和大量 UNIX 實(shí)用工具中出現(xiàn)過(guò)了。
    2009-06-06
  • Oracle數(shù)據(jù)庫(kù)中如何按天、周、月、季、年統(tǒng)計(jì)數(shù)據(jù)

    Oracle數(shù)據(jù)庫(kù)中如何按天、周、月、季、年統(tǒng)計(jì)數(shù)據(jù)

    我們經(jīng)常遇到一些需求,需要我們?cè)趕ql語(yǔ)句中對(duì)日期進(jìn)行分類(lèi)統(tǒng)計(jì),下面這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫(kù)中如何按天、周、月、季、年統(tǒng)計(jì)數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2024-03-03
  • Oracle 11g收集多列統(tǒng)計(jì)信息詳解

    Oracle 11g收集多列統(tǒng)計(jì)信息詳解

    我們?cè)趯?xiě)SQL語(yǔ)句的時(shí)候,有的時(shí)候會(huì)碰到where子句后面有多個(gè)條件的情況,也就是根據(jù)多列的條件篩選得到數(shù)據(jù)。下面這篇文章主要給大家介紹了Oracle 11g收集多列統(tǒng)計(jì)信息的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考下。
    2017-03-03
  • 在Oracle數(shù)據(jù)庫(kù)中添加外鍵約束的方法詳解

    在Oracle數(shù)據(jù)庫(kù)中添加外鍵約束的方法詳解

    這篇文章主要介紹了在Oracle數(shù)據(jù)庫(kù)中添加外鍵約束的方法,需要的朋友可以參考下
    2016-01-01
  • 如何解決Oracle數(shù)據(jù)表入庫(kù)中文亂碼問(wèn)題

    如何解決Oracle數(shù)據(jù)表入庫(kù)中文亂碼問(wèn)題

    Oracle數(shù)據(jù)庫(kù)在處理中文數(shù)據(jù)時(shí),經(jīng)常會(huì)遇到亂碼問(wèn)題,導(dǎo)致數(shù)據(jù)無(wú)法正常顯示和處理,這是因?yàn)镺racle數(shù)據(jù)庫(kù)默認(rèn)的字符集為US7ASCII,無(wú)法識(shí)別中文字符,通過(guò)修改數(shù)據(jù)庫(kù),客戶端和應(yīng)用程序字符集,將數(shù)據(jù)轉(zhuǎn)換為正確的字符集,可以避免亂碼問(wèn)題
    2024-02-02
  • oracle中sql%rowcount的作用詳解

    oracle中sql%rowcount的作用詳解

    這篇文章主要介紹了oracle中sql%rowcount的作用,sql%rowcount來(lái)判斷是否更新了記錄的狀態(tài),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-05-05
  • oracle不能使用EM怎么辦 oracle11g如何正確安裝配置EM

    oracle不能使用EM怎么辦 oracle11g如何正確安裝配置EM

    這篇文章主要為大家詳細(xì)介紹了oracle不能使用EM的解決方法,oracle11g如何正確安裝配置EM,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-05-05
  • Oracle基礎(chǔ):程序中調(diào)用sqlplus的方式

    Oracle基礎(chǔ):程序中調(diào)用sqlplus的方式

    今天小編就為大家分享一篇關(guān)于Oracle基礎(chǔ):程序中調(diào)用sqlplus的方式,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2018-12-12
  • Oracle 8i在P4上的安裝

    Oracle 8i在P4上的安裝

    Oracle 8i在P4上的安裝...
    2007-03-03

最新評(píng)論