文档详情

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

发布:2017-03-17约1.03万字共27页下载文档
文本预览下载声明
第21章 SQL从多个表中检索数据 使用连接语句JOIN从多个表中检索数据 JOIN方式分类 通常连接Join方式分为两种类型: 内部join,只返回连接表中匹配连接条件的行。 外部join,是内部连接的补充,还包括除内部连接部分以外不符合连接条件的行。 外部连接分三种:left 左连接,right右连接 and full完全连接。 内部连接 数据格式 Proc sql; Select object-item from table-name AS alias, table-name AS alias Where sql-expression; 使用表的别名 通常的查询时会遇到两个表有相同名字的列,为了在引用时不产生混淆,需要在列名前加上表名或者表的别名。 语句格式: From table-name as table-alias,other table-names expression 使用关键词INNER JOIN的内部连接 语句格式: From table-name INNER JOIN table-name ON sql-expression 从多于两个表的数据集中查询数据 不同形式的外部连接 语句格式 From table-name LEFT JOIN | RIGHT JOIN | FULL JOIN 左外部连接 右外部连接 完全外部连接 MERGE语句和JOIN连接比较 有重复值情况 使用子查询语句选择数据 语言格式: (select column-name-x..fromtable-y..(where/having).); 产生单个值的子查询 产生多个值的子查询 混合子查询 合并两个或多个查询结果 由多个查询产生非重复观测 (UNION算符) 产生只属于第一个查询的观测(EXCEPT算符) 从多个查询中产生公共部分 (INTERSECT算符) 直接连接查询结果 (OUTER UNION算符) 清华大学经管学院 朱世武 Zhushw@ Resdat样本数据: SAS论坛: Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 本章内容: 使用连接从多个表中选取数据; 使用子查询通过表与表之间的联系选取数据; 使用SET算符合并查询结果。 如果没有另外说明,本章的PROC SQL语对表和视图都适用。 Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 最基本的连接就是两个表的简单连接。 例21.1 表china与表 usa的简单连接程序: proc sql; select * from resdat.china, resdat.usa; quit; Evaluation only. Created with Aspose.Slides for .NET 3.5 Client Profile . Copyright 2004-2011 Aspose Pty Ltd. 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
显示全部
相似文档