SQLを用いてデータベースから情報を取得する際、単純なSELECT文だけでは限界があります。より高度な操作、特に自己結合を用いると、一つのテーブル内で複数の情報を組み合わせて新しい視点でデータを解析することができます。この記事では、自己結合を用いて商品カテゴリとサブカテゴリをリストアップする方法について詳しく解説します。
目次
自己結合とは何か?
自己結合(Self-Join)とは、同じテーブルを複数回参照して結合するSQLのテクニックです。通常の結合と同じように、自己結合でもON句やUSING句を用いて結合条件を指定します。
自己結合の基本形
自己結合の基本的なSQL文は以下のような形になります。
SELECT A.column1, B.column2
FROM table_name AS A, table_name AS B
WHERE A.common_field = B.common_field;
商品カテゴリとサブカテゴリのリストアップのケース
商品カテゴリとサブカテゴリをリストアップする場面でよく自己結合が用いられます。一つのテーブル内で親子関係にあるデータを効率よく抽出できるからです。
サンプルデータテーブル
次のようなカテゴリとサブカテゴリが格納されている仮想のテーブル「category_table」を考えます。
category_id | category_name | parent_id |
---|---|---|
1 | Fruit | NULL |
2 | Apple | 1 |
3 | Banana | 1 |
4 | Electronics | NULL |
5 | Phone | 4 |
SQL文でのリストアップ
このデータテーブルから、商品カテゴリとそれに紐づくサブカテゴリを一覧にするSQL文は以下のようになります。
SELECT A.category_name AS Parent, B.category_name AS Subcategory
FROM category_table AS A
JOIN category_table AS B ON A.category_id = B.parent_id;
まとめ
自己結合を理解すると、同一テーブル内での複雑なデータの関係性を把握しやすくなります。商品カテゴリとサブカテゴリの一覧を効率よく作成できるのも、この自己結合のテクニックによるものです。データベース操作でこれからも多くの場面で自己結合が役立つでしょう。
created by Rinker
¥4,554
(2024/11/25 11:07:48時点 Amazon調べ-詳細)
コメント