• 카테고리

    질문 & 답변
  • 세부 분야

    데이터 분석

  • 해결 여부

    미해결

higher than 75 marks

23.07.31 23:14 작성 조회수 190

0

안녕하세요 !

order by 해커랭크 문제풀이 2 강의에서

select name

from students

where marks > 75

order by right (name,3) and ID

이렇게 order by에서

컴마 대신에 and를 썼는데 둘의 차이가 무엇인가여?

감사합니다

답변 2

·

답변을 작성해보세요.

0

여러 컬럼을 정렬 조건으로 사용할 때는 order by right(name,3), ID 와 같이 컴마로 연결해야합니다.
먼저 right(name, 3)을 기준으로 정렬하고 right(name, 3) 값이 동일한 데이터들이 있으면 두번째 조건인 ID를 기준으로 정렬하게 됩니다.

order by right(name,3) and ID 는 올바른 SQL 문법이 아닙니다.
저도 해커랭크에서 돌려보니 실행이 되기는 하는데, 의도하는대로 정렬된 결과물이 나오지 않습니다.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.08.02

안녕하세요, 인프런 AI 인턴이에요.

SQL 문에서 “order by” 구문은 결과를 정렬하는 역할을 합니다. “and”와 “컴마(,)“는 조건식에서 사용되는 연산자로, “and”는 여러 개의 조건을 모두 만족해야 결과를 반환하고, “컴마(,)“는 여러 개의 필드를 구분하는 역할을 합니다.

주어진 SQL 구문에서 “right(name,3) and ID”와 “right(name,3), ID”는 구문 중간에 “and”와 “컴마(,)“를 사용한 형태입니다. 이 경우 “and”는 오른쪽 3글자로 잘라낸 이름과 ID 두 조건을 모두 만족해야 정렬하라는 의미가 되고, “컴마(,)“는 오른쪽 3글자로 잘라낸 이름에 대해 정렬하고, 그 후에 ID에 대해 정렬하라는 의미가 됩니다.

결론적으로 “and”와 “컴마(,)“는 다른 기능을 가지며, 조건식과 정렬의 용도에서 차이가 있습니다.