1. 시작
오늘은 2일 차가 시작되는 날이다. 어제에 이어서 SQL 문법들을 배우는 시간을 가졌다. join부터 시작해서 subquery까지 알아보자.
2. JOIN
여기서 말한 'key'에 대하여 더 알아보자.
users 테이블과 orders 테이블이 join을 하고 싶으면 두 테이블 사이에 공통된 필드가 있는지 찾아본다.
공통된 필드를 찾았으면 이 필드는 두 테이블을 연결해 주는 'key'값이 되는 것이다.
join의 정의에 대하여 알아봤으니 종류에 대하여 알아보자.
join은 두가지 종류로 나뉘는데 첫 번째는 'inner join'이고 두 번째는 'left join'이다.
첫 번째 'inner join'에 대하여 알아보자.
1. Inner Join
두 테이블을 연결하는 가장 기본적인 방법이다. 그냥 join을 한다라고 하면 inner join이라고 생각하면 된다. 두 테이블을 연결할 때 공통 필드를 가지고 있어야 하는 특징이 있다. 문법 구조는 아래와 같다.
2. Left Join
A 테이블과 B 테이블을 left join한 그림이다. A의 정보와 A와 B가 겹치는 부분이 추출된 것을 볼 수 있다. 나머지 A테이블의 정보와 일치되지 않는 부분은 NULL값을 반환하게 된다. 문법 구조는 아래와 같다.
3. SUBQUERY
SubQuery란 하나의 SQL문 안에 포함되는 또 다른 SQL문을 말한다. subquery를 사용하면 더 편하게 원하는 데이터를 얻을 수 있다.
1.SELECT
위 그림을 보면 select에 들어가는 SubQuery 구조를 알 수 있다.
다른 테이블에서 어떤 값을 가져올 떄 주로 쓰인다. 위 문장에서는 likes의 평균을 가져오는데 SubQuery를 사용했다.
2. WHERE
where에 들어가는 SubQuery를 알아보자
위 그림은 where에 들어가는 SubQuery 구조이다.
위 그림을 분석해보자.
위그림과 같은 구조로 돌아가는 것을 알 수 있다.
3.FROM
from에 들어가는 SubQuery는 가장 많이 사용되는 유형이다.
위 그림을 분석해보자
먼저 서브쿼리의 select가 실행되고, 이것을 테이블처럼 여기고 밖의 select가 실행된다.
4. 정리하며
마지막 SubQuery부분을 정리하면서 아직 내 언어로 설명하기 어려운 부분들이 있어 강의노트 내용을 적는 형태로 해서 조금 아쉬운 느낌이 있다. 다시 한번 복습하며 내 것으로 만들어야 할 것 같다.
https://teamsparta.notion.site/SQL-4-e8025c63b6bd4e6bb27ae43da874350d
[스파르타코딩클럽] 엑셀보다 쉬운 SQL - 4주차
매 주차 강의자료 시작에 PDF파일을 올려두었어요!
teamsparta.notion.site
'항해 99 사전 과정' 카테고리의 다른 글
항해 온보딩 3~4일차 SQL (1) | 2023.03.24 |
---|---|
항해99 온보딩 커리큘럼 1일차 -SQL (1) | 2023.03.21 |