以下の表に対して、様々な組み合わせパターンを表示するSQLを投げていきます。
生徒のペアのパターンを出すSQL(順序考慮あり)
任意の生徒のペアの組み合わせを表示します。
順序を考慮し、また同じ生徒の組み合わせもありとしています。
-- 全ての列の組み合わせを表示するSQL
SELECT p1.student_name, p2.student_name
FROM practice2_student_mst p1
CROSS JOIN practice2_student_mst p2;
異なる生徒のペアを表示するSQL
異なる任意の生徒を二人選ぶ際の組み合わせのパターンを表示するSQLです。
こちらも順序を考慮しています。
SELECT p1.student_name, p2.student_name FROM practice2_student_mst p1 INNER JOIN practice2_student_mst p2 ON p1.student_name <> p2.student_name;
順序を考慮しないパターン
順序を考慮せず、純粋な組み合わせのパターンを表示するSQLです。
SELECT p1.student_name, p2.student_name FROM practice2_student_mst p1 INNER JOIN practice2_student_mst p2 ON p1.student_name < p2.student_name;