SQLで同じテーブルの複数のテーブルを結合する方法


  1. セルフジョイン: セルフジョインは、同じテーブル内の異なる行を結合する方法です。一般的なセルフジョインの例は、親子関係を持つテーブルで親と子の関係を結び付ける場合です。以下はセルフジョインの例です。
SELECT p.name AS parent, c.name AS child
FROM your_table p
JOIN your_table c ON p.id = c.parent_id;
  1. サブクエリを使用した結合: サブクエリを使用することで、同じテーブルの異なる部分集合を結合することができます。以下はサブクエリを使用した結合の例です。
SELECT t1.column1, t2.column2
FROM (SELECT column1, column3 FROM your_table WHERE condition) t1
JOIN (SELECT column2, column4 FROM your_table WHERE condition) t2
ON t1.column3 = t2.column4;
  1. 一時テーブルを使用した結合: 一時テーブルを使用することで、同じテーブルの異なる一時テーブルを作成し、それらを結合することができます。以下は一時テーブルを使用した結合の例です。
CREATE TEMPORARY TABLE temp1 AS
SELECT column1, column2 FROM your_table WHERE condition;
CREATE TEMPORARY TABLE temp2 AS
SELECT column3, column4 FROM your_table WHERE condition;
SELECT t1.column1, t2.column4
FROM temp1 t1
JOIN temp2 t2 ON t1.column2 = t2.column3;

これらはいくつかの一般的な方法ですが、実際の要件に応じて他の方法もあります。データベースシステムによっては、特定の方法が最適な場合もあります。