文档详情

21SQL从多个表中检索数据课件.ppt

发布:2017-08-10约1.74千字共27页下载文档
文本预览下载声明
第21章 SQL从多个表中检索数据 ;本章内容: 使用连接从多个表中选取数据; 使用子查询通过表与表之间的联系选取数据; 使用SET算符合并查询结果。 如果没有另外说明,本章的PROC SQL语对表和视图都适用。;使用连接语句JOIN从多个表中检索数据 ; level china level usa -------------------------------------------- - 0 c01 1 u00 0 c01 2 u01 0 c01 2 u02 0 c01 3 u03 0 c01 4 u04 1 c02 1 u00 1 c02 2 u01 1 c02 2 u02 1 c02 3 u03 1 c02 4 u04 2 c03 1 u00 2 c03 2 u01 2 c03 2 u02 2 c03 3 u03 2 c03 4 u04 3 c04 1 u00 3 c04 2 u01 3 c04 2 u02 3 c04 3 u03 3 c04 4 u04;JOIN方式分类 ;内部连接 ;例21.2 只对相同水平的运动员进行连接。 proc sql; select * from resdat.china, resdat.usa where china.level=usa.level; quit;;使用表的别名 ;使用关键词INNER JOIN的内部连接 ;从多于两个表的数据集中查询数据 ;不同形式的外部连接 ;左外部连接 ;右外部连接 ;完全外部连接 ;MERGE语句和JOIN连接比较 ; Table MERGE1 code manager Assitant 145 Max Tracy 150 Jack Yao 155 Paul Chen;有重复值情况 ;若用SQL,则会出现下面的结果: Proc sql; Title Table Merge3; Select a.code, a.manager, b.assistant From a full join b On a.code=b.code; quit; ;使用子查询语句选择数据 ;产生单个值的子查询 ;产生多个值的子查询 ;混合子查询 ;合并两个或多个查询结果 ;由多个查询产生非重复观测 (UNION算符) ; 产生只属于第一个查询的观测(EXCEPT算符);从多个查询中产生公共部分 (INTERSECT算符);直接连接查询结果 (OUTER UNION算符)
显示全部
相似文档