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 의 변수임