X, Y 각각의 값을 갖는 테이블 Functions가 있다.
- X1 = Y2, X2 = Y1 조건을 만족한다면 (X1, Y1), (X2, Y2) 두 값은 대칭쌍이다.(Symmetric pairs)
- 모든 대칭 쌍을 출력하는 쿼리를 작성해라.
- X 값 기준으로 오름차순 정렬해라.
- X1 <= Y1인 값만 조회해라.
다음과 같은 X, Y 값을 갖는 테이블 Functions가 있다.
row_index
변수를 각 테이블 마다 만들었음.distinct
로 한번만 불러오게 조회함. set @index = 0;
set @index1 = 0;
select distinct f.X, f.Y
from (select X, Y, @index:= @index+1 as row_index from functions)f
inner join(select X, Y, @index1:= @index1+1 as row_index1 from functions)f1
on f.X = f1.Y
where f.Y = f1.X and f.X <= f.Y and row_index != row_index1
order by f.X