쿼리 해석 순서 🐸
* 쿼리문
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;