SQL在SAS中的具体用途是什么?

SQL在SAS中的具体用途是什么?,sas,Sas,我刚开始学习SAS,有点困惑。此链接显示对数据集的查询。我认为这就像连接到外部数据库并对数据库执行请求查询一样。 那么,数据集就是数据库,SQL语法只是处理数据集中数据的另一种方式吗? 你也可以推荐一个更好的教程。免费的开源教程/书籍/资源会更好 嗯,我还在学习中,我会感谢你的任何意见/回答/建议 我几乎在我的计算机上使用SAS大学版。不要将SQL查询语言与mySQL、postgresql、sqlite或任何其他数据库技术混淆 procsql是数据步骤的替代方法 大多数情况下,您可以对这两种语言

我刚开始学习SAS,有点困惑。此链接显示对数据集的查询。我认为这就像连接到外部数据库并对数据库执行请求查询一样。 那么,数据集就是数据库,SQL语法只是处理数据集中数据的另一种方式吗? 你也可以推荐一个更好的教程。免费的开源教程/书籍/资源会更好

嗯,我还在学习中,我会感谢你的任何意见/回答/建议


我几乎在我的计算机上使用SAS大学版。

不要将SQL查询语言与mySQL、postgresql、sqlite或任何其他数据库技术混淆

procsql是数据步骤的替代方法

大多数情况下,您可以对这两种语言都执行相同的操作,但在某些情况下,其中一种可能会执行得更好,或者允许使用比另一种更简单/更短的语法

您使用的数据集与用于查询它的语言无关

查看LIBNAME语句以连接到外部数据库

那么,数据集就是数据库,SQL语法只是处理数据集中数据的另一种方式吗

数据集是表而不是数据库,是的,SQL是另一种方式

您可以将本机SAS库引擎V9视为数据库。例如:

libname mydata          'c:\projectx\sasdata';  is the same as
libname mydata V9       'c:\projectx\sasdata';
libname mydata <engine> 'c:\projectx\sasdata';
libname mydata <engine> <options for connection parameters>;
V9是libname语句指定引擎时使用的默认引擎。有不同的引擎可以连接到几乎任何远程非SAS数据库、数据文件或数据提供程序,让SAS编码器在SAS中编码,而不必学习远程环境的语言或方言

SAS结构概念到数据库概念的粗略映射:

V9引擎~数据库 本地文件夹~架构、实例或目录 数据集~表 变量~列 观察~行 通过搜索SAS引擎的帮助系统以及引擎如何使用SAS文件,您可以了解有关引擎的更多信息


procsql允许您使用SQL编写代码。程序员可以为自己和手头的问题选择最好的语言;无论是SQL、数据步骤还是过程步骤。

正如前面有人所说,不要将SQL(查询语言)和DataSet(SAS中表的名称)混为一谈。 下面是使用数据集语法和PROC SQL语法得到相同结果的示例:

PROC SQL;
   CREATE TABLE myNewTable AS
       SELECT * FROM myTable
       WHERE id = 123;
QUIT;
使用数据集:

DATA myNewTable;
    SET myTable;
    WHERE id = 123;
RUN;
使用PROC SQL语法:

PROC SQL;
   CREATE TABLE myNewTable AS
       SELECT * FROM myTable
       WHERE id = 123;
QUIT;

希望有意义。

Coursera有一个免费的SAS电子课程,SAS在其网站上有两个。Lexjansen.com有你能想到的任何主题的教程。