【oracle 비망록】 UNION ALL 을 사용해 테이블을 결합
이번 목적
아래의 「현 테이블」, 「색 테이블」로부터, 각 현의 인구에 따라, 컬러 코드를 취득하고 싶다.
<조건>
◇아래 인구에 따라, 필요한 컬러 코드를 취득
・인구 100만명 미만…청색
・인구 100만명 이상 200만명 미만…녹색
・인구 200만명 이상 300만명 미만…황색
・인구 300만명 이상…적색
작성한 코드
SELECT 県.県ID
, 県.県名
, 県.人口
, 色.カラーコード
FROM 県, 色
WHERE 県.人口 < 1000000
AND 色.色ID = 1
UNION ALL
SELECT 県.県ID
, 県.県名
, 県.人口
, 色.カラーコード
FROM 県, 色
WHERE 県.人口 < 2000000
AND 県.人口 >= 1000000
AND 色.色ID = 2
UNION ALL
SELECT 県.県ID
, 県.県名
, 県.人口
, 色.カラーコード
FROM 県, 色
WHERE 県.人口 < 3000000
AND 県.人口 >= 2000000
AND 色.色ID = 3
UNION ALL
SELECT 県.県ID
, 県.県名
, 県.人口
, 色.カラーコード
FROM 県, 色
WHERE 県.人口 >= 3000000
AND 色.色ID = 4
ORDER BY 県ID
취득 결과
감상
두 개의 테이블을 사용하여 어떤 데이터를 얻고 싶을 때,
나는 먼저 join을 생각해 버리지만, 이번과 같이 2개의 테이블이 join에서 조인하기가 곤란한 때(2개의 테이블로 공통되는 컬럼이 없을 때)는, UNION ALL를 취급할 수 있도록(듯이) 하고 싶다
Reference
이 문제에 관하여(【oracle 비망록】 UNION ALL 을 사용해 테이블을 결합), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/uncleJAM/items/1e8a11ae34878361a255텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)