본문 바로가기
반응형

Data Analysis/SQL19

[SQL] 07. 조건 분기 응용2 (집계 함수를 활용한 조건 분기 비교) 조건분기 활용 비교하기(feat. 집계 함수) 지난 포스팅에서는 CASE 식과 UNION + WHERE 구를 비교하며 성능에 대한 차이를 비교했다. 이번 포스팅에서는 집계 함수를 활용할 때의 CASE 식과 UNION + WHERE 구의 성능을 비교하는 예시를 소개하려 한다. 아래의 Population 테이블을 통해, (1)집계 대상으로 조건 분기 하는 경우와 (2)집약 결과로 조건 분기를 하는 경우를 설명해보겠다. (1) 집계 대상으로 조건 분기하는 경우 - UNION + WHERE 구 활용 아래의 쿼리는 원래의 Population 테이블의 레코드를 레이아웃을 바꿔 보여주는 기능을 하는 쿼리이다. 지역(prefecture)별로 그룹화하여 성별(sex)가 남자(1)인 경우의 인구수를 뽑아내고, 같은 방법으.. 2019. 7. 18.
[SQL] 06. 조건 분기 응용1 (CASE 식과 WHERE 구의 비교) 조건분기 활용 비교하기 저번 포스팅에서, CASE 식을 활용한 조건분기를 활용하면 쿼리의 성능을 높일 수 있다고 언급을 하였다. 특히, UNION + WHERE 구를 활용한 조건분기의 경우와 비교하면 그 성능의 차이를 쉽게 비교할 수 있다. - CASE 식 vs UNION + WHERE 구 아래의 ITEMS 테이블 예시를 통해 성능적인 측면에서 CASE 식과 UNION + WHERE 구의 비교를 해보고자 한다. ITEMS 테이블에서 PRICE_TAX_EX는 세전 가격을, PRICE_TAX_IN은 세후 가격을 나타낸다. 우리가 보고자 하는 결과 테이블에서는 2001년 이전의 물품 가격은 PRICE_TAX_EX(세전 가격)으로, 2002년 이후의 물품 가격은 PRICE_TAX_IN(세후 가격)으로 추출되는 .. 2019. 7. 17.
[SQL] 05. 조건 분기(CASE),집합 연산, 윈도우 함수(WINDOW) SQL에서의 검색 조건 응용 이번 포스팅에서는 SQL 구문을 좀더 유연하게 다룰 수 있는 조건 분기(CASE),집합 연산(UNION, INTERSECT, EXCEPT) , 윈도우 함수(WINDOW) 검색 조건에 대해 설명해보고자 한다. - 조건분기(CASE 식) 보통 절차 지향형 프로그래밍 언어에서는 조건분기(조건문)을 사용하기 위해서 IF 조건문, SWITCH 조건문을 활용한다. SQL에서는 위와같은 조건문과 같은 '문장'이 아닌, CASE 식를 활용한 '식'을 사용함으로서 조건분기를 실현할 수 있다. 아래는 ADDRESS 테이블을 활용하여 CASE 식를 적용한 예시이다. 테이블의 address 컬림이 '서울시'인 경우 DISTRICT는 '경기'로, '부산'인 경우 '영남'으로, '인천'인 경우 '경기.. 2019. 7. 17.
[SQL] 04. SQL 기초 쿼리2 (GROUP BY&HAVING/ORDER BY/서브쿼리) SQL에서의 다양한 검색 조건 이번 포스팅에서는 GROUP BY&HAVING / ORDER BY / 서브쿼리 같은 다양한 검색 조건에 대해 설명하려 한다. - GROUP BY 구 GROUP BY 구는 말 그대로, 테이블의 레코드를 정해진 기준으로 그룹화 시켜주는 구문이다. 이 구문을 사용하면 아래의 집계함수를 쉽게 연산할 수 있다. COUNT( ) : 레코드 value의 개수 SUM( ) : 레코드 value의 합 AVG( ) : 레코드 value의 평균 MAX( ) : 레코드 value 중 최댓값 추출 MIN( ) : 레코드 value 중 최솟값 추출 아래 예시는 ADDRESS 테이블에서 성별로 그룹화하여 레코드 개수를 구한 과정이다. - GROUP BY 구 + HAVING 구 HAVING 구는 GRO.. 2019. 7. 15.
반응형