Economics & Deeplearning

PROC SQL Tutorial 4 - subquery 본문

SAS/PROC SQL

PROC SQL Tutorial 4 - subquery

이슈카 2016. 1. 26. 14:47

subqueries란 쿼리 안에 다시 쿼리가 있어서 그 결과를 having 절이나 where 절에 이용하는 것임

 

예를 들어,

proc sql;

select jobcode, avg(salary) as avgsalary

from sasuser.payrollmaster

group by jobcode

having avg(salary) >

(select avg(salary) from sasuser.payrollmaster);

 

위의 코드는 전체 평균보다 큰 jobcode 코드만 찾아내는 코드임

 

subquery 에는 특정 연산자를 이용할 수 있음, all, any, exists

 

>any

가장 작은 값보다 큰 것들

<any

가장 큰 값보다 작은 것들

=any

서브쿼리에 반환되는 모든 값들

>all

가장 큰 값보다 큰 것들

<all

가장 작은 갑보다 작은 값들

 

exists

서브쿼리에 있는 값 중 하나라도 필요할 경우

not exists

서브쿼리에 있는 값들을 다 빼고 싶어서

 

not exists 사용법

 

proc sql;

select count(*) as count

from sasuser.frequentflyers

where not exists

(select *

from sasuser.staffmaster

where name= trim(lastname)||’, ‘||firstname);

 

여기서 서브쿼리 내에 name은 외부 쿼리인 frequentflyers 의 변수임

'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 3 - where clause, having clause  (0) 2016.01.26
PROC SQL Tutorial 2  (0) 2016.01.26
PROC SQL Tutorial 1  (0) 2016.01.26
Comments