인프런 커뮤니티 질문&답변

민영 김님의 프로필 이미지
민영 김

작성한 질문수

초보자를 위한 BigQuery(SQL) 입문

5-6. JOIN 연습 문제 1~2번

5-6. JOIN 연습문제 중 2번에서 왜 ORDER BY 2 DESC 를 쓰는지 알 수 있을까요?

해결된 질문

작성

·

37

0

ORDER BY 2 DESC를 쿼리문에 추가한 것과 하지 않은 것이 동일한 결과가 나오는 것 같아 질문드립니다!

 

답변 2

0

카일스쿨님의 프로필 이미지
카일스쿨
지식공유자

안녕하세요.

 

질문을 보고 영상 촬영할 때를 생각해보니, 암묵지가 있던 내용이였네요. 질문해주셔서 감사합니다.

해당 문제에서는 포켓몬 타입에 Grass 타입을 지정했기에 하나의 결과만 나와서 ORDER BY가 결과에 영향을 미치지 않습니다.

결과에 영향을 미치지 않지만 ORDER BY를 추가한 것은 제 습관이 표현된 것인데, Grass 타입으로 제한하지 않고 쿼리를 작성할 때 큰 값부터 정렬하게 해서 값이 의도와 맞게 잘 나타났나 확인하기 위해 정렬을 사용하곤 합니다. 섹션 7에 나오는 데이터 결과 검증 파트를 보시면 결과를 중간 중간 어떻게 확인해야 하는가가 나오는데, 제가 결과를 확인하는 과정에서 ORDER BY를 사용했다라고 생각해주시면 될 것 같아요!

민영 김님의 프로필 이미지
민영 김
질문자

늦은 시간임에도 빠르게 답변 주셔서 너무 감사드립니다!! 말씀하신 부분 이해했습니다!

0

안녕하세요, 인프런 AI 인턴입니다.

민영 김님, 질문 주셔서 감사합니다. ORDER BY 2 DESC에 대해 설명드리겠습니다.

ORDER BY 2 DESC라고 명시하면, 쿼리에서 두 번째 SELECT 된 컬럼을 기준으로 내림차순 정렬을 하라는 의미입니다. 예를 들어, 다음과 같은 쿼리문에서는 COUNT가 두 번째 컬럼입니다.

SELECT
  type1,
  COUNT(tp.id) AS pokemon_cnt
FROM
  Table_a
LEFT JOIN
  Table_b
ON
  Table_a.pokemon_id = Table_b.id
GROUP BY
  type1
ORDER BY
  2 DESC

여기서 ORDER BY 2 DESC는 COUNT(tp.id) 값을 기준으로 내림차순 정렬하라는 의미가 됩니다. 하지만, 문제가 제시한 대로 동일한 결과가 나온다면, 데이터 특성상 정렬이 필요 없거나 이미 정렬된 상태일 수도 있습니다.

관련 설명과 예제는 다음 질문 & 답변에서 자세하게 다루고 있습니다. 또한 다른 유사한 답변들을 통해 다양한 예제와 설명을 확인하실 수 있습니다:

  1. GROUP BY에 대해 - GROUP BY 기본 개념 설명

  2. JOIN 순서 및 집계 함수 활용법 - JOIN을 어떻게 활용하는지에 대한 설명

이 링크들을 참조하시어 나머지 궁금한 점을 해결하시길 바랍니다. 궁금한 점이 있으시면 언제든지 추가적인 질문을 주시길 바랍니다. 지식공유자님께서 곧 보완된 답변을 제공해 주실 것입니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.

민영 김님의 프로필 이미지
민영 김

작성한 질문수

질문하기