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연습 200제 > 10. 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 |