在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

SAS:數(shù)據(jù)集的橫向合并(二)

冬至子 ? 來(lái)源:小高的SAS學(xué)習(xí)筆記 ? 作者:小高筆記 ? 2023-05-19 10:47 ? 次閱讀

前面我們介紹了在data step中用merge的方法可以對(duì)數(shù)據(jù)集橫向合并,這節(jié)我們來(lái)講講在procedure過(guò)程步中用proc sql的方法對(duì)數(shù)據(jù)集進(jìn)行橫向連接,proc sql的功能十分強(qiáng)大,一般在data step中能實(shí)現(xiàn)的同樣在proc sql中也可以實(shí)現(xiàn),而且在很多時(shí)候, Proc步要更勝一籌。proc sql語(yǔ)句中的橫向連接主要有左連接、右連接、內(nèi)部連接、完全連接這幾種情況。下面我將詳細(xì)介紹:

一、最簡(jiǎn)單的join——笛卡爾積

不指定where選擇子集,則會(huì)生成一個(gè)最基本的笛卡爾積,即包括兩個(gè)表所有可能的join。

data one;

input x a$;

    cards;

1 a

2 b

4 d

;

run;

data two;

input x b$;

    cards;

2 x

3 y

5 v

;

run;

proc sql;

create table three1 as

        select *

              from one,two;

quit;

/ 結(jié)果如下: /

圖片

有這個(gè)過(guò)程后,就能完全了解一對(duì)多,多對(duì)多,多對(duì)一連接后的結(jié)果了,反正全部都是先進(jìn)行一次所有行的笛卡爾積的生成,然后再按條件進(jìn)行篩選。

二、內(nèi)連接

(1)內(nèi)連接只會(huì)對(duì)兩表中基于準(zhǔn)則的行進(jìn)行組合和顯示。在內(nèi)連接中,where從句是限制在笛卡爾輸出集中顯示的行的數(shù)量。

圖片

proc sql;

select one.x, a, b

from one, two  

where one.x = two.x;

quit;

/ 結(jié)果如下: /

圖片

(2)在標(biāo)準(zhǔn)內(nèi)連接中,出現(xiàn)兩個(gè)表都含有重復(fù)的值的情況,內(nèi)連接會(huì)對(duì)所有滿(mǎn)足條件的觀測(cè)行進(jìn)行一一對(duì)應(yīng)的笛卡爾積

proc sql;

create table three3 as

       select *          

           from three, four  

               where three.x = four.x;

quit;

/ 結(jié)果如下: /

圖片

三、外連接

外連接是內(nèi)連接的一個(gè)augmentation,除了交的部分,還含有并的某些或全部

(1) 左連接(左表變量順序保持不變 )

圖片

左連接會(huì)將所有滿(mǎn)足ON條件的行進(jìn)行連接,并會(huì)額外加上左表中所有不滿(mǎn)足條件的行。未滿(mǎn)足條件的右表的行被置為缺失值。

proc sql;

create table three4 as

     select *         

         from one left join two  

            on one.x = two.x;

quit;

/ 結(jié)果如下: /

圖片

(2)右連接(右表變量順序保持不變 )

圖片

右連接會(huì)將所有滿(mǎn)足ON條件的行進(jìn)行連接,并會(huì)額外加上左表中所有不滿(mǎn)足條件的行。

proc sql;

create table three5 as

    select *         

        from one right join two  

            on one.x = two.x;

quit;

/ 結(jié)果如下: /

圖片

(3)全連接

全連接會(huì)把所有滿(mǎn)足和不滿(mǎn)足條件的行全部列出來(lái),如果要得出和merge一樣的效果,需要加入coalesce函數(shù)

圖片

COALESCE(argument-1<..., argument-n>) 這個(gè)函數(shù)也可以對(duì)left和right/join用,但是只能得出left或right的結(jié)果

例1:不使用coalesce

proc sql;

create table three6 as

      select *         

          from one full join two  

              on one.x = two.x;

quit;

