카테고리 없음

SQL)Subquery, Join

mejii 2024. 1. 29. 23:49

*Subquery

 

-Subquery가 필요한 경우:

1.여러 번의 연산을 수행해야 할 때

2.조건문에 연산 결과를 사용해야 할 때

3.조건에 Query 결과를 사용하고 싶을 때

->즉 한 번에 긴~ 쿼리문을 사용하지 않고

간단한 쿼리문을 순번을 주어 차례로 이용할 수 있게 해준다!

 

- Subquery 문의 기본 구조

 

select column1, special_column
from
    ( /* subquery */
    select column1, column2 special_column
    from table1
    ) a

 

or

 

select column1, column2
from table1
where column1 = (select col1 from table2)


*Join

- 두 테이블 사이의 공통된 요소를 매개로 두 테이블을 합치는 것.

 

-종류:

1.Left join:

공통된 것 뿐만 아니라 A 전체를 가져온다.

2. Inner join:

공통된 것만 가져온다.

 

벤다이어그램으로 나타내면 아래와 같다.

출처:스파르타코딩클럽

 

-Join의 기본구조:

1. LEFT JOIN
select 조회 할 컬럼
from 테이블1 a left join 테이블2 b on a.공통컬럼명=b.공통컬럼명

 

이때 테이블1 의 별명을 a로, 테이블2의 별명을 b로 붙인 것.

별명은 자유롭게 가능!

2. INNER JOIN
select 조회 할 컬럼
from 테이블1 a inner join 테이블2 b on a.공통컬럼명=b.공통컬럼명


*Distinct ->중복제거의 기능!

select distinct NAME

from ANIMAL_IN

 

->NAME에서 중복되는 NAME을 제외하고 select한다.