728x90

SQL(Structured Query Language)은 관계형 데이터베이스의 테이블(Table)을 정의하고(define), 조작하고(manipulate), 질의(query)를 하는 데 사용되는 표준화된 언어입니다.

테이블을 정의하고, 테이블에 레코드를 추가하고, 추출하고, 갱신하는 데 사용됩니다.

SAS에서는 PROC SQL을 이용하여 여러 가지 데이터를 다루는데 유용하게 사용할 수 있습니다.

SET, MERGE문을 이용하여도 거의 모든 문제를 해결할 수 있으나 가끔 DATA 스텝 기능만으로 해결하기 어려운 일이 있고, 데이터베이스와 연동하여 작업을 하는 경우에는 PROC SQL의 기능을 이용하면 훨씬 편리하게 사용할 수 있습니다.

SAS의 기능을 잘 몰라도 PROC SQL 문만을 잘 사용하면 데이터 처리를 쉽게 처리할 수 있습니다.

 

보통 데이터베이스는 대용량이고, 그리고 각 데이터베이스 내에는 수많은 테이블들이 있습니다. 그리고 이들 테이블들도 독립적으로 따로 사용되는 것이 아니고 서로 연관되어 있는 경우가 많이 있습니다.

SAS에서는 데이터터셋”, SQL에서는 테이블(Table)”이라고 부릅니다.

그리하여 SAS/SQL을 이용하여 테이블을 다룬다는 말은 “SAS 데이터셋을 다룬다는 것과 같습니다.

SAS의 일반적인 PROC 과는 달리 PROC SQL 문에서는 명령문의 순서가 영향을 미치는 경우가 있습니다.

 

PROC SQL;

SELECT 컬럼명1, 컬러명2, ...

FROM 테이블명 (또는 VIEW )

WHERE 조건식

ORDER BY 컬럼명

GROUP BY 컬럼명

 

/*--------------------------------------------*/

/* PROC SQL 을 이용하여 그룹별 평균값 구하기 */

/*--------------------------------------------*/

DATA a1;INPUT id $ name $ gender $ comp $ wei hei age ;

CARDS;

A001 김민선 F samsung 58 162 25

A002 강성옥 F samsung 60 164 25

A003 김민철 M samsung 64 166 23

A004 조홍래 M samsung 66 168 21

A005 이윤숙 F kia motors 64 170 23

A006 이은숙 F kia motors 67 172 25

B001 장철구 M kia motors 72 174 27

B002 홍경욱 M sk 76 176 23

B003 박민식 M sk 74 178 25

B004 김근민 M sk 82 180 24

;

PROC PRINT;

RUN;

PROC SQL;

SELECT id, comp, gender, wei, hei FROM a1 WHERE wei> 60

ORDER BY comp;

SELECT gender, MEAN(hei) as m_hei FROM a1 WHERE wei> 60

GROUP BY gender;

QUIT;

'SAS, R, Python 일반 > 11. SAS_SQL' 카테고리의 다른 글

9.0 SQL 다루기 -sqldf 목차(R1)  (0) 2020.07.15
11.2 SELECT 문, ORDER BY(s1)  (0) 2020.07.09
11.0 SAS/SQL 목차  (0) 2020.07.08

+ Recent posts