5
2

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 5 years have passed since last update.

【SQL】GoogleのBigQuery - テーブル結合について(INNERJOIN)

Last updated at Posted at 2020-01-21

【SQL】GoogleのBigQuery - テーブル結合について(INNERJOIN)

BigQueryにおけるSQLについて勉強しています。

同じように覚えたての方、勉強中の方向けに
テーブルの結合について、少しつまづいたのでメモを残しておきます。
※Oralceに慣れすぎて同じような書き方をしてしまった。

Aというテーブルと、Bというテーブルの両方に欲しいデータがあり、
これらを結合して必要なデータだけ取り出すことを目指します。

→ FROM文以降の結論から記載します。

【まとめ】
・FROMで使用するテーブル(A)を宣言し、
・INNER JOIN で結合するテーブル(B)を宣言し、
・USING(フィールド名)で結合に使うフィールド名を指定します。


SELECT CastNo,hobby,class
-- 表示する項目を指定

FROM
`dbname.table1`
-- メインで使用するテーブルを指定する

INNER JOIN `dbname.table2`
-- 結合するテーブルを指定する

USING(CastNo);
-- 結合に使うフィールド名を指定する

例では、両方のテーブルにある【CastNo】を結合するキーとしています。
特定のユーザーの、クラスと趣味を別々のテーブルから取得しています。

▼table1の内容

CastNo Name class
A000 syana a
A001 kino s
A002 yamada aa
A003 toma b
A004 sagiri a
A005 mikoto s

▼table2の内容

CastNo Hobby
A000 Magic
A001 Journey
A002 Music
A003 Talk
A004 Illust
A005 Elk

▼クエリの結果

CastNo Hobby class
A000 Magic a
A001 Journey s
A002 Music aa
A003 Talk b
A004 Illust a
A005 Elk s

何かご指摘があれば、ご連絡ください...

5
2
1

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
5
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?