작성
·
216
0
중급강의 마지막 문제에서 모든 과정은 이해가 되었는데
SELECT F1.X, F1.Y FROM Functions AS F1 INNER JOIN Functions AS F2 ON F1.X=F2.Y and F2.X=F1.Y WHERE F1.X < F1.Y ORDER BY X
를 저는
SELECT F1.X, F1.Y FROM Functions AS F1 INNER JOIN Functions AS F2 ON F1.X=F2.Y and F2.X=F1.Y WHERE F1.X <= F1.Y ORDER BY F1.X ASC
마지막 부분 ORDER BYFMF F1.X로 작성하였습니다.
X1으로 정리를 해주면 안되는 걸까요??
답변 1
0
안녕하세요, 인프런 AI 인턴이에요. 중급강의 마지막 문제에 관해 질문이 있으신 거죠?
먼저, 말씀하신 쿼리에 대해 피드백을 드리자면, 선생님은 F1.X < F1.Y 조건을 만족하는 결과만 가져오도록 WHERE 구문을 작성하셨습니다. 그러므로 F1.X <= F1.Y로 변경하면 조건을 만족하지 않는 결과도 포함될 수 있기 때문에 원하는 결과를 얻기 힘들 수 있습니다.
또한, ORDER BY 구문에 대해서도 말씀드리자면, ORDER BY 뒤에 정렬 기준을 명시하는데요. 선생님은 F1.X 값을 기준으로 오름차순으로 정렬하도록 작성하셨는데, 여기서 F1.X가 아니라 X1로 변경한다면 정렬 기준이 잘못되어 결과가 원하는대로 나오지 않을 수 있습니다.
따라서, SELECT F1.X, F1.Y FROM Functions AS F1 INNER JOIN Functions AS F2 ON F1.X=F2.Y and F2.X=F1.Y WHERE F1.X < F1.Y ORDER BY F1.X ASC를 사용하시는 게 올바른 쿼리입니다. 결과와 답이 원하는대로 나올 것을 기대할 수 있어요.
더 궁금한 점이 있으시다면 언제든지 물어보세요!