• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

SAS SQL

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

SAS通过在SAS程序中使用SQL查询,为大多数流行的关系数据库提供广泛的支持。 支持大多数ANSI SQL语法。 过程PROC SQL用于处理SQL语句。 此过程不仅可以返回SQL查询的结果,还可以创建SAS表和变量。 所有这些情况的示例如下所述。

语法

在SAS中使用PROC SQL的基本语法是:

PROC SQL;
SELECT Columns
FROM TABLE
WHERE Columns
GROUP BY Columns
;
QUIT;

以下是使用的参数的描述:

  • SQL查询写在PROC SQL语句之后,后跟QUIT语句。

下面我们将看到这个SAS过程如何用于SQL中的CRUD(创建,读取,更新和删除)操作。

SQL创建操作

使用SQL,我们可以创建新的数据集形式原始数据。 在下面的示例中,首先声明一个名为TEMP的数据集,其中包含原始数据。 然后我们写一个SQL查询,从这个数据集的变量创建一个表。

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC SQL;
CREATE TABLE EMPLOYEES AS
SELECT * FROM TEMP;
QUIT;

PROC PRINT data = EMPLOYEES;
RUN;

当执行上面的代码中,我们得到以下结果:

SQL读操作

SQL中的读取操作涉及编写SQL SELECT查询以从表中读取数据。 In以下程序查询库SASHELP中可用的名为CARS的SAS数据集。 查询获取数据集的某些列。

PROC SQL;
SELECT make,model,type,invoice,horsepower
 FROM 
SASHELP.CARS
;
QUIT;

当执行上面的代码中,我们得到以下结果:

SQL SELECT with WHERE Clause 条件查询语句

以下程序使用where子句查询CARS数据集。 在结果中,我们只得到了作为“Audi”和类型为“Sports”的观察。

PROC SQL;
SELECT make,model,type,invoice,horsepower
 FROM 
SASHELP.CARS
Where make = 'Audi'
and Type = 'Sports'
;
QUIT;

当执行上面的代码中,我们得到以下结果:

SQL UPDATE操作

我们可以使用SQL Update语句更新SAS表。 下面我们首先创建一个名为EMPLOYEES2的新表,然后使用SQL UPDATE语句更新它。

DATA TEMP;
INPUT ID $ NAME $ SALARY DEPARTMENT $;
DATALINES;
1 Rick 623.3 IT
2 Dan 515.2 Operations
3 Michelle 611 IT
4 Ryan 729 HR
5 Gary 843.25 Finance
6 Nina 578 IT
7 Simon 632.8 Operations
8 Guru 722.5 Finance
;
RUN;

PROC SQL;
CREATE TABLE EMPLOYEES2 AS
SELECT ID as EMPID,
Name as EMPNAME ,
SALARY as SALARY,
DEPARTMENT as DEPT,
SALARY*0.23 as COMMISION
FROM TEMP;
QUIT;

PROC SQL;
UPDATE EMPLOYEES2
      SET SALARY=SALARY*1.25;
 QUIT;
     PROC PRINT data = EMPLOYEES2;
RUN;

在SQL中删除操作

SQL中的删除操作涉及使用SQL DELETE语句从表中删除某些值。 我们继续使用上面示例中的数据,并从表中删除雇员的工资大于900的行。

PROC SQL;
DELETE FROM EMPLOYEES2
      WHERE SALARY > 900;
QUIT;
      PROC PRINT data = EMPLOYEES2;
RUN;



鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
SAS ODS发布时间:2022-02-03
下一篇:
SAS格式数据集发布时间:2022-02-03
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap