《《PROCSQL简介》PPT课件.ppt》由会员分享,可在线阅读,更多相关《《PROCSQL简介》PPT课件.ppt(20页珍藏版)》请在金锄头文库上搜索。
1、第第5章章 PROC SQL简介简介学习目标v了解SQL过程在SAS系统中的作用;v掌握SQL过程语句以及格式;v熟练运用SQL过程语句进行实例操作;SQL过程概述 v本节描述实现结构查询语言(SQL)以及如何在SAS系统中工作的概述。vSQL是一个标准化的广泛使用的语言,它可以检索和更新关系表格和数据库中的数据。在SAS系统中使用SQL过程,仅需要理解表格及其操作即可。在SQL中常将它面对的数据文件称为表。 比较SQL术语和SAS术语 SQL术语SAS术语数据处理术语表SAS数据文件文件行观测记录列变量字段SQL过程有助于数据的管理v可以用SELECT语句去检索和操作存于表中、视图里和由PR
2、OC SQL接收的数据(由PROC SQL生成的SAS数据文件在本章中称为表)。可以用VALIDATE语句去检查SELECT语句句法的准确性而无须执行它。还可以用DESCRIBE语句简单地显示一个PROC SQL视图定义。v可以用CREATE语句在表的列中生成表格、视窗、索引;这些表和视窗可永久地存贮在SAS数据库内,而且使用逻辑库名调用它。可以用DROP语句删除表格、视窗和索引。SQL过程有助于数据的管理v可以用UPDATE语句增加或修改在表格的列里的数值,或者用INSERT和DELETE语句插于或删除行。可以通过用ALTER语句增加、修改、删去列来修改表格。v可以使用许多RESET语句的增
3、加、改变或删除的选项。v生成报告。v可以拼接不同类型的数据表为单一的数据表。SQL语句格式 vSQL过程包含下面几个语句,其中的PROC SQL和RESET这两个语句可以没有选项,如下:Proc sql ; Alter table statement-1; Create statement-2; Delete statement-3; Describe statement-4; Drop statement-5; Insert statement-6; Reset statement-7; Select statement-8;SQL过程特点v由于SQL过程实现结构化查询语言,它在运行时与其它
4、过程会有所不同,主要为:vSQL过程的语句被分成一些子句。例如SELECT语句包含SELECT和FROM子句,在SQL中子句内的项目用逗号分开,而不像在SAS系统中用空格分开。vSELECT语句用于查询数据,也自动输出数据,除非规定了NOPRINT选项。SQL过程特点vSELECT和CREATE VIEW语句每个都可以包含一个ORDER BY字句以便对数据进行排序,所以PROC SQL程序中不需要使用SORT过程。在SQL过程中使用的SAS数据集不需要按某个变量事先排序。v提交SQL语句时,就可以执行,不需要规定RUN语句。如果在PROC SQL语句后跟了RUN语句,那么SAS系统会忽略RUN
5、语句,而且像通常情况一样提交这些语句。v提交SQL过程步后,程序编辑窗口的状态行一直显示PROC SQL running直至提交另一个程序或QUIT语句。PROC SQL和RESET语句v下面这些选项可以在PROC SQL语句或RESET语句中出现。这些语句在PROC SQL语句中使用时,它们说明该选项的初始状态。使用RESET语句可以在PROC SQL语句之前增加、移动或改变选项。一个选项被复位之前一直保持有效。PROC SQL和RESET语句vERRORSTOP|NOERRORSTOP:如果遇到出错情况,规定SAS系统是否停止处理,SAS系统会一直检查PROC SQL的语句准确性,如果没有
6、出错则执行该SQL语句。vEXEC|NOEXEC:规定一个语句在检查其正确性后是否被执行。vFEEDBACK|NOFEEDBACK:规定在扩展视图索引或在查询语句中作变换后,是否显示这个查询。vPRINT|NOPRINT:规定SELECT语句的结果是否在SAS的OUTPUT窗口打印。PRINT选项是缺省值。vDOUBLE|NODOUBLE:规定是否隔行输出。SQL过程和SAS数据集选项vSQL过程可应用任何一个SAS数据集选项,例如把选项KEEP=和DROP=应用于表或视图中。在SQL过程中,SAS数据集选项被括在括号里并紧跟在表名或视图名的后面。v不能将SAS数据集选项与PROC SQL视图
7、名字联系到一起,因为选项仅对视图的基本表有效。例如,创建PROC SQL视图时,不能将SAS数据集选项列在视图名字后面。ALTER语句vALTER语句向已存在的表中加入列或从表中删除列。它也用于改变一个已存在的表中列的属性。当ALTER语句向表中加入一列时,它将该列在表中所有行的值初始化为缺失值。然后用UPDATE语句向新的列中加入值。v如果某列已经在表中,那么可以用MODIFY字句改变这些列的属性。v若想从一个表中删掉一列及其所有值,在DROP子句中指定列的名字。如果删掉了一列,一定要把其它语句中涉及到该列的名字也删掉。CREATE语句vCREATE语句能够根据表或其它视图,及表中列的索引创
8、建表或视图。DELETE语句vDELETE语句从表或DBMS表中删去WHERE表达式为真的所有行,这个表或DBMS表是在FROM子句中规定的表。此语句不能引用其FROM子句中的PROC SQL视图。v如果没有规定WHERE子句,DELETE语句就将表中的所有行都删掉。SELECT语句v在查询表达式中最常用的是SELECT语句,其可以展示查询结果的数据,可让数据以一定的格式显示,将报告在OUTPUT窗口输出。SELECT语句的一般形式为:v Select col1, col2, From table 附加的从句;v其中,col1,指明选择的列,若要选择所有的列可用符号*;from表是设定要查询其
9、行列的数据表。在过程SQL的SELECT语句中附加WHERE从句,可以对表中的观测进行选择。在SELECT语句中还可以使用ORDER从句将显示的数据按选定的变量的值排序。在SELECT从句中也可以用选项FORMAT=对选择的数据设定显示时用的格式。本章小节 v第一节介绍了SQL过程的特点以及SQL过程在数据管理方面的作用。使用SQL过程可以读入、展示和加工SAS数据文件;在表中增加和修改数据值;增加、修改和删除表的列;创建表;生成报告;而且可以拼接不同类型的数据表为单一的数据表。SQL是一种模块类型的语言,在这种语言中,语句由更小的分量构造块组成。通过第一节的学习了解SQL过程及其作用。本章小节v简单地介绍SQL过程的特点及其与其它过程的区别,详细阐述了SQL过程所包含的各语句及其作用,包括PROC SQL和RESET语句、SAS数据集选项、ALTER语句、CREATE语句、DELETE语句、SELECT语句。本章小节v最后,通过具体的10个实例操作讲解SQL语句的应用,帮助大家掌握SQL过程及其语句的应用。大家需要重点掌握最后两个实例,也就是数据集的匹配并接,尤其是3个及以上数据集(含有不同的匹配字段)的串接。熟悉这些实例操作将有助于我们深刻体会SQL过程,并通过上机操作逐渐掌握SQL的编程操作。