付費下載
下載本文檔
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第一部分(2): SQL集合查詢與其它8 集合操作9 生成表和視圖10 PROC SQL選項11 數據字典目標 介紹集合操作集合操作關鍵字:集合操作關鍵字:集合操作關鍵字:集合操作關鍵字:EXCEPTERSECT UNIONOUTERUNION 修飾符ALLCORRESPONDING2集合運算符語法使用集合運算符進行SQL查詢的一般形式是:集合運算符對由兩個SELECT語句產生的結果集進行操作,而不是實際的表本身。3SELECT EXCEPT |ERSECT | UNION | OUTER UNION SELECT 集合運算符的默認行為EXCEPTERSECT UNIONOUTER UNION
2、4兩個結果集的所有列都被選中。列要按位置匹配而且必須是相同的數據類型。最終結果集的列名由第一個結果集確定。集合操作介紹看作一個集合,則將兩張表中的差集:選擇在第一個表中出現,但不在第二個表中出現的不重復的行;交集:選擇在兩個表中都出現的不重復的行;并集:選擇兩個表的所有不重復行,列覆蓋;OuterUnion:選擇兩個表的所有行,包括重復行和非重復行,列不覆蓋。表1表1表1表1表2表2表2表2Outer UNIONERSECT并 UNION差 MINUS交修飾符以下兩個修飾符來修改集合運算符的行為:ALL不進行表內的剔重操作,提高運行速度;不能和OUTER UNION運算符合用。CORRESPO
3、NDING(簡寫為CORR )通過名字而不是位置來覆蓋列( EXCEPT、運算符默認是按照數值的位置進行匹配);ERSECT和UNION當用于EXCEPT、列名匹配的列;ERSECT和UNION運算符中時,刪除不能按當用于OUTER UNION 運算符中時,CORRESPONDING會覆蓋同名列。6集合操作關鍵字:EXCEPTEXCEPT返回在第一個結果集中出現,但不在第是二個結果集中出現的不重復的行。CORR結果集是指Select查詢結果,在沒有CORR的情況下,只按數據的位置做對應。在沒有CORR的情況下,結果集沒有變量這個概念,只要兩個結果集同一位置上否ALL否的變量類型一樣,就可以進行
4、集合運算,是至于是否符合邏輯是編程保證的。結果在展現或根據結果創(chuàng)建表時,使用第一個查詢結果的變量名。結束刪除匹配的行刪除重復行刪除不匹配的列EXCEPT 運算符顯示在Table ONE中但是不在Table TWO中的不重復的行。ONETWO刪除表內重復行刪除表TWO相最終結果集的列名由Table ONE確定8XA1a1b2c4e6gselect *from one except select *from two;XB1x2y3z3v5wX A1 a1 a1 b2 c3 v4 e6 g帶有ALL的EXCEPT 運算符顯示Table ONE的行(包括重復的),但是不在Table TWO中。ONET
5、WO沒有表內剔重刪除表TWO相XA1a1a最終結果集的列名由Table ONE確定1b2c4e6g9select *from one except all select *from two;XB1x2y3z3v5wX A1 a1 a1 b2 c3 v4 e6 g帶有ALL的EXCEPT 運算符顯示Table ONE的行(包括重復的),但是不在Table TWO中。ONETWO沒有表內剔重刪除表TWO相XA1a1a最終結果集的列名由Table ONE確定1b2c4e6g10select *from one except all select *from two;XB1x2y3z3v5wX A1
6、a1 a1 b2 c3 v4 e6 g帶有CORR的EXCEPT 運算符基于相同的列名,顯示在Table ONE中但是不在Table TWO的ONE不重復的行。TWO只保留名稱相同的列刪除表內重復行刪除表TWO相最終結果集的列名由Table ONE確定11X46select *from one except corr select *from two;XB1x2y3z3v5wXA1a1a1b2c3v4e6g帶有ALL和CORR的EXCEPT 運算符ONETWO只保留名稱相同的列XAXB1a沒有表內剔重1x1a2y刪除表TWO相,1b3z表TWO中的一行只能消去表ONE中的一行2c3vselec
7、t*3v5wfromone4eexcept all corr6gselect*Xfromtwo;114最終結果集的列名由Table ONE確定612集合操作關鍵字:ERSECTERSECT是CORR返回在兩個結果集中都出現的不重復行。結果集是指Select查詢結果,在沒有CORR的情況下,只按數據的位置做對應。在沒有CORR的情況下,結果集沒有變量這個概念,只要兩個結果集同一位置上否ALL的變量類型一樣,就可以進行集合運算,否至于是否符合邏輯是編程保證的。是結果在展現或根據結果創(chuàng)建表時,使用第一個查詢結果的變量名。保存匹配的行結束刪除重復的行刪除不匹配的列ERSECT 運算符ONETWO14X
8、A3vselect *from oneect * from two;ersectXB1x2y3z3v5wXA1a1a1b2c3v4e6g練習請用紙筆寫出下列程序的結果:15select *from oneersect CORR ALLselect *from two;select *from one ersect CORRselect *from two;select *from one ersect ALLselect *from two;集合操作關鍵字:UNIONUNION是CORR否先串接表,再剔重,這與前兩個操作符有區(qū)別ALL否是結束刪除重復的行串連表刪除不匹配的列UNION 運算符O
9、NETWO來自于兩張表的結果集縱向連接成一個結果集, 刪除重復行。17select *from one union select *from two;XB1x2y3z3v5wX A1 a1 a1 b23 v4 e6 gXA1a1b1x2c2y3v3z4e5w6g練習請用紙筆寫出下列程序的結果:18select *from one union CORR ALL select *from two;select *from one union CORR select *from two;select *from one union ALL select *from two;集合運算符和關鍵字:流程圖
10、EXCEPTERSECTUNION是是是CORRCORRCORR否否否ALLALL否否是是ALL否是結束結束19刪除重復的行結束保存匹配的行刪除匹配的行刪除重復的行刪除重復的行串連表刪除不匹配的列刪除不匹配的列刪除不匹配的列OUTER UNION 運算符顯示Table ONE和Table TWO中的所有數據值。ONETWO20select *from one outer union select *from two;XAXB1a.1a.1b.2c.3v.4e.6g.1x.2y.3z.3v.5wXB1x2y3z3v5wXA1a1a1b2c3v4e6g帶有CORR的OUTER UNION 運算符顯
11、示Table ONE和Table TWO中的所有數據值,但是覆蓋相同的列。ONETWO最終結果21select *from one outer union corr select *from two;XAB1a1a1b2c3v4e6g1x2y3z3v5wXB1x2y3z3v5wXA1a1a1b2c3v4e6gSQL 和傳統(tǒng)SAS 編程下列程序生成相同的:22proc append base=one dawo; run;proc prdata=one noobs;run;proc sql;select * from one outer union corr select * from two;q
12、uit;dahree;one two;run;proc prdahree noobs; run;小練習請嘗試獲得陰影區(qū)域,不包含重復行。proc sql; (select * exceptfrom one表1select * from two) union(select * from twoexceptselect * from one);表2第一部分(2): SQL集合查詢與其它8 集合操作9 生成表和視圖10 PROC SQL選項11 數據字典創(chuàng)建表使用CREATE TABLE語句可以使用SQL查詢結果創(chuàng)建一張表。CREATE TABLE語句的一般形式:CREATE TABLE table
13、-name ASquery-expres;25創(chuàng)建視圖CREATE VIEW 語句的一般形式為:!CREATE VIEW 語句不同于CREATE TABLE語句。 CREATE VIEW語句總是從查詢結果創(chuàng)建一個視圖。沒有提取數據創(chuàng)建空表的方法不適用于創(chuàng)建視圖。26CREATE VIEW view-name ASquery-expres;視圖:優(yōu)點可以使用視圖做到如下幾點:避免大的數據表的副本。避免數據表副本頻繁刷新。當基數據變化時,視圖呈現數據。將來自多個數據庫表格和邏輯庫或者數據庫中的數據結合在一起查看。簡化復雜的查詢。防止其他用戶不慎改變查詢代碼。27視圖:缺點由于視圖每次的是變化表格中
14、的數據,所以視圖的結果可能是不同的。每一次執(zhí)行視圖時都需要大量的資源。同一個視圖可以節(jié)省磁盤和內存。在一個程序多次空間,但是需要額外的CPU相同的數據時,使用表而不是視圖。這樣可以確保每步的結果一致,并且明顯減少所需的資源。28使用視圖的一般準則 避免視圖定義中使用ORDER BY子句。每一次引用視圖時,該子句會強制對數據進行排序。 當用FROM 子句中的表創(chuàng)建視圖時,使用USING子句指定邏輯庫的位置,從而使得視圖可以移動,更加便攜。29第一部分(2): SQL集合查詢與其它8 集合操作9 生成表和視圖10 PROC SQL選項11 數據字典SQL過程的控制PROC SQL選項的作用主要是可
15、以從更細節(jié)的方式去控制SQL過程,有以下幾個特征:可以在不執(zhí)行代碼的情況下對程序進行語法檢查。將SQL語句擴大到完全限定值。限制處理的行數為了優(yōu)化查詢,統(tǒng)計系統(tǒng)利用率。PROC SQL語句的一般形式為:31PROC SQL options;重置選項使用RESET選項來添加或者改變PROC SQL選項,而無需重新調用程序。RESET語句的一般形式為:32RESET option(s);SQL過程的控制常用選項:INOBS=n進行查詢時,對每個源數據表進行n行限制,僅對這n行的數據進行查詢。指定查詢輸出結果的行數(顯示或者輸出到表中的行數)。OUTOBS=nNOSTIMER|STIMER控制PRO
16、CSQL語句是否在SAS日志中輸出效率統(tǒng)計數據。33選項作用SQL過程的控制34選項作用PR|NOPRNONUMBER|NUMBERNODOUBLE|DOUBLE控制是否在OUTPUT窗口中顯示SELECT語句的結果??刂剖欠裨诓樵冚敵龅牡谝涣写蛴⌒刑枴]斎雸蟊硎欠窀粜酗@示。SQL過程的控制NOFLOW|FLOW|FLOW=n|FLOW=n 控制寬字符列的外觀。FLOW選項使得超出指定字符寬度的列文字溢出排列,而不是整行文字繞排。FLOW=n中的n指定列寬的最大字符長度。FLOW=n ,指定列寬的字符長度介于n到m之間,這樣做使得輸出結果達到均衡布局。35選項作用第一部分(2): SQL集合查
17、詢與其它8 集合操作9 生成表和視圖10 PROC SQL選項11 數據字典字典表:概述字典表(dictionary table)是只讀的SAS視圖,視圖包含會話元數據,如SAS邏輯庫、數據集以及在當前SAS會話中正在使用或者可用的外部文件。字典表:是在SAS會話初始化時就創(chuàng)建;由SAS自動更新;只允許操作。可以使用PROC SQL查詢字典表。37字典表:概述在字典表中,可用的元數據包括關于下列內容的信息:SAS數據集和SAS邏輯庫中其它可用的SAS文件任何分配的外部文件SAS會話元數據,包含下列項目:系統(tǒng)選項名稱和設置宏變量名稱和值標題腳注38SAS邏輯庫的元數據信息DICTIONARY.L
18、IBNAMES關于SAS邏輯庫的一般信息DICTIONARY.MEMBERS關于SAS邏輯庫成員的一般信息DICTIONARY.TABLES關于表的詳細信息DICTIONARY.VIEWS關于所有數據視圖的詳細信息DICTIONARY.CATALOGS關于目錄條目的信息DICTIONARY.COLUMNS關于所有表中的所有列的詳細信息未完.39索引和約束的元數據信息DICTIONARY.INDEXES表定義的索引DICTIONARY.TABLE_CONSTRAS所有表的完整性約束DICTIONARY.CHECK_CONSTRAS檢查所有的約束DICTIONARY.REFERENTIAL_CONSTRAS所有表的參照約束DICTIONARY.CONSTRA_COLUMN_USAGE完整性約束的列DICTIONARY.CONSTRA_TABLE_USAGE使用完整性約束的表未完.40SAS會話的元數據信息DICTIONARY.MACROS宏變量名稱和值DICTIONARY.OPTIONSSAS系統(tǒng)選項的當前設置DICTIONARY.TITLES當前分配給標題和腳注的文字DICTIONARY.EXTFILES
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026年智能車載藍牙播放器項目營銷方案
- 環(huán)境現場執(zhí)法培訓課件
- 上半年企業(yè)安全工作總結
- 醫(yī)院危重孕產婦救治中心2026年度工作總結
- 年終工作總結匯報
- 土方開挖清運施工方案滿足揚塵治理要求
- 2025年普通腳手架工考試題及答案
- 2025年重癥醫(yī)學科n2護士分層綜合考核試卷及答案
- 求職酒吧營銷員面試技巧
- 建設工程施工合同糾紛要素式起訴狀模板無刪減完整版
- 人工智能推動金融數據治理轉型升級研究報告2026
- 2026長治日報社工作人員招聘勞務派遣人員5人備考題庫含答案
- 期末教師大會上校長精彩講話:師者當備三盆水(洗頭洗手洗腳)
- 2026年濰坊職業(yè)學院單招綜合素質筆試備考試題附答案詳解
- 工兵基礎知識課件
- 2026年貴州省交通綜合運輸事務中心和貴州省鐵路民航事務中心公開選調備考題庫及答案詳解參考
- 2025四川雅安市名山區(qū)茗投產業(yè)集團有限公司招聘合同制員工10人參考題庫附答案
- 人工智能應用與實踐 課件 -第5章-智能體開發(fā)與應用
- 2025浙江紹興越城黃酒小鎮(zhèn)旅游開發(fā)有限公司編外人員第二次招聘總筆試歷年典型考點題庫附帶答案詳解2套試卷
- 聘用2025年3D建模合同協議
- 2025-2026學年西南大學版小學數學六年級(上冊)期末測試卷附答案(3套)
評論
0/150
提交評論