1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【oracle備忘録】UNION ALL を使ってテーブルを結合

Posted at

※この備忘録は初学者の私が学習した内容を忘れないために書き起こしたものとなります。

今回の目的

下記の「県テーブル」、「色テーブル」から、各県の人口に応じて、カラーコードを取得したい。
image.png
<条件>
◇下記人口に応じて、必要なカラーコードを取得
・人口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

取得結果

image.png

感想

2つのテーブルを使用して何らかのデータを取得したいとき、
私は真っ先ににjoinを考えてしまうが、今回のように2つのテーブルがjoinで結合するのが困難な時(2つのテーブルで共通するカラムの無いとき)は、UNION ALLを扱えるようにしたい

1
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?