📊 SQL로 데이터를 정렬하고 직업별 사람 수 구하기! 🎓

✨ 소개

SQL을 사용하면 데이터를 정리하고 분석하는 데 정말 유용한 도구입니다! 오늘은 이름을 알파벳 순으로 정렬하고 직업별로 몇 명이 있는지 계산하는 방법을 배워볼 거예요. 이 방법을 활용하면 테이블에 저장된 데이터를 좀 더 쉽게 이해할 수 있답니다.

여러분이 SQL 초보라면, 너무 어렵게 생각하지 마세요. 천천히 따라오시면 중학생도 충분히 이해할 수 있을 거예요! 😊

 

🎯 문제 설명

우리는 OCCUPATIONS라는 테이블을 사용해요. 이 테이블에는 각 사람의 이름과 그 사람이 가진 직업 정보가 담겨 있어요. 우리는 이 테이블을 이용해 두 가지 작업을 할 거예요:

  1. 이름을 알파벳 순으로 정렬하고 그 뒤에 직업의 첫 글자를 괄호로 묶어서 보여주기.
  2. 각 직업별로 몇 명이 있는지 계산하고, 그 수를 오름차순으로 정렬해서 보여주기.

💡 해결 방법

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

+ Recent posts