해결된 질문
작성
·
240
0
with
temp_01 as
(
select b.category_id, b.category_name as category_name
, percentile_disc(0.25) within group (order by unit_price) as qt_1
, percentile_disc(0.5) within group (order by unit_price) as qt_2
, percentile_disc(0.75) within group (order by unit_price) as qt_3
, percentile_disc(1.0) within group (order by unit_price) as qt_4
from nw.products a
join nw.categories b on a.category_id = b.category_id
group by b.category_id
)
select * from temp_01;
2번
with
temp_01 as
(
select a.category_id, max(b.category_name) as category_name
, percentile_disc(0.25) within group (order by unit_price) as qt_1
, percentile_disc(0.5) within group (order by unit_price) as qt_2
, percentile_disc(0.75) within group (order by unit_price) as qt_3
, percentile_disc(1.0) within group (order by unit_price) as qt_4
from nw.products a
join nw.categories b on a.category_id = b.category_id
group by a.category_id
)
select * from temp_01;
2번은 강사님이 작성하신 코드입니다.
1번처럼 작성하지 않으시고 2번으로 작성하신 이유가 따로 있으신가요 ?
인덱스가 중복되는게 있으면 효율이 안좋아서
fk인 a.category를 사용하는게 더 좋아서 선택하신건지 아니면 1번이나 2번이나 둘다 큰 의미가 없는건지 궁금합니다.
답변 1
1
안녕하십니까,
1번처럼 작성하지 않으시고 2번으로 작성하신 이유가 따로 있으신가요 ?
=> 별 이유가 없습니다. 둘 다 결과가 동일하기 때문입니다.
인덱스가 중복되는게 있으면 효율이 안좋아서 fk인 a.category를 사용하는게 더 좋아서 선택하신건지 아니면 1번이나 2번이나 둘다 큰 의미가 없는건지 궁금합니다.
=> 둘다 큰 의미가 없습니다. 그리고 다시 말씀드리지만, 본 강의의 SQL 실습코드/실습데이터/인덱스 구조는 SQL 성능 튜닝 강의 용도로 만들어진 것이 아니오니, 성능적인 측면으로 실습 SQL을 받아들이지 않으셨으면 합니다.
감사합니다.
감사합니다 !!