/ 結(jié)果如下: /

圖片

例2:使用coalesce

proc sql;

create table three7 as

        select coalesce(one.x,two.x) as x,a,b

              from one full join two

                    on one.x=two.x;

quit;

/ 結(jié)果如下: /

圖片

四、Merge/Join的聯(lián)系與區(qū)別

(1)一對(duì)一

data one;

input x a$;

cards;

1 a

2 b

4 d

;

run;

data two;

input x b$;

cards;

2 x

3 y

5 v

;

run;

data merged1;

merge one two;

     by x;

run;

圖片

proc sql;

create table merged2 as

     select coalesce(one.x, two.x) as X, a, b

          from one full join two

               on one.x = two.x;

quit;

圖片

當(dāng)是處于一對(duì)一的情況時(shí),merge a b;by x;相當(dāng)于SQL的full join:即a full join b on a.x=b.x;

(2)一對(duì)多或多對(duì)一

data three;

input x a$;

     cards;

1 a1

1 a2

2 b1

4 d

;

run;

data four;

input x b$;

    cards;

2 x1

2 x2

2 x3

3 y

5 v

;

run;

data merged1;

merge three four;

    by x;

run;

/ 結(jié)果如下: /

圖片

proc sql;

create table merged2 as

     select coalesce(three.x, four.x) as x, a, b

         from three full join four

              on three.x = four.x;

quit;

圖片

當(dāng)是處于一對(duì)多或多對(duì)一的情況時(shí),merge a b;by x;相當(dāng)于SQL的full join:即a full join b on a.x=b.x on a.x=b.x;

(3)多對(duì)多

data five;

input x a$;

    cards;

1 a1

1 a2

2 b1

2 b2

4 d

;

run;

data six;

input x b$;

    cards;

2 x1

2 x2

2 x3

3 y

5 v

;

run;

data merged1;

merge five four;

    by x;

run;

/ 結(jié)果如下: /

圖片

proc sql;

create table merged2 as

      select coalesce(five.x, six.x) as x, a, b

            from five full join six

                 on five.x = six.x;

quit;

/ 結(jié)果如下: /

圖片

當(dāng)是多對(duì)多的情況時(shí),merge a b;by x;與 SQL的full join會(huì)產(chǎn)生不同的結(jié)果。

**總結(jié):

**

1.一對(duì)一或一對(duì)多(多對(duì)一)合并

(1)merge a b;by x;相當(dāng)于SQL的full join:即a full join b on a.x=b.x;

(2)merge a(in=ina) b(in=inb);by x;if ina;相當(dāng)于sql的左連接 a left join b on a.x=b.x;

(3)merge a(in=ina) b(in=inb);by x;if ina and inb;相當(dāng)于SQL的內(nèi)連接:a inner join b on a.x=b.x;

2.多對(duì)多合并

