Contents

Symmetric Pairs

   Jan 23, 2023     1 min read

Symmetric Pairs

문제

Symmetric_pairs.jpg

코드

Oracle

SELECT X, Y
FROM FUNCTIONS
WHERE X = Y 
GROUP BY X, Y
HAVING COUNT(*) = 2
UNION
SELECT A.X, A.Y
FROM FUNCTIONS A
    INNER JOIN FUNCTIONS B ON A.X = B.Y AND A.Y = B.X
WHERE A.X < A.Y
ORDER BY X;

MYSQL

SELECT X, Y
FROM FUNCTIONS
WHERE X = Y 
GROUP BY X, Y
HAVING COUNT(*) = 2

UNION 

SELECT A.X, A.Y
FROM FUNCTIONS AS A
    INNER JOIN FUNCTIONS AS B ON A.X = B.Y AND A.Y = B.X
WHERE A.X < A.Y
ORDER BY X

참고사항

UNION이 있을 때 ORDER BY는 맨 마지막에 사용
중간 쿼리문에서는 사용할 수 없음
마지막에 사용하게 되면 전체 쿼리에 대해서 ORDER BY를 진행하게 됨