《SAS宏与SQL简介》PPT课件.ppt

上传人:xin****828 文档编号:6291783 上传时间:2020-02-21 格式:PPT 页数:32 大小:1.08MB
返回 下载 相关 举报
《SAS宏与SQL简介》PPT课件.ppt_第1页
第1页 / 共32页
《SAS宏与SQL简介》PPT课件.ppt_第2页
第2页 / 共32页
《SAS宏与SQL简介》PPT课件.ppt_第3页
第3页 / 共32页
点击查看更多>>
资源描述
SQL查询创建数据集 PROCSQL CREATETABLE数据集名AS SELECT语句 SELECT语句 SELECTFROM WHERE GROUPBY ORDERBY SQL查询创建数据集 PROCSQL CREATETABLE数据集名AS SELECT语句 SELECT语句 SELECTFROM WHERE GROUPBY ORDERBY SELECT语句 SELECTDISTINCT AS 指定参加查询的字段或表达式说明SELECT表达式 列名或包括列名的表达式 表示全部字段可以用函数 如AVG COUNT MIN MAX SUM列标题 显示的列标题 可以不同于字段名别名 列所在的表名 一般多表操作时使用 DISTINCT 只显示查询结果中不重复的数据 SELECT语句 FROMFROM AS 指定参加查询的表表名 要查询的数据表 数据集 名 可以包括路径本地别名 给表指定一个别名 该别名只在该命令中有效 最简单的查询 SELECTFROM从 student00 表中查询所有的所有信息Libnamecc e sasdata exp1 Procsql SELECTa FROMcc student00asa quit 从 student00 表中查询所有学生的学号 姓名和性别Procsql SELECTnumber name genderFROMc student00Quit 最简单的查询 从 grade00 表中查出成绩的最高值 并将结果的标题设为 scoremax Procsql SELECTMAX score ASscoremaxFROMcc grade00 Quit 条件子句 WHEREAND 过滤条件 用于过滤查询的数据 格式 别名 字段表达式 值连接条件 用于建立两个表间的关系 别名1 字段表达式1 别名2 字段表达式2 条件子句 rxcj 500ANDrxcj 600 rxcjBETWEEN500AND600Xm 张三 ORxm 李四 ORxm 王五 xmIN 张三 李四 王五 XhLIKE 200 包含界于两个数据之间的所有数据 包含列出的所有数据 条件子句 查出 student00 表中毕业学校为 北大附中 的学生学号 姓名Procsql SELECTnumber nameFROMcc student00WHEREschool 北大附中 Quit 分组子句 GROUPBY HAVING 用于统计时指定分组统计条件分组表达式设置分组的字段 使用字段名或别名 不能使用表达式HAVING 将统计结果作为查询过滤条件和GROUPBY一起使用的统计函数SUM AVG COUNT COUNT MAX MIN 分组子句 分类统计grade00中各门课程的平均分数Procsql SELECTcourseid AVG score ASscoreavgFROMcc grade00GROUPBYcourseid Quit 如果没有GROUPBY子句是怎样的结果 分组子句 按照grade中的 courseid 分组 统计平均分75以上的课程编号Procsql SELECTcourseid avg score asaverageFROMcc grade00GROUPBYcourseidHAVINGaverage 75 Quit 排序子句 ORDERBY ASC DESC 设置排序字段或表达式表达式 指定排序的字段或表达式ASC 按表达式升序排列DESC 按表达式降序排列例 查询grade00中信息并按成绩的降序排列Procsql SELECT FROMcc grade00orderbyscoredesc Quit 多表查询 查询的数据来自多个表必须指定表和表之间的联接条件在WHERE子句中建立联接条件在表子句中用JOIN子句建立联接条件 多表查询 T1 T2 SELECT FROMT1 T2 无联接条件的多表查询 多表查询 用WHERE子句设置联接条件在FROM子句中列出要查询的多个表在WHERE子句中加入联接条件 结果集中只包含匹配的数据 即使联接条件为逻辑 真 的数据 多表查询 T1 T2 SELECT FROMT1 T2WHERET1 C1 T2 C1 有联接条件的多表查询 多表查询 查询选修了课程的学生姓名 所选课程名及成绩 并将查询结果写入临时数据集studentProcsql CreatetablestudentasSELECTname coursename scoreFROMcc grade00asb cc student00asa cc courseascWHEREb number a numberANDb courseid c courseid Quit 多表查询 从student00中统计出平均成绩大于85分的学生procsql createtablestud00asSELECTa number a name AVG b score asavgscoreFROMcc student00asa cc grade00asbWHEREa number b numbergroupBYa numberHAVINGAVG score 85 quit procprint run SAS宏功能 将一个变量 一段程序或者一个文本命名 供以后调用 以减少在完成一些共同任务时必须输入的文本量 当用户在某个SAS程序中使用宏功能时 这个宏功能产生所需要的SAS语句和命名 SAS系统的其余部份接受这些语句和命令 SAS宏变量 可以在SAS程序的任何地方定义和使用宏变量数据步变量是和数据集相联系的 而宏变量是独立于数据集的数据集变量的值取决于正在处理的观测 而一个宏变量的值总是保持不变 直到被明确改变 SAS系统包含两种类型的宏变量 自动宏变量 由SAS系统提供 用户定义的宏变量 由用户在程序中定义 自动宏变量 put automatic 查看所有自动宏变量SYSDATESAS进程开始的日期 SYSDATE9以Date9 格式显示SAS进程开始的日期 SYSTIMESAS进程开始的时间 SYSSCP使用的操作系统 SYSDAYSAS进程开始是为星期几 SYSVERSAS的版本 SYSLAST最新创建的SAS数据集名 宏变量的定义和引用 LET宏变量名 值 宏变量的命名遵从一般的SAS命名规则宏变量的值不需要加引号宏变量的值可以是固定的字符串 其它宏变量的引用 宏函数和宏调用宏变量的引用 宏变量名 宏变量的引用举例 letx cc grade00 Datatemp Set 宏 宏的定义 macro宏名称 参数 宏文本 mend宏的调用 宏名称 宏 例 macroprintdata x procprintdata 宏 宏的分支结构 if条件 then do 语句组 end else do 语句组 end 宏 宏的分支结构 if条件 then do 语句组 end else do 语句组 end 宏 宏的循环结构 do变量 初值 to终值by增量 文本或宏程序语句 end macrocreate doi 0 to3 procsql createtablestud0 作业 查询00级同学中 课程考试不及格同学的学号 姓名 性别 课程名 成绩信息 写入score00数据集 查询出学号第5 6位为 23 的同学信息 写入数据集stud00
展开阅读全文
相关资源
相关搜索

当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!