본문 바로가기

빅데이터과정/SQL

#7_140623_PAIRWISE

728x90

# PAIRWISE




문제306. 직업이 SALESMAN인 사원들과 월급이 같고 커미션이 같은 사원들의 이름과 월급과 커미션을 출력하시오

SELECT *
FROM EMP
WHERE sal IN (SELECT sal FROM EMP WHERE job='SLAESMAN') AND
comm IN (SELECT comm FROM EMP WHERE job='SALESMAN');
non pairwise 방식
multiple subquery

SELECT ename, sal, job
FROM EMP
WHERE (sal, comm) IN (SELECT sal, comm from EMP WHERE job='SALESMAN');
pairwise 방식
multiple subquery


문제307. KING 월급을 1500으로 커미션을 300으로 변경하시오

UPDATE EMP
SET sal=1500, comm=300
WHERE ename='KING';





SELECT ename, sal, comm, job
FROM EMP
WHERE sal IN (SELECT sal FROM EMP WHERE job='SALESMAN') and
comm IN (SELECT comm FROM EMP WHERE job='SALESMAN');



SELECT ename, sal, comm, job
FROM EMP
WHERE (sal, comm) IN (SELECT sal, comm from EMP WHERE job='SALESMAN');



MS SQL은 non pairwise 방식만 지원하지만
SQL은 양쪽다 지원함


pairwise 방식은 정확히 sal과 comm 두 개다 맞는 데이터를 출력하고 non pairwise 방식은 둘 중에 하나만 맞아도 데이터를 출력한다.


'빅데이터과정 > SQL ' 카테고리의 다른 글

#7_140623_마지막 문제  (0) 2014.07.14
#7_140623_EXISTS  (0) 2014.07.14
#7_140623_ALTER TABLE  (0) 2014.07.14
#7_140623_DATA DICTIONARY  (0) 2014.07.14
#7_140623_DROP  (0) 2014.07.14