兩者區(qū)別較大,merge只取A.x與B.x的并集,即AUB;而SQL則取兩者的笛卡爾乘積數(shù)即A.x的數(shù)量*B.x的數(shù)量。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • SQL
    SQL
    +關(guān)注

    關(guān)注

    1

    文章

    772

    瀏覽量

    44201
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    SAS走進(jìn)企業(yè)級(jí)存儲(chǔ)應(yīng)用

    2005年第季度快速增長(zhǎng)。2007年,SAS的市場(chǎng)份額預(yù)計(jì)會(huì)達(dá)到60%。富士通將提供小板型(2.5英寸)的硬盤(pán)驅(qū)動(dòng)器和3.5英寸的硬盤(pán)驅(qū)動(dòng)器來(lái)滿(mǎn)足市場(chǎng)需求。 已實(shí)現(xiàn)的快速上市目標(biāo) 20多年來(lái)
    發(fā)表于 11-13 21:58

    串行連接SCSI(SAS)技術(shù)開(kāi)辟寬數(shù)據(jù)路徑

      串行連接SCSI(SAS)技術(shù)開(kāi)辟寬數(shù)據(jù)路徑直到不久前,數(shù)據(jù)中心主要安裝著使用光纖通道連接技術(shù)和并行SCSI接口的存儲(chǔ)區(qū)域網(wǎng)。這類(lèi)存儲(chǔ)解決方案提供了高性能和可靠性,但費(fèi)用高昂
    發(fā)表于 11-13 21:59

    SAS分區(qū)規(guī)范為所有SAS物理結(jié)構(gòu)提供靈活高效的接入控制,其特性包括

    接入控制分區(qū)以將共享網(wǎng)絡(luò)資源劃分為不同的工作組 安全策略以限制不同組之間的訪問(wèn) 擴(kuò)展器開(kāi)關(guān)單點(diǎn)配置以及策略管理 后向兼容,并對(duì)現(xiàn)有SAS控制器、主機(jī)總線以及磁盤(pán)驅(qū)動(dòng)器陣列的操作是透明的。PM8399
    發(fā)表于 06-02 09:31

    數(shù)據(jù)表文件讀取及數(shù)組合并

    讀取指定目錄下的數(shù)據(jù)表文件,通過(guò)合并生成維數(shù)組,數(shù)據(jù)表文件中的行列數(shù)沒(méi)有限制,數(shù)據(jù)自動(dòng)對(duì)齊。
    發(fā)表于 10-14 19:03

    SAS固態(tài)硬盤(pán)存儲(chǔ)技術(shù)

    數(shù)據(jù),對(duì)密集數(shù)據(jù)隨機(jī)訪問(wèn)無(wú)法帶來(lái)質(zhì)的提升, 工業(yè)級(jí)SAS固態(tài)硬盤(pán)底擺脫傳統(tǒng)機(jī)械硬盤(pán)依靠硬盤(pán)電機(jī)高轉(zhuǎn)速讀取數(shù)據(jù)的極限,根本改變硬盤(pán)IO對(duì)整個(gè)服務(wù)器性能最大瓶頸。對(duì)搜索引擎服務(wù)器、在線游戲
    發(fā)表于 06-18 05:00

    SAS硬盤(pán)有什么特點(diǎn)?

    SCSI協(xié)議由于其深受信賴(lài)的可靠性和穩(wěn)定的功能,20年來(lái)一直牢牢占據(jù)市場(chǎng)。3年前才推出的串行連接SCSI(SAS)延續(xù)了對(duì)SCSI的創(chuàng)新,具有全新水平的可擴(kuò)展性、靈活性和經(jīng)濟(jì)有效性,為用戶(hù)提供接入、數(shù)據(jù)傳輸和
    發(fā)表于 09-24 09:01

    SAS接口的設(shè)計(jì)

     SAS是新一代的SCSI技術(shù),和現(xiàn)在流行的Serial ATA(SATA)硬盤(pán)相同,都是采用串行技術(shù)以獲得更高的傳輸速度,并通過(guò)縮短連結(jié)線改善內(nèi)部空間等。SAS是并行SCSI接口之后開(kāi)發(fā)出的全新
    發(fā)表于 09-09 06:26

    結(jié)構(gòu)粒化的數(shù)據(jù)合并

    為了研究實(shí)際中的數(shù)據(jù)合并問(wèn)題,對(duì)各類(lèi)數(shù)據(jù)信息給予了整體表示,使數(shù)據(jù)、關(guān)聯(lián)關(guān)系和劃分共同組成了關(guān)聯(lián)組合結(jié)構(gòu),為
    發(fā)表于 01-17 10:50 ?0次下載

    一種大數(shù)據(jù)的密度統(tǒng)計(jì)合并算法

    data sets,簡(jiǎn)稱(chēng)DSML).該算法將數(shù)據(jù)點(diǎn)的每個(gè)特征看作一組獨(dú)立隨機(jī)變量,并根據(jù)獨(dú)立有限差分不等式獲得統(tǒng)計(jì)合并判定準(zhǔn)則.首先,使用統(tǒng)計(jì)合并判定準(zhǔn)則對(duì)Leaders算法做出改進(jìn),獲得代表點(diǎn)
    發(fā)表于 01-21 11:45 ?1次下載

    5個(gè)必須知道的Pandas數(shù)據(jù)合并技巧

    concat是pandas中專(zhuān)門(mén)用于數(shù)據(jù)連接合并的函數(shù),功能非常強(qiáng)大,支持縱向合并橫向合并,默認(rèn)情況下是縱向
    的頭像 發(fā)表于 04-13 10:35 ?2359次閱讀

    SAS:?數(shù)據(jù)橫向合并(一)

    橫向合并中,當(dāng)兩個(gè)或更多的SAS數(shù)據(jù)沒(méi)有相同的變量時(shí),此時(shí)合并
    的頭像 發(fā)表于 05-19 10:44 ?4673次閱讀
    <b class='flag-5'>SAS</b>:?<b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>的<b class='flag-5'>橫向</b><b class='flag-5'>合并</b>(一)

    ?SAS數(shù)據(jù)的input輸入方式

    SAS input輸入方法用于讀取原始數(shù)據(jù)。原始數(shù)據(jù)可以來(lái)自外部源或來(lái)自流數(shù)據(jù)
    的頭像 發(fā)表于 05-19 14:50 ?2986次閱讀
    ?<b class='flag-5'>SAS</b><b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>的input輸入方式

    SAS-3成式磁盤(pán)陣列解決方案用戶(hù)指南

    電子發(fā)燒友網(wǎng)站提供《SAS-3成式磁盤(pán)陣列解決方案用戶(hù)指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-04 10:20 ?0次下載
    <b class='flag-5'>SAS</b>-3<b class='flag-5'>集</b>成式磁盤(pán)陣列解決方案用戶(hù)指南

    SAS-2成RAID配置實(shí)用程序用戶(hù)指南

    電子發(fā)燒友網(wǎng)站提供《SAS-2成RAID配置實(shí)用程序用戶(hù)指南.pdf》資料免費(fèi)下載
    發(fā)表于 08-10 16:25 ?0次下載
    <b class='flag-5'>SAS</b>-2<b class='flag-5'>集</b>成RAID配置實(shí)用程序用戶(hù)指南

    Yonghong Desktop端Excel 數(shù)據(jù)的優(yōu)化

    優(yōu)化,提升Excel?數(shù)據(jù)使用體驗(yàn)。趕快來(lái)試試看有沒(méi)有你想要的功能吧。 01 Excel?數(shù)據(jù)支持同時(shí)上傳多個(gè)文件,多個(gè)文件可以“合并
    的頭像 發(fā)表于 09-08 11:13 ?538次閱讀
    Yonghong Desktop端Excel <b class='flag-5'>數(shù)據(jù)</b><b class='flag-5'>集</b>的優(yōu)化
    主站蜘蛛池模板: 亚洲ol| 特级毛片免费视频观看| 成年美女黄网站色大免费视频 | 日韩一级一片| 欧美性喷潮| 久久福利青草精品资源站免费| 狠狠色丁香婷婷综合| 大学生毛片| 午夜精品视频在线观看| 色天天躁夜夜躁天干天干| 免费一级牲交毛片| 视频在线播放免费| 日本不卡专区| 性videofree极品另类| 日本精品三级| 黄色a毛片| 影音先锋五月天| 日韩一级片免费观看| 1024久久| 国产三级久久久精品三级| 亚洲成在| 女人张开腿让男人桶免费最新 | 国产私密| 天天看a| 福利视频亚洲| 性生大片免费观看无遮挡| 亚洲四虎影院| 欧美高清一级片| 成色视频| 极品吹潮视频大喷潮tv| 中文一区在线观看| 亚洲天堂网在线观看| 欧美色久| 夜夜欢视频| 在线观看视频免费| 国产1卡2卡三卡四卡网站| 日韩精品系列产品| 国产稀缺精品盗摄盗拍| 天堂在线bt| 亚洲精品成人a| 四虎精品成人免费观看|