sql 절 우선순위

2024. 4. 13. 13:34DBMS/SQLQuery

반응형

sql  문에서  연산과   clause의 우선순위를 제대로 알아야 속도향상을 기대할 수 있다.


작성 우선순위
select from join where group by having order by limit

실행 우선순위
from join where group by having select order by limit




ex
생산실적과 출하실적 두 테이블을  join 하여 도착지별 생닭중량 합이 5kg 을 초과하는 곳 중에서 생닭중량 합을 기준으로 내림차순했을 때 TOP 3 만 출력되도록 하는 쿼리


select 
b.destination, sum(a.raw_weight) "prod_sum"
from
prod a
inner join ship b
on a.chick_no = b.chick_no
where a.disease_yn = 'N' and a.size_stand >= 11
group by b.destination
having(sum(a.raw_weight)/1000)>=5
order by sum(a.raw_weight) desc
limit 3;



실제 순서는 from 절에서 두 테이블을 불러오고 join 절에서 두 테이블을 연결 후 where 조건절에서 데이터를 필터링 한다. 그리고 select 절에서  열을 조회화고 sort 후 limit로 행을 3개까지 제한한다.

반응형

'DBMS > SQLQuery' 카테고리의 다른 글

나눗셈 몫  (0) 2024.05.08
DECODE 함수에서 NULL  (0) 2024.04.19
NTILE  (1) 2024.03.08
CUME_DIST  (0) 2024.03.08
RATIO_TO_REPORT  (0) 2024.03.08