[SQL 1-1] Overview of the SQL Procedure
안녕하세요^^
이번 시간부터는 SAS에서 사용하는 SQL에 대해서 진행됩니다.
이번 시간의 목표는 다음과 같습니다.
우리는 프로그램을 확장하여 사용하기 위해 SQL 프로시저를 다룰 필요가 있습니다.
SQL 프로시저는 아래와 같이 실행할 수 있습니다.
======================================================================
▶ SQL 프로시저의 시작을 나타내는 기본 문법은 “PROC SQL;”로 시작하여 “QUIT;”로 마치는 것입니다.
RPOC SQL에서는 SQL Processing을 마지기 위해서 RUN statement가 아니라 QUIT statement를 사용합니다.
하지만 꼭 Quit Statement를 사용하지 않더라도
Data Step 혹은 Proc step과 만나게 되면 SQL Processing이 자동으로 끝나며 이후에 나오는 step이 실행됩니다.
======================================================================
RPOC SQL step에서는 여러 개의 statement를 포함할 수 있습니다.
▶ 먼저 가장 기본이 되는 Select statement를 살펴보겠습니다.
Select statement는 “select”로 시작하여 “;”로 끝납니다.
Select statement는 하나 이상의 table에 query를 부여할 수 있습니다.
======================================================================
▶ Select statement는 구절(clause)라고 하는 더 작은 building blocks를 포함할 수 있습니다.
위 프로그램을 보면, from, where, order by와 같은 clause의 예시를 확인할 수 있습니다.
Select statement는 여러 개의 clause를 포함시킬 수 있습니다만,
“SELECT” 키워드로 시작하고 ;(세미콜론)으로 끝나야 합니다.
======================================================================
▶ Select statement에 포함되는 Clause는 “필수 Clause”와 “선택 Clause”로 나뉠 수 있습니다.
필수 Clause는 Select statement가 구현되기 위해서 반드시 필요한 Clause입니다.
반면, 선택 Clause는 꼭 Select statement에 포함되지 않아도 Select statement를 실행하는 데에는 아무런 상관이 없습니다.
(다만, 데이터를 원하는 데로 선택, 추출, 생성하기 위해서는 선택 Clause를 적절히 사용하는 기술이 필요합니다.)
필수 Clause는 From Clause 단 하나입니다.
즉, Select statement는 From Clause가 있다면 여타 다른 clause가 추가되지 않아도 잘 실행됩니다.
Select clause가 변수와 변수의 순서를 설정하는 역할을 수행한다면,
From clause는 사용할 변수를 포함하는 data source를 지정해주는 역할을 합니다.
선택 Clause에는 ‘Where’, ’Group by’, ’Having’, ’Order by’ Clause들이 있습니다.
O Where Clause는 어떠한(지정한) 조건에 충족되는 data 관측치만을 불러오도록 하는 역할을 합니다.
O Group by Clause는 자료 처리과정에서 자료를 그룹화합니다.
예를 들면 A라는 회사의 일일(Daily) 영업 실적 자료에 대해 부서별 월별 실적을 보고 싶다면,
Group by Clause를 사용할 수 있습니다.(ex. Group by dept, month)
O Having Clauses는 어떠한(지정한) 조건에 충족되는 그룹들을 불러오도록 하는 역할을 합니다.
O Order by Clause는 자료의 관측치에 대해 원하는 변수를 기준으로 정렬을 할 수 있습니다.
위 Clause들에 대해서는 앞으로 차근차근 배워보도록 하겠습니다.
======================================================================
마지막으로 PROC SQL에서 한 가지 주의할 점이 있습니다.
SELECT 내 Clause들의 순서는
반드시 위 순서(From -> Where -> Group by -> Having -> Order by)를 따라야 한다는 것입니다.
이상 SQL Procedure의 전반적인 형태를 살펴보았습니다.
감사합니다 ^^
April 27 – 30 | Gaylord Texan | Grapevine, Texas
Walk in ready to learn. Walk out ready to deliver. This is the data and AI conference you can't afford to miss.
Register now and lock in 2025 pricing—just $495!