본문 바로가기

카테고리 없음

[데이터베이스]쿼리문 이해 - join/outer

~ 목차 ~

쿼리 해석 순서 🐸

 

 

* 쿼리문

SELECT
FROM
WHERE
GROUP BY
HAVING

ORDER BY

LIMIT                  - 결과 중 몇개의 행을 보여줄 지

 

 

SQL 쿼리를 해석하는 순서

1. FROM ( + JOIN )

2. WHERE

3. GROUP BY

4. HAVING

5. SELECT

6. ORDER BY

7. LIMIT

 


 

JOIN 🐸

 

 

* JOIN

- inner join = inner left join             ;두 개의 테이블 간에 일치하는 행만 반환
- left  join = left outer join               ;왼쪽 테이블의 모든 행을 반환, 일치하는 행이 있는 경우 행을 함께 반환
                                                       만약 오른쪽 테이블에 일치하는 행이 없으면 NULL 값으로 채움
- right join = right outer join            ;오른쪽 테이블의 모든 행을 반환, 일치하는 행이 있는 경우 행을 함께 반환
                                                        만약 왼쪽 테이블에 일치하는 행이 없으면 NULL 값으로 채움
- full join = left join + right join        ; 왼쪽 테이블과 오른쪽 테이블의 모든 행을 반환
                                                         서로 일치하는 행이 있는 경우에는 해당 행을 함께 반환
                                                         일치하지 않는 경우에는 NULL 값으로 채움

 

※ Maria DB에서는 FULL OUTER JOIN은 지원 안함

UNION을 사용해야함

 

ex)

SELECT *

FROM emergency.monitor a

left join emergency.lora_endpoint b

on a.src = b.src

UNION

SELECT *

FROM emergency.monitor a

right join emergency.lora_endpoint b

on a.src = b.src;

728x90