본문 바로가기

공부 자료/SQL

[29일차] Join 용어에는 어떤 것이 있을까?

SQL 작성순서 및 실행순서

1 SELECT 5

2 FROM 1

3 WHERE 2

4 GROUP BY 3

5 HAVING 4

6 ORDER BY 6

 

- FROM 절에서 작성하는 서브쿼리 외에 다른 절에서 서브쿼리를 작성하는 것은 피하는 것이 좋다.

- 속도와 성능이 제대로 나오지 않을 때 좌변가공하지 않은 SQL로 변경하는 SQL 튜닝 작업을 실시한다.

- WHERE 절의 좌별을 가공하기보다는 컬럼형으로 바꾸어주고, 서브쿼리를 활용하는 것이 오라클이 명령을 수행하기에 효율적이며 실행 순서를 생각하며 SQL을 작성하는 것이 중요!

- IN : 테이블의 모든 컬럼을 직접 비교하기 때문에 대량의 데이터를 조회하는 시점부터 문제가 생길 수 있음

- EXISTS : TRUE or FALSE를 조회하기 때문에 대량의 데이터 조회시 IN보다 훨씬 빠르지만 IN보다 사용하기 어려움

- INNER JOIN : 속도나 성능면에서 가장 우수하나 직관적이지 못하고 가독성이 떨어짐 / 조건이 동일한 값이 존재하는 테이블로 설정했을 경우 나오면 안되는 행들이 나오는 경우도 존재.

 

select a.*
from employees a inner join(
	select *
    from employees) b
on a.employee_id = b.employee_id;