반응형

쿼리공부 2

sql 서브쿼리 활용하기(쿼리 중첩해서 사용하는 방법)

서브쿼리(sub query)는 말 그대로 쿼리 안에 쿼리가 들어가있는 형태를 말한다. 서브쿼리는 SELECT, FROM, WHERE, HAVING 등 쿼리문 어디에도 들어갈 수 있으며 서브쿼리를 잘 활용하면 아주 꽤 많은 문제를 쉽게 해결할 수 있다. 서브쿼리와 메인쿼리(main query)의 관계에 따라서 Non-correlated 서브쿼리와 correlated 서브쿼리로 나눠서 생각할 수도 있는데 이는 서브쿼리를 더 잘 활용하기 위한 개념상의 구분 정도로 생각하면 된다. SELECT 절 서브쿼리 사용 다음과 같은 2개의 예제 테이블이 있다. 하나는 vendor에 대한 정보가 담긴 테이블이고 다른 하나의 테이블은 invoice에 대한 정보가 담긴 테이블이다. 이 두 테이블은 vendor_id로 연결되어..

sql 셀프조인(self join) 쿼리 쓰는 이유와 간단한 예제

sql 쿼리를 짜다보면 다른 테이블을 병합해서 데이터간의 관계를 봐야하는 경우도 있지만 한 테이블 내에서 데이터간의 관계를 살펴봐야 하는 경우도 발생하게 된다. 즉 한 테이블에 존재하는 컬럼(column) 사이에 의미있는 관계가 존재할 때 셀프조인을 이용해서 효과적으로 보여줄 수 있게 된다. 셀프조인 쿼리 작성방법 셀프조인에도 inner join, outer join, cross join 등 모든 조인쿼리(Join Query)가 적용 가능하다. 일반적인 조인 문과 다른점은 join하는 대상이 자기 자신이라는 점이다. 한가지 주의해야 할 점은 같은 테이블 이름이 2번 나오기 때문에 반드시 alias를 지정해줘야 한다는 점이다. 기본적인 셀프조인 쿼리 형태는 아래 예시와 같이 작성할 수 있다. 결과로는 중복..

반응형