[SQL 문제 풀이] Exchange Seats (교환석)

Stupefyee's avatar
May 20, 2025
[SQL 문제 풀이] Exchange Seats (교환석)
notion image
연속되는 두 학생의 좌석 ID를 바꾸는 솔루션을 작성합니다. 학생 수가 홀수인 경우 마지막 학생의 ID는 변경되지 않습니다. ID 순으로 정렬된 결과 테이블을 오름차순으로 반환합니다.
 

내가 작성한 쿼리

MySQL, Oracle

SELECT CASE -- id가 홀수이고 +1한 값이 범위 내라면 WHEN MOD(id, 2) = 1 AND id + 1 <= (SELECT MAX(id) FROM Seat) THEN id + 1 -- id가 짝수 WHEN MOD(id, 2) = 0 THEN id - 1 ELSE id END AS id, student FROM Seat ORDER BY id;
Share article

stupefyee