일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- openai
- 신경망
- deep learning
- DeepLearning
- 강화학습
- 머신러닝
- Tutorial
- 세상
- 한국어
- SQL
- tutorials
- 답변
- 번역
- SAS
- TensorFlow Tutorials
- cs231n
- Artificil Intelligence
- 딥러닝
- machine learning
- tensorflow
- 인공지능
- neural networks
- 사랑
- 꿈
- 질문
- Hvass-Lab
- 매크로
- Andrej Karpathy
- 행복
- Reinforcement Learning
- Today
- Total
Economics & Deeplearning
PROC SQL Tutorial 3 - where clause, having clause 본문
<두 개의 테이블의 결과로부터 테이블을 생성하는 법>
proc sql;
create table work.miles as
select salcomps.empid, lastname, newsals.salary, newsalary
from sasuser.salcomps, sasuser.newsals
where salcomps.empid=newsals.empid
order by 2;
quit;
위의 예제를 해석하면 다음과 같음
sasuser.salcomps와 sasuser.newsals 두 개의 데이터셋에서 데이터를 불러와 카르테시안 곱의 데이터셋을 만들고, 그중 salcomps데이터셋에 empid 변수와 newsals 데이터셋에 empid 변수가 같은 것만을 남긴다. 그 이후에 empid는 salcomps 데이터셋에서 불러오고, lastname은 하나의 변수에만 있기 때문에 냅두고, newsals 데이터셋에서 salary 변수를 불러오고, newsalary 도 불러온다. 마지막으로 정렬은 select 절에서 지정된 변수들 중 2번째 변수인 lastname을 기준으로 정렬한다.
create table 데이터셋명 as 문법은 실제로 테이블을 생성해준다. 출력결과는 반환하지 않는다.
from 절에서 . 앞에 sasuser는 라이브러리 네임이지만, select 절에서 salcomps.empid 에서의 salcomps 는 from 절의 데이터셋 네임임
order by 절에서 숫자로, select 절의 변수를 참조할 수도 있고, 변수 이름을 그냥 써서 할 수도 있고, 그 두 가지를 섞어서 할 수도 있음 숫자로 쓰는 이유는 변수 이름을 지정하지 않을 수도 있기 때문임
proc sql;
select substr(jobcode,1,2) , count
from sasuser.payrollmaster
group by 1;
위와 같은 경우에 씀
proc sql에서는 run 스테이트먼트를 쓰지 않음
마지막 절만 빼고, 절과 절 사이에는 세미콜론을 찍지 않음
여러 개의 테이블을 병합하는 경우에는 where 절에서 값이 맞는지를 확인해야함
proc sql을 나갈 때는 quit; 스테이트먼트를 꼭 써줘야함
select 절에서 *를 쓰면 모든 변수를 가져옴
출력하는 관찰치의 수를 제한하고 싶으면 outobs 옵션을 줌
중복되는 관찰치를 없애고 싶다면, select 절에서 distinct 옵션을 줌
select 절에서 계산한 변수를 where 절에서 쓰고 싶은 경우 calculated 옵션을 주어야함
예를 들어, proc sql;
select flightnumber, date, destination, boarded + transferred + nonrevenue as total
from sasuser.marchflights
where calculated total < 100;
quit;
위와 같이, select 절에서 계산한 변수 total을 where 절에서 쓰려면, calculated옵션을 줌
where 절에서는 다른 프로시져에서 쓰는 연산자들을 다 쓸 수 있음
select 절에서 summary variable을 만들 때 변수를 하나만 쓰면, 그 변수에 해당하는 모든 행에서 찾고, 여러개의 변수를 쓰면, 각 행에서 모든 변수에 대해 계산을 함
having 절은 where 절과 비슷하지만, having 절은 group by와 함께 써야함
각 그룹에 영향을 미치고, where은 각 개별 관찰치에 영향을 줌
'SAS > PROC SQL' 카테고리의 다른 글
PROC SQL Tutorial 6 - inner join (0) | 2016.01.26 |
---|---|
PROC SQL Tutorial 5 - join(cartesian product) (0) | 2016.01.26 |
PROC SQL Tutorial 4 - subquery (0) | 2016.01.26 |
PROC SQL Tutorial 2 (0) | 2016.01.26 |
PROC SQL Tutorial 1 (0) | 2016.01.26 |