코딩 테스트 연습

SQL (CONCAT, ORDER BY) - The PADS

baektree 2025. 12. 29. 15:37

해커랭크를 통해 SQL 연습 중이다.

확실히 영문으로 된 문제라 난이도 자체는 쉽지 않지만 독해하는데 꽤 시간이 걸리는 것 같다.

그래도 하다보면 익숙해지겠거니 하면서 천천히 풀고 있다.

 

문제

목표/풀이

두개의 쿼리를 만들기

  1. 첫번째 쿼리
    • 이름 오름차순 정렬
    • 단, 직업명 첫 글자를 괄호로 감싸서 삽입어구로 제시 예 AnActorName(A), ADoctorName(D), AProfessorName(P),
  2. 두번째 쿼리
    • 직업 개수 구하기
    • 직업 개수 오름차순 정렬 → 직업명 오름차순 정렬
    • 아웃풋 포맷: There are a total of [occupation_count] [occupation]s.
      • occupation_count : 직업 존재 개수
      • occupation : 직업명 소문자 </aside>

코드

-- 첫번째 쿼리
SELECT CONCAT(Name, '(', LEFT(Occupation, 1), ')') AS output1
FROM OCCUPATIONS 
ORDER BY Names;
-- 두번째 쿼리
SELECT COANCAT('There are a total of', COUNT(*), ' ', LOWER(Occupation), 's.') AS output2
FROM OCCUPATIONS
GROUP BY Occupation
ORDER BY COUNT(*), Occupation;

 

주의사항

Query an alphabetically ordered list of all names in OCCUPATIONS, immediately followed by the first letter of each profession as a parenthetical (i.e.: enclosed in parentheses).

→ 모든 이름 알파벳 오름차순으로 정렬하라, 바로 옆에 각 직업명의 첫 글자를 붙여라(삽입어구로, 괄호를 감싸서)

 

The results of the second query are ascendingly ordered first by number of names corresponding to each profession, and then alphabetically by profession

→ 두번째 쿼리의 결과는 직업 개수 오름차순으로 정렬하라, 그 다음에 직업명 알파벳 오름차순으로 정렬하라