スポンサーリンク
データベースからSQLを使ってデータを取得した際に、いくつかの取得内容を引っ付けたいことありませんか?
今回はその際に使用する演算子について、勉強していこうと思います。
ブレインキャット
こんにちは!
今回は私、ブレインキャットとともに学んでいきましょう!
ではやっていこう!
集合演算子を使用する際は必ず、取得項目が同じにしましょう。
同じにしなしと、エラーとなりデータを取得できません。
UNION
ブレインキャット
まずはこちら「UNION」です。
特徴
取得対象のデータから、重複行をはぶき取得します。
ブレインキャット
SQLはこんな感じで書きます。
SQL
1 2 3 4 5 6 7 8 9 | SELECT A.項目1 ,A.項目2 FROM テーブル A UNION SELECT B.項目1 ,B.項目2 FROM テーブル B |
取得結果イメージ
UNION ALL
ブレインキャット
先程の「UNION」の後ろに「ALL」を引っ付けた演算子です。
似ていますが、少し違いますね。
取得できるデータも少し違います。
特徴
取得対象のデータから、重複行を含み取得します。
ブレインキャット
SQLはこんな風に書きます。
SQL
1 2 3 4 5 6 7 8 9 | SELECT A.項目1 ,A.項目2 FROM テーブル A UNION ALL SELECT B.項目1 ,B.項目2 FROM テーブル B |
取得結果イメージ
INTERSECT
特徴
取得対象のデータから、重複しているデータを重複なしで取得します。
ブレインキャット
何言ってるかわからないと思うので実例で見てみましょう!
まずはSQL
SQL
1 2 3 4 5 6 7 8 9 | SELECT A.項目1 ,A.項目2 FROM テーブル A INTERSECT SELECT B.項目1 ,B.項目2 FROM テーブル B |
取得結果イメージ
ブレインキャット
こんな結果となります。
MINUS | EXCEPT
特徴
取得対象のデータから、差集合を取得します。
ブレインキャット
こちらは、使っているデータベースによって演算子を使い分けます。
データベース | 演算子 |
---|---|
ORACLE | MINUS |
SQLServer | EXCEPT |
PostgreSQL | EXCEPT |
SQL
1 2 3 4 5 6 7 8 9 | SELECT A.項目1 ,A.項目2 FROM テーブル A MINUS SELECT B.項目1 ,B.項目2 FROM テーブル B |
※ORACLEの場合
取得結果イメージ
まとめ
ブレインキャット
こんな感じでした!
使う場面もたまにあると思うので、覚えておくと便利です。
終わり!
スポンサーリンク