Oracle 오라클 행열 변환, 카테시안 조인, CASE문 활용
카테시안 조인과 CASE문을 활용하여 행열을 변환하는 방법을 알아보도록 하겠습니다.
카테시안 조인과 CASE문에 대해서는 아래의 Link를 참고하세요.
Link : Oracle 오라클 데이터 복제 방법, 카테시안 조인
Oracle 오라클 데이터 복제 방법, 카테시안 조인
Oracle 오라클 데이터 복제 방법, 카테시안 조인 이번 포스팅에서는 원하는 만큼 데이터를 복사해 SELECT 하는 방법에 대해서 포스팅 하겠습니다. 데이터의 복제는 카테시안 조인을 사용하여 간단히 할 수 있습니..
aljjabaegi.tistory.com
Link : Oracle 오라클 CASE문 사용법 CASE WHEN THEN END
Oracle 오라클 CASE문 사용법 CASE WHEN THEN END
ORACLE 오라클 CASE문 사용법 CASE WHEN THEN END * CASE 문의 사용법 CASE문은 여타 다른 프로그래밍 언어들과 같이 조건이나 값에 해당하는 결과값을 RETURN하는데 사용한다. CASE문에는 사용법은 같지만 조건이..
aljjabaegi.tistory.com
우선 아래와 같은 두 행이 있습니다.
SELECT '이름'
, '나이'
, '직업'
, '홈페이지'
FROM SYS.DUAL;
SELECT '이건'
, '35'
, '개발자'
, 'http://aljjabaegi.tistory.com'
FROM SYS.DUAL;
각 쿼리의 결과는 아래와 같겠죠?
이 2행을 카테시안 조인과 CASE문을 활용하여 2열로 변경하는 방법을 알아보겠습니다.
결과부터 보시죠.
SELECT CASE T3.LVL
WHEN 1 THEN T1.NM
WHEN 2 THEN T1.AGE
WHEN 3 THEN T1.WORKS
WHEN 4 THEN T1.HOMEPAGE END AS TITLE
, CASE T3.LVL
WHEN 1 THEN T2.NM
WHEN 2 THEN T2.AGE
WHEN 3 THEN T2.WORKS
WHEN 4 THEN T2.HOMEPAGE END AS VALUE
FROM
(SELECT '이름' AS NM
, '나이' AS AGE
, '직업' AS WORKS
, '홈페이지' AS HOMEPAGE
FROM SYS.DUAL) T1,
(SELECT '이건' AS NM
, '35' AS AGE
, '개발자' AS WORKS
, 'http://aljjabaegi.tistory.com' AS HOMEPAGE
FROM SYS.DUAL) T2,
(SELECT LEVEL AS LVL
FROM SYS.DUAL
CONNECT BY LEVEL <= 4) T3
카테시안 조인을 활용하여 LEVEL 수 만큼 행을 복사하고
복사한 데이터를 기준으로 CASE 문을 활용하여 원하는 데이터만 표출하는 방식입니다.
'Database > SQL' 카테고리의 다른 글
mySql, mariaDB 사용자 생성 및 권한 설정 (0) | 2020.08.31 |
---|---|
ORACLE 테이블 데이터 비교, 교집합 차집합 데이터 추출 (0) | 2019.09.24 |
Oralce 오라클 UNIX Timestamp 변환 timestamp to date String (0) | 2019.08.01 |
오라클 형변환 알짜만 빼먹기, TO_NUMBER(), CAST(), TO_CHAR(), TO_DATE() (0) | 2019.07.24 |
Oracle IN, NOT IN 문 알짜만 빼먹기 (1) | 2019.07.17 |
댓글