.

스파르타코딩클럽 엑셀보다쉬운 SQL (4주) 33기

3주차 - 수강일자 211002

 

join

두가지 테이블의 key 칼럼을 기준으로 테이블을 연결해서 하나의 테이블로 표기하는 것

- 두 테이블을 실제로 합치는 게 아니라 그렇게 showing 하는 방식

- 중등수학의 '교집합' 개념과 연관

- SQL의 join 개념은 엑셀에 vlookup과 유사

- 대표적으로 많이 사용하는 방식은 left join, inner join 두 가지

 

left join

select * from A a

left join B b on a.coulmn = b.coulmn

: A에 B를 column을 기준으로 left join 한다.

 

- left join은 A에 맞는 B만 가져오기 때문에 B에 null 값이 나올 수 있다.

- 순서가 정해져 있기 때문에 "~에 ~를 붙인다"라는 구문의 순서에 주의해야 한다.

 

inner join

select * from A a

inner join B b on a.coulmn = b.coulmn

: A에 B를 column을 기준으로 inner join 한다.

 

- inner join은 A, B의 교집합만 가져오기 때문에 null 값이 나타나지 않는다.

- 순서가 정해져 있지 않기 때문에 "~에 ~를 붙인다"라는 구문의 순서와 무관하다.

 

SQL 쿼리의 실행 순서

from → join → select

- from 데이터를 가져오고, join 데이터를 연결하고, select 연결된 데이터를 출력한다.

 

from → join → where → group by → select

- from 데이터를 가져오고, join 데이터를 연결하고, where 데이터를 필터링하고, group by 특정 column을 기준으로 그루핑 하고, select 연결된 데이터를 출력한다.

 

left join으로 null 값이 생겼을 때

where coulmn is NULL

where coulmn is not NULL

위 두 가지 방법으로 NULL을 선택하거나, 필터링할 수 있다.

 

NULL과 전체를 세는 방법

count는 NULL을 세지 않는다. 즉, 값이 있는 열만 센다.

따라서, NULL값이 들어가 있는 column을 기준으로 세게 되면 not NULL 인 raw의 개수만 센다.

 

전체를 세는 방법 : 모든 행에 NULL값이 없는 column을 따로 세준다.

ex. count(key column) : key column은 null 값이 없으므로 key column을 세주면 전체 행을 세준 것과 같은 결과를 낳는다.

 

union

두 가지 데이터를 key column을 기준으로 연결하는 게 아니라, 병렬적으로 나열해 이어진 것처럼 표기하는 것

- 작성방법

	(
	data 1...
	)
union all
	(
	data 2...
	)

- 주의할 점

union을 사용하면 order by 가 적용되지 않는다. 이는 subquery를 통해 대체할 수 있다.

 


강의 기록

 

2주차 강의 기록 - [스파르타코딩클럽] 엑셀보다 쉬운 SQL

스파르타코딩클럽 엑셀보다쉬운 SQL (4주) 33기 2주차 - 수강일자 210921 통계 최대 max () 최소 min () 평균 avg () 갯수세기 count () 묶기 기준 만들기 칼럼(필드) 내 항목으로 그루핑하기 group by 칼럼명 gr.

slowslow.tistory.com

 

1주차 강의 기록 - [스파르타코딩클럽] 엑셀보다 쉬운 SQL

스파르타코딩클럽 엑셀보다쉬운 SQL (4주) 33기 1주차 - 수강일자 210920 기본 쿼리문 : 데이터베이스에 명령을 내리는것 CRUD 네가지 메인 액션이있지만 DB관련 직종이 아닌이상 R(read)만 제대로 하면

slowslow.tistory.com

 

+ Recent posts