• home
  • about
  • 全ての投稿
  • ソフトウェア・ハードウェアの設定のまとめ
  • 分析関連のまとめ
  • ヘルスケア関連のまとめ
  • 生涯学習関連のまとめ

bigquery except distinct

date: 2023-08-04 excerpt: bigquery except distinct集合演算子の使い方

tag: bqbigquerygcpbigqueryexcept distinct


bigquery except distinct集合演算子の使い方

概要

  • UNION ALL, INTERSECT DISTINCTなどの集合演算子の一つにEXCEPT DISTINCTというものがある
  • 2つのテーブルのレコードで集合と考えてsubstructionする操作

pythonでのイメージ

assert {(0, "a"), (1, "b"), (2, "c")} - {(0, "a"), (2, "c")} == {(1, "b")}

具体例

SELECT
  name,
  email
FROM UNNEST([
  STRUCT("山田 太郎" as name, "taro.yamada@example.com" as email),
  ("佐藤 花子", "hanako.sato@example.com"),
  ("鈴木 一郎", "ichiro.suzuki@example.com"),
  ("田中 二郎", "jiro.tanaka@example.com"),
  ("高橋 三郎", "saburo.takahashi@example.com")
])
EXCEPT DISTINCT
SELECT
  name,
  email
FROM UNNEST([
  STRUCT("山田 太郎" as name, "taro.yamada@example.com" as email),
  ("伊藤 由美", "yumi.itou@example.com")
])
name email
佐藤 花子 hanako.sato@example.com
鈴木 一郎 ichiro.suzuki@example.com
田中 二郎 jiro.tanaka@example.com
高橋 三郎 saburo.takahashi@example.com

参考

  • 集合演算子/cloud.google.com


bqbigquerygcpbigqueryexcept distinct Share Tweet