Loading
2020. 6. 25. 11:03 - KORZ

업무에 바로 쓰는 SQL 활용 실습 - 4일차


<조인>

ANCI JOIN

NATURAL JOIN - 공통으로 같은 이름을 가지고 있는 속성을 자동으로 EQUIJOIN 해준다.

ex) SELECT * FROM EMP NATURAL JOIN DEPT - EMP, DEPT 테이블에 공통으로 가지고 있는 항목들을 전부 EQUIJOIN

(공통이름을 가지고 있는 칼럼에 ALIAS를 걸면 오류가 난다, 공통이 아닌 속성은 ALIAS 붙여도 괜찮다)

 

ON JOIN - 가장 많이 쓰이며 다양한 JOIN을 제약 없이 쓸 수 있다.

ON JOIN에서 OUTER JOIN을 쓰고 싶을 때 기존에는 기준 테이블이 아닌 테이블 쪽에 '(+)'를 적어줬는데, ON JOIN을 활용할 때에는 기준 테이블이 있는 쪽을 향해 LEFT OR RIGHT OUTER JOIN을 한다.

ex) SELECT D.DNAME, D.LOC_CODE, L.LOC_CODE, L.CITY

     FROM DEPT D LEFT OUTER JOIN LOCATIONS L ON (D.LOC_CODE = L.LOC_CODE)

(기준이 되는 테이블 DEPT이 왼쪽에 있으니깐 LEFT를 쓴다)

 

<집합(SET) 연산자>

INTERSECT - 교집합

MINUS - 차집합

UNION -

UNION ALL - 테이블에 있는 데이터들을 따로따로 그대로 더해주는것

 

<서브쿼리>

조인과 연관성을 가지고 있어서 SEMI JOIN이라고 할 정도이며, 서브쿼리 사용시 원하는 데이터를 쉽게 얻을 수 있다.
일반적으로 서브쿼리가 먼저 실행되고, 그 결과를 사용해서 메인쿼리에 대한 질의 조건을 완성한다.

 

FROM절 서브쿼리는 우리가 흔히 알고있는 VIEW를 생성하는것과 같다.

▲위의 쿼리는 잘못된 쿼리이다.
▲위처럼 FROM절 서브쿼리를 이용해서 결과를 추출

naver.me/Fz9L9knZ

 

네이버 클라우드

소중한 폰 사진을 안전하게 보관하고, 함께보기로 가족, 친구들과 손쉽게 공유해 보세요!

cloud.naver.com

1234