Version 2021
Google BigQuery での結合によるテーブルのデータの組み合わせ
テーブル間に結合を作成して 2 つのテーブルのデータを組み合わせることができます。
最初のテーブルに、"都市" および "売上" の列が含まれています。2 つ目のテーブルに "都市" および "利益" の列が含まれています。"都市" の列間に結合を作成することによって、テーブル間のデータを関連付けることができます。
3 つ以上のテーブルのデータを組み合わせるには、2 つのテーブル間の結合を作成してから、これらの 2 つのテーブルのいずれかと 3 つ目のテーブルの結合を作成します。このようにして、すべてのテーブルが結合されるまで続けます。
記述する JOIN 句の構文は、結合するテーブルのサイズに依存します。結合を作成する前に、テーブルに圧縮されたデータが 8 MB 以上 (Google BigQuery の、デフォルトの JOIN 句でテーブルを結合する場合の最大値) 含まれているかどうかを確認しておくと役に立ちます。ルックアップ テーブルは通常、8 MB もの圧縮データを含みません。ファクト テーブルには 8 MB 以上の圧縮データが含まれている可能性があります。
2 つのテーブルのデータを組み合わせる結合を作成するには
- [テーブルからインポート] ダイアログで、データをインポートするためのクエリを作成する際に、2 つのテーブルのデータを組み合わせる結合を作成できます。
- 1 つのテーブルの圧縮データが 8 MB より大きく、もう 1 つのテーブルはそうでない場合は、大きいテーブルから列の名前をクリックして、小さいテーブルの対応する列名にドラッグします。これにより内部結合が作成されます。結合を表す線が [クエリ ビルダー] ペインに表示され、最初の列と 2 つ目の列を結びます。ステップ 6 へ進みます。
- 両方のテーブルの圧縮データが 8 MB より大きいか、または両方のテーブルのデータが 8 MB より小さい場合は、1 つのテーブルの列の名前をクリックして、もう 1 つのテーブルの列上にドラッグします。これにより内部結合が作成されます。結合を表す線が [クエリ ビルダー] ペインに表示され、最初の列と 2 つ目の列を結びます。結合したテーブルに 8 MB より大きい圧縮データが含まれる場合は、ステップ 8 に進みます。そうでない場合は、ステップ 6 へ進みます。
- 結合するテーブルのサイズがわからない場合は、1 つ目のテーブルの列の名前を、2 つ目のテーブルの対応する列の名前の上にドラッグします。
-
[SQL を実行] をクリックして結合の有効性をテストします。
[サンプル プレビュー] ペインにデータのプレビューが表示される場合は、結合は有効であり正常に作成されています。結合した 2 つ目のテーブルは、8 MB よりも小さい圧縮データを含みます。ステップ 6 へ進みます。
JOIN
演算子の右側のテーブルが小さいことを示すエラーが表示される場合は、結合した 2 つ目のテーブルが、大きすぎて、結合が作成できなかったことを意味します。結合をクリックして、[削除] を選択します。2 つ目のテーブルから列名を、1 つ目のテーブルの対応する列名にドラッグすることにより新しい結合を作成できます。[SQL を実行] をクリックします。[サンプル プレビュー] ペインにデータのプレビューが表示される場合は、結合は正常に作成されています。ステップ 6 へ進みます。
2 回目のエラー メッセージが表示される場合は、両方のテーブルに 8 MB 以上の圧縮データが含まれています。ステップ 8 に進み、データをインポートするための SQL クエリを編集します。
-
結合を作成したら、そのタイプを変更したり、削除したりすることができます。結合を表す線をクリックします。
Google BigQuery では、完全外部結合または右方外部結合などの、その他の結合タイプはサポートされていません。さらに、Google BigQuery では、デフォルトの等号 (=) 演算子を使用して列を比較し、他の演算子はサポートされません。
-
両方のテーブルの結合された列が結合の条件を満たすレコードのみを含めるには、[内部結合] を選択します。
- 最初のテーブルの列のすべてのレコードと結合条件を満たす 2 つ目のテーブルの列のレコードのみを含める場合は [左外部結合] (デフォルト) を選択します。
- [削除] を選択して結合を削除します。
- 8 MB より大きい圧縮データをもつテーブルの結合を作成しようとしています。そのため、クエリを変更する必要があります。その前に、インポートしたい追加の列がある場合は追加します。エクスポートする列に基づいて、フィルター、集計、または式を作成します。
-
[SQL を編集] をクリックします。データをインポートするための SQL が [クエリ ビルダー] ペインに表示されます。
-
JOIN
の後に、EACH
と入力します。 -
データのインポートを続けるかクエリをカスタマイズします。
関連トピック
SQL クエリを作成してデータベース、Hadoop、Google BigQuery からデータをインポート