SAS-SQL

17 Mar 2025 | 4 分钟阅读

SAS 通过在 SAS 程序中使用 SQL 查询,为大多数流行的关系数据库提供全面的支持。 它支持大多数 ANSI SQL 语法。 我们可以使用过程 PROC SQL 处理 SQL 查询。 此过程不仅返回 SQL 查询的结果,还可以创建 SAS 表和变量。

以下说明了所有 SQL 相关的情况。

语法

其中,

  • PROC SQL: 这是编写 SQL 查询的过程。
  • QUIT: 这是用于关闭 SQL 查询的语句。

以下是 SQL 操作,我们将学习如何使用 PROC SQL 过程在 SQL 中进行 CRUD(创建、读取、更新和删除)操作。

创建操作

我们可以使用 SQL 从原始数据创建新的数据集。 让我们考虑 SAS 数据集 DETAILS,其中包含组织员工的个人信息。 现在,我们需要编写 SQL 查询以从变量的原始数据创建表 EMPLOYEE

在 SAS studio 中执行上述代码

SAS-SQL

输出

SAS-SQL

正如我们在输出中看到的,该表已为所有变量创建。

SQL 读取操作

SQL 的读取操作 中,我们可以从表中读取数据。 要读取数据,我们需要编写 SQL SELECT 查询。 在示例中,我们将从 SASHELP 库中已有的表 CARS 中读取数据。 SELECT 查询 提取数据集列(或变量)的数据。

示例

在 SAS studio 中执行上述代码

SAS-SQL

输出

SAS-SQL

正如您在输出中看到的,已显示表 CARS 的所有数据。

带有 WHERE 子句的 SQL SELECT 查询

SAS 在数据的子集中使用“where”子句,即仅获取我们需要的值并放弃其余值。

下面的程序有一个带有子句 where 的 CARS 数据集。 在结果中,我们将只得到 make 列的值为“Audi”和 type 列的值为“Sports”的观测值。

在 SAS studio 中执行上述代码

SAS-SQL

输出

SAS-SQL

正如您在输出中看到的,Make=Audi 和 Type= Sports 列的所有观测值都已显示,其余的都已省略。

SQL 更新操作

SQL 的更新操作 中,我们可以更新表的数据。 要更新数据,我们需要编写 SQL UPDATE 查询。 在下面的示例中,我们将更新数据集 DETAILS 的数据。

在 SAS Studio 中执行上述代码

SAS-SQL

输出

SAS-SQL

正如您在输出中看到的,所有变量都已更新,例如 empid 作为 idname 作为 empnamedept 作为 department

SQL 删除操作

SQL 的删除操作 中,我们可以从表中删除特定数据。 要从表中删除数据,我们需要编写 SQL DELETE 查询。 在下面的示例中,我们将从表中删除数据。

在这里,我们将从上面的示例中获取数据,并将删除员工工资超过 30,000 的表中的行。

在 SAS Studio 中执行上述代码

SAS-SQL

输出

SAS-SQL

正如您在输出中看到的,所有工资超过 30,000 的员工都已被删除。


下一个主题SAS 输出交付系统