【自己結合】SQLで1対多のテーブルから特定のデータを抜き出す2023-03-23【自己結合】SQLで1対多のテーブルから特定のデータを抜き出すSQL管理者に対して複数のユーザーが紐づくなど1:多のテーブルから特定のユーザーを抜き出したいケースなどあると思います。いう時は、同じテーブル内で自己結合を使うと特定のデータを抜き出すことができて便利です。今回は自己結合を使った、1:多のテーブルからデータを抽出する方法をご紹介します。SQLの自己結合は、同じテーブル内の異なるレコードを関連付ける方法です。自己結合を使用することで、テーブルのデータをより詳細に分析できます。サンプルデータ例のような1つのadmin_idに対して複数のuser_idが紐づくケースで説明します。2023-02-21今回のケースのようなテーブルに対し、他のテーブルのadmin_idをkeyにして紐づくuserの状況を確認するとします。そのまま結合するとuser_idが複数紐付けられてしまうので1つだけに絞りたい時などに今回紹介する自己結合が便利です。抽出方法ポイントとしては、抽出したい今回のテーブルに対し条件を絞った今回のテーブルをJOINするだけになります。今回はcreated_atが最新のuserだけを抜き出すようにします。t2.max_date;得られる結果はこちらになります。2023自己結合を使うことで、1:多のテーブルから任意のデータを抽出することができました!上記のSQLはMAXを使いましたが、比較してやる方法もあります。元エンジニアのプロダクトマネージャー。大規模プロダクトからスタートアップの顧問まで担当。事業開発・プロダクト戦略・KPI立案からのグロースが得意。12:46Tweet関連記事2023-03-31各グループ別の上位10件のランキングを作成するクエリ先日公開した記事で、SQLを使った上位10件や上位N%のランキング...2023-03-28SQL初学者向けのWITH句とサブクエリの使い分けSQLはデータベースを操作するための言語です。初心者の方にとっ...2023-03-19NotionでMermaid記法を使ったシーケンス図・ER図の作り方プロダクトマネージャーであれば企画・施策を考える際に、シー...2023-03-08SQLを使って上位10件や上位N%ランキングを抽出する「2:8の法則」をご存知でしょうか。読者になるこのブログについてはてなブログをはじめよう!ikuo00ukさんは、はてなブログを使っています。ブログを報告する引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。