📊 SQL로 데이터를 정렬하고 직업별 사람 수 구하기! 🎓
✨ 소개
SQL을 사용하면 데이터를 정리하고 분석하는 데 정말 유용한 도구입니다! 오늘은 이름을 알파벳 순으로 정렬하고 직업별로 몇 명이 있는지 계산하는 방법을 배워볼 거예요. 이 방법을 활용하면 테이블에 저장된 데이터를 좀 더 쉽게 이해할 수 있답니다.
여러분이 SQL 초보라면, 너무 어렵게 생각하지 마세요. 천천히 따라오시면 중학생도 충분히 이해할 수 있을 거예요! 😊
🎯 문제 설명
우리는 OCCUPATIONS라는 테이블을 사용해요. 이 테이블에는 각 사람의 이름과 그 사람이 가진 직업 정보가 담겨 있어요. 우리는 이 테이블을 이용해 두 가지 작업을 할 거예요:
- 이름을 알파벳 순으로 정렬하고 그 뒤에 직업의 첫 글자를 괄호로 묶어서 보여주기.
- 각 직업별로 몇 명이 있는지 계산하고, 그 수를 오름차순으로 정렬해서 보여주기.
💡 해결 방법
1️⃣ 첫 번째 작업: 이름과 직업 첫 글자 출력하기
첫 번째 작업에서는 이름을 알파벳 순으로 정렬하고, 그 뒤에 직업의 첫 글자를 괄호로 묶어서 표시해요. 예를 들어, Amy(A), Bob(D) 이런 식으로 나와야 해요.
SQL 쿼리는 이렇게 작성할 수 있습니다:
SELECT
CONCAT(Name, '(', SUBSTRING(Occupation, 1, 1), ')') AS result
FROM
OCCUPATIONS;
- CONCAT(): 문자열을 이어 붙일 때 사용해요. 여기서는 이름과 괄호 안의 직업 첫 글자를 합쳤어요.
- SUBSTRING(): 직업 이름의 첫 번째 글자만 가져오는 함수예요.
2️⃣ 두 번째 작업: 직업별 사람 수 계산하기
두 번째 작업에서는 각 직업에 몇 명이 있는지 계산해요. 예를 들어, There are a total of 3 doctors. 이렇게 출력되도록 해야 해요.
SQL 쿼리는 이렇게 작성할 수 있습니다:
SELECT
CONCAT('There are a total of ', COUNT(*), ' ', LOWER(Occupation), 's.') AS result
FROM
OCCUPATIONS
GROUP BY
Occupation
ORDER BY
COUNT(*), Occupation;
- COUNT(*): 직업별로 몇 명이 있는지 계산해요.
- LOWER(): 직업 이름을 소문자로 바꿔주는 함수예요.
- GROUP BY: 직업별로 그룹을 나누고 각 직업마다 몇 명이 있는지 세요.
- ORDER BY: 인원 수를 기준으로 오름차순 정렬하고, 인원이 같은 경우 직업명을 알파벳 순으로 정렬해요.
🎉 두 작업을 한 번에 합치기
이제 두 쿼리를 하나의 쿼리로 합쳐서, 한 번에 결과를 볼 수 있게 할 거예요! UNION ALL을 사용하면 두 개의 결과를 하나로 합칠 수 있어요.
(SELECT
CONCAT(Name, '(', SUBSTRING(Occupation, 1, 1), ')') AS result
FROM
OCCUPATIONS)
UNION ALL
(SELECT
CONCAT('There are a total of ', COUNT(*), ' ', LOWER(Occupation), 's.') AS result
FROM
OCCUPATIONS
GROUP BY
Occupation)
ORDER BY
result;
- UNION ALL: 두 개의 쿼리 결과를 하나로 합쳐줘요.
- 마지막에 **ORDER BY**를 한 번만 사용해서, 전체 결과를 알파벳 순으로 정렬해요.
🔍 결과 예시
이 쿼리를 실행하면 아래와 같은 결과를 얻을 수 있어요:
Alice(A)
Bob(D)
There are a total of 3 doctors.
There are a total of 5 singers.
이렇게 SQL을 사용해서 데이터를 정리하면, 복잡한 데이터를 쉽게 볼 수 있어요!
💭 결론
오늘은 SQL을 이용해 이름을 정렬하고 직업별 인원을 계산하는 방법을 배웠어요. 이제 SQL로 여러분의 데이터를 더 쉽게 관리할 수 있을 거예요. 다음에도 유익한 SQL 팁을 공유할 테니, 기대해 주세요! 😄
SQL을 배우는 즐거움을 느끼고 있다면, 댓글로 여러분의 경험을 공유해 주세요! 감사합니다
'SQL' 카테고리의 다른 글
Japan Population (0) | 2024.10.07 |
---|---|
Revising Aggregations - Averages (1) | 2024.10.06 |
Revising Aggregations - The Sum Function (0) | 2024.10.03 |
Type of Triangle (1) | 2024.10.02 |
Employee Salaries (0) | 2024.09.30 |