case

작성일자 : 2023-09-21 Ver 0.1.1 앞서 UNION을 사용하면 안좋은 경우에 대해서 살펴보았지만, UNION을 사용해야하는 경우도 있다. UNION을 사용하는 것이 오히려 성능적으로 좋은 경우도 있다. UNION을 사용할수 밖에 없는 경우 머지 대상이 되는 SELECT 구문들에서 사용하는 테이블이 다른 경우가 대표적이다. SELECT col_1 FROM Table_A WHERE col_2 = ‘A’ UNION ALL SELECT col_3 FROM Table_B WHERE col_4 = ‘B’; 물론 그렇다고 CASE 식을 사용할 수 없다는 것은 아니다. FROM 구에서 테이블을 결합하면 CASE 식을 사용해 원하는 결과를 구할 수 있다. 하지만 그렇게 하면 필요 없는 결합이 발생해서 성능..
작성일자 : 2023-09-19 Ver 0.1.1 집계를 수행하는 쿼리를 작성할 때, 쓸데없이 길어지는 경우를 자주 볼 수 있다. 아래의 예시 테이블을 살펴보자. (인구 테이블) Perfecture(지역이름) Sex(성별) Pop(인구) 성남 1 60 성남 2 40 수원 1 90 수원 2 100 광명 1 100 광명 2 50 일산 1 100 일산 2 100 용인 1 20 용인 2 200 (원하는 결과) Perfecture Pop_mem Pop_wom 수원 90 100 일산 100 100 성남 60 40 광명 100 50 용인 20 200 1. 집계 대상으로 조건 분기 1) UNION을 사용한 방법 이 문제를 풀 때 절차 지향적인 사고방식으로 접근한다면, 일단 남성과 여성 인구를 지역별로 구한뒤 merge..
작성일자 : 2023-09-16 수정일자 : 2023-09-19 Ver 0.1.2 UNION을 사용한 조건 분기는 SQL 초보자가 좋아하는 기술 중 하나이다. 일반적으로 이러한 조건 분기는, WHERE 구만 조금씩 다른 여러 개의 SELECT 구문을 합쳐서, 복수의 조건에 일치하는 하나의 결과 집합을 얻고 싶을때 사용한다. 이러한 방법은 큰 문제를 작은 문제를 나눌 수 있다는 점에서 생각하기 쉽다는 장점이 있다. 따라서 조건 분기와 관련된 문제를 접할 때 가장 처음 생각할 수 있는 기본적인 방법이다. 하지만 이런 방법은 성능적인 측면에서 굉장히 큰 단점을 가지고 있다. 외부적으로는 하나의 SQL 구문을 실행하는 것처럼 보이지만, 내부적으로는 여러 개의 SELECT 구문을 실행하는 실행 계획으로 해석되기 ..
작성일자 : 2023-07-23 Ver 0.1.1 1. CASE(ANSI 표준) 비교 값 또는 조건에 따라 데이터를 가공하거나 변환할 수 있다. 프로그래밍 언어의 조건문(IF - ELSEIF - ELSE)과 유사한 처리가 가능하다 1-1. 단순 CASE 표현 SELECT A.ENAME ,A.JOB ,CASE A.JOB WHEN 'PRESIDENT' THEN 'P' WHEN 'MANAGE' THEN 'M' ELSE 'E' END AS JOB_SE FROM EMP A WHERE A.SAL BETWEEN 1500 AND 5000 AND A.DEPTNO IN (10,20); ENAME JOB JOB_SE JONES MANAGER E CLARK MANAGER E SCOTT ANALYST E KING PRESIDE..
Unlimited Jun
'case' 태그의 글 목록