🔥

第1回:BQでSQL問題集

に公開

準備

使用データ

  • bigquery-public-data.san_francisco_film_locations.film_locations
  • サンフランシスコで撮影された映画の情報(タイトル・公開年・撮影地など)

✅ 基礎編:SELECT, WHERE, ORDER BY

🧪 問題 1:映画のタイトルと公開年を5件表示せよ

ヒント

SELECT:見たいカラムを指定する
FROM:どのテーブルからデータを取るか
LIMIT:結果を5件に制限

✅ 解答を見る
SELECT title, release_year
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
LIMIT 5;

🧪 問題 2:制作会社が "Warner Bros. Pictures" の映画だけ表示せよ

ヒント

WHERE:データを絞る条件を指定
=:完全一致(大文字・小文字も含めて)

✅ 解答を見る
SELECT title, production_company
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
WHERE production_company = "Warner Bros. Pictures";

🧪 問題 3:公開年が新しい順に映画を10件表示せよ

ヒント

ORDER BY release_year DESC:公開年で並び替え(降順=新しい順)
DESC:降順(古い順は ASC)

✅ 解答を見る
SELECT title, release_year
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
ORDER BY release_year DESC
LIMIT 10;

✅ 集計編:GROUP BY, COUNT, HAVING

🧪 問題 4:公開年ごとの映画の本数を集計せよ(古い順)

ヒント

GROUP BY:同じ年のデータをまとめる
COUNT(*):グループごとの件数を数える
AS film_count:列に別名をつける

✅ 解答を見る
SELECT release_year, COUNT(*) AS film_count
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
GROUP BY release_year
ORDER BY release_year;

🧪 問題 5:映画が10本以上撮影されたロケ地をランキング表示せよ(トップ10)

ヒント

HAVING:GROUP BY のあとの結果に対して条件をつける(WHERE は使えない!)
IS NOT NULL:空欄データを除外
ORDER BY:件数の多い順に並び替え

✅ 解答を見る
SELECT locations, COUNT(*) AS film_count
FROM `bigquery-public-data.san_francisco_film_locations.film_locations`
WHERE locations IS NOT NULL
GROUP BY locations
HAVING COUNT(*) >= 10
ORDER BY film_count DESC
LIMIT 10;

Discussion