Skip to content

Archives

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月

Categories

  • カテゴリーなし
Trend RepositoryArticles and guides
Articles

SQL UNION

On 11月 16, 2021 by admin

ここから始める? このレッスンは、データ分析にSQLを使用するための長編チュートリアルの一部です。

  • The SQL UNION operator
  • Practice problems
  • The SQL UNION operator
  • Sharpen your SQL skills
  • 練習問題
  • 練習問題

The SQL UNION operator

SQL結合では、2つのデータセットを並べて結合できますが、UNIONでは、データセットをもう1つ上に積み重ねることができます。 言い換えれば、UNIONは2つの別々のSELECTステートメントを書き、1つのステートメントの結果をもう1つのステートメントの結果と同じテーブルに表示させることができるのです。 次のクエリは、クエリの最初の部分からすべての結果を表示し、次に同じテーブルの2番目の部分からすべての結果を表示します。

SELECT * FROM tutorial.crunchbase_investments_part1 UNION SELECT * FROM tutorial.crunchbase_investments_part2

UNIONは異なる値のみを追加することに注意してください。 具体的には、UNION を使用すると、データセットが追加され、最初のテーブルの行とまったく同じ行が追加されたテーブルの中にある場合は、その行が削除されます。 もし、2番目のテーブルのすべての値を追加したい場合は、UNION ALLを使用する。 UNION ALL は UNION よりもはるかに頻繁に使用されるであろう。 この場合、重複する行はないので、UNION ALL は同じ結果を生成します。

SELECT * FROM tutorial.crunchbase_investments_part1 UNION ALL SELECT * FROM tutorial.crunchbase_investments_part2

SQL には、データを追加するための厳格なルールがあります:

  1. 両方のテーブルには同じ数の列がなければなりません
  2. 列には最初のテーブルと同じデータ型と順序がなければなりません

列名は必ずしも同じでなければなりませんが、通常は同じになることがわかっています。 これは、UNION を使用するほとんどの場合、(今回のように)同じデータセットの異なる部分をつなぎ合わせることになるからです。

2 つの別々の SELECT 文を書いているため、追加する前にそれらを異なる方法で扱うことができます。 たとえば、異なるWHERE句を使用して異なる方法でフィルタリングすることができます。

Sharpen your SQL skills

練習問題

上記の2つのcrunchbase_investmentsデータセット(重複する値を含む)を追加するクエリーを記述します。 最初のデータセットを「T」で始まる名前の企業だけにフィルタリングし、2番目のデータセットを「M」で始まる名前の企業にフィルタリングする(両方とも大文字と小文字を区別しない)。 company_permalink列、company_name列、investor_name列のみを含める。

試してみる 答えを見る

もう少し挑戦する場合:

練習問題

3列を表示するクエリーを書きます。 最初の列は、データがどのデータセット(パート1または2)から来たものかを示し、2番目は会社の状態を示し、3番目は投資家の数のカウントを示します。
ヒント: 投資テーブルだけでなく、tutorial.crunchbase_companies テーブルも使用する必要があります。 そして、ステータスとデータセットでグループ化したいと思うでしょう。

試してみる 答えを見る

コメントを残す コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

アーカイブ

  • 2022年1月
  • 2021年12月
  • 2021年11月
  • 2021年10月
  • 2021年9月

メタ情報

  • ログイン
  • 投稿フィード
  • コメントフィード
  • WordPress.org
  • DeutschDeutsch
  • NederlandsNederlands
  • SvenskaSvenska
  • DanskDansk
  • EspañolEspañol
  • FrançaisFrançais
  • PortuguêsPortuguês
  • ItalianoItaliano
  • RomânăRomână
  • PolskiPolski
  • ČeštinaČeština
  • MagyarMagyar
  • SuomiSuomi
  • 日本語日本語

Copyright Trend Repository 2022 | Theme by ThemeinProgress | Proudly powered by WordPress