📊 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

SQL로 특정 지역의 총 인구 구하기: District가 'California'인 도시들의 인구수 합산

SQL은 데이터베이스에서 데이터를 효율적으로 추출하고 분석할 수 있는 매우 강력한 도구입니다. 이번 포스팅에서는 SQL을 사용하여 특정 지역, 즉 'California' 지역에 속한 도시들의 총 인구를 구하는 방법을 알아보겠습니다.

테이블 구조

아래는 이번 예시에서 사용할 테이블 CITY의 구조입니다. CITY 테이블은 도시 정보를 담고 있으며, 각 필드는 도시의 다양한 속성을 나타냅니다.

FieldType

ID NUMBER
NAME VARCHAR2(17)
COUNTRYCODE VARCHAR2(3)
DISTRICT VARCHAR2(20)
POPULATION NUMBER

문제: District가 'California'인 도시들의 총 인구 구하기

이 테이블에서 우리는 'California' 지역에 속한 도시들의 인구수 합계를 구하고자 합니다. 이를 해결하기 위해서는 SUM 함수를 사용하여 해당 지역의 도시들의 인구수를 모두 더해줘야 합니다.

 

SQL 쿼리

SELECT SUM(POPULATION)
FROM CITY
WHERE DISTRICT = 'California';

 

쿼리 설명:

  • SELECT SUM(POPULATION): POPULATION 컬럼에서 값들을 더합니다. 즉, 도시들의 인구수를 합산합니다.
  • FROM CITY: CITY 테이블에서 데이터를 가져옵니다.
  • WHERE DISTRICT = 'California': DISTRICT 값이 'California'인 도시들만 필터링합니다.

이 쿼리는 'California' 지역에 속한 도시들의 총 인구를 반환합니다.

결론

SQL에서 특정 조건을 만족하는 데이터의 총합을 구하는 것은 매우 흔하게 사용되는 작업입니다. 특히 인구수나 매출과 같은 수치 데이터를 다룰 때 유용합니다. 이번 포스팅에서 다룬 예시처럼 SUM 함수와 WHERE 절을 적절히 활용하면 원하는 데이터를 손쉽게 추출할 수 있습니다. 이제 여러분도 직접 데이터베이스에서 필요한 데이터를 SQL로 쉽게 추출해보세요!

'SQL' 카테고리의 다른 글

Revising Aggregations - Averages  (1) 2024.10.06
The PADS  (1) 2024.10.06
Type of Triangle  (1) 2024.10.02
Employee Salaries  (0) 2024.09.30
Employee Names  (1) 2024.09.28

SQL로 삼각형 유형 분류하기

서론

 데이터베이스에서 삼각형의 세 변(A, B, C)의 길이를 기준으로 삼각형의 유형을 분류하는 방법을 소개합니다. 이 포스팅에서는 주어진 세 변을 사용해 삼각형의 유형을 SQL 쿼리를 통해 간단하고 효율적으로 분류하는 방법을 설명합니다. 그 과정에서 삼각형의 수학적 성질을 활용하여 정삼각형, 이등변삼각형, 부등변삼각형 그리고 삼각형이 아닌 경우를 식별할 수 있습니다.

 

문제 정의

우리는 TRIANGLES라는 테이블을 다루게 됩니다. 이 테이블은 각 삼각형을 나타내는 세 개의 열(A, B, C)로 이루어져 있으며, 이들은 각각 삼각형의 변의 길이를 나타냅니다. 목표는 각 레코드의 세 변을 사용하여 다음과 같은 네 가지 분류 중 하나로 출력하는 것입니다:

  1. Equilateral (정삼각형): 세 변의 길이가 모두 동일한 삼각형
  2. Isosceles (이등변삼각형): 두 변의 길이가 동일한 삼각형
  3. Scalene (부등변삼각형): 세 변의 길이가 모두 다른 삼각형
  4. Not A Triangle (삼각형이 아님): 주어진 변의 길이로는 삼각형을 만들 수 없음

삼각형의 조건

삼각형을 이루기 위해서는 세 변의 길이가 다음 조건을 만족해야 합니다:

  • A + B > C
  • A + C > B
  • B + C > A

만약 이 조건을 만족하지 못하면, 해당 세 변으로는 삼각형을 만들 수 없습니다.

 

SQL 쿼리 작성

 

SELECT CASE
    WHEN A + B <= C OR A + C <= B OR B + C <= A THEN 'Not A Triangle'
    WHEN A = B AND B = C THEN 'Equilateral'
    WHEN A = B OR A = C OR B = C THEN 'Isosceles'
    ELSE 'Scalene'
END AS Triangle_Type
FROM TRIANGLES;

 

쿼리 설명:

  1. 삼각형이 아닌 경우: A + B <= C 또는 A + C <= B 또는 B + C <= A인 경우, 주어진 세 변은 삼각형을 만들 수 없습니다. 이 경우, 결과는 'Not A Triangle'이 됩니다.
  2. 정삼각형 (Equilateral): 세 변의 길이(A, B, C)가 모두 동일한 경우, 결과는 'Equilateral'이 됩니다.
  3. 이등변삼각형 (Isosceles): 세 변 중 두 변의 길이(A, B, C)가 동일한 경우, 결과는 'Isosceles'로 분류됩니다.
  4. 부등변삼각형 (Scalene): 세 변의 길이가 모두 다른 경우, 결과는 'Scalene'으로 출력됩니다.

쿼리 실행 결과

위의 쿼리를 실행하면 각 레코드의 세 변의 길이에 따라 'Equilateral', 'Isosceles', 'Scalene', 또는 'Not A Triangle'이라는 결과를 얻을 수 있습니다.

결론

이번 포스팅에서는 삼각형의 유형을 SQL을 통해 간단하게 분류하는 방법을 다뤄봤습니다. SQL의 CASE 문을 활용하면 다양한 조건에 따라 데이터를 쉽게 분류할 수 있으며, 이를 통해 보다 효율적인 데이터 처리와 분석이 가능합니다. 다음에는 더 복잡한 분류 문제나 데이터 분석 문제를 다뤄보겠습니다!

'SQL' 카테고리의 다른 글

The PADS  (1) 2024.10.06
Revising Aggregations - The Sum Function  (0) 2024.10.03
Employee Salaries  (0) 2024.09.30
Employee Names  (1) 2024.09.28
Higher Than 75 Marks  (0) 2024.09.26

SQL 쿼리 분석: 짧은 근무 기간에도 높은 급여를 받는 직원 찾기

데이터 분석에서 SQL은 매우 강력한 도구입니다. 오늘은 특정 조건을 만족하는 직원들의 정보를 추출하는 간단한 SQL 쿼리를 함께 살펴보겠습니다. 이번 포스팅의 목표는 월급이 $2000 이상이면서 10개월 미만 근무한 직원들의 이름을 찾아내는 것입니다.

 

테이블 구조

먼저, 직원 정보를 담고 있는 Employee 테이블의 구조부터 확인해 보겠습니다. 아래 표는 Employee 테이블의 각 컬럼과 데이터 유형을 보여줍니다:

ColumnType

employee_id Integer
name String
months Integer
salary Integer

 

SQL 쿼리

SELECT name
FROM Employee
WHERE salary > 2000 AND months < 10
ORDER BY employee_id ASC;

 

쿼리 설명

이 쿼리는 다음과 같은 조건을 기반으로 데이터를 검색합니다:

  • 월급 조건: salary 컬럼이 2000을 초과해야 합니다.
  • 근무 기간 조건: months 컬럼이 10 미만이어야 합니다.

조건을 만족하는 직원들의 name을 선택하고, employee_id를 기준으로 오름차순으로 결과를 정렬합니다.

결과

이 쿼리를 실행하면, 월급이 상대적으로 높으면서도 근무 기간이 짧은 직원들의 이름이 출력됩니다. 이러한 정보는 인사 팀이나 경영진이 보상 구조를 평가하거나 직원의 경력 개발을 지원하는 데 유용할 수 있습니다. 감사합니다.

'SQL' 카테고리의 다른 글

Revising Aggregations - The Sum Function  (0) 2024.10.03
Type of Triangle  (1) 2024.10.02
Employee Names  (1) 2024.09.28
Higher Than 75 Marks  (0) 2024.09.26
Weather Observation Station 12  (2) 2024.09.24

SQL 쿼리로 직원 이름 알파벳 순 출력하기

데이터베이스 관리의 필수적인 스킬 중 하나가 바로 SQL 쿼리입니다. 이번 포스팅에서는 기업의 직원 목록을 알파벳 순으로 정렬

테이블 구조

아래 표는 Employee 테이블의 구조를 나타냅니다. 이 테이블에는 직원의 ID, 이름, 근무 개월 수, 월급 정보가 저장되어 있습니다.

ColumnType

employee_id Integer
name String
months Integer
salary Integer

하는 간단한 SQL 쿼리를 작성하는 방법을 소개하고자 합니다.

 

SQL 쿼리 작성

SELECT name
FROM Employee
ORDER BY name ASC;

 

 

쿼리 설명

  • SELECT name: Employee 테이블에서 name 열만을 선택합니다.
  • ORDER BY name ASC: 선택된 이름을 알파벳 오름차순으로 정렬합니다.

이 쿼리는 데이터베이스에서 직원의 이름을 간단하게 조회하고 정렬하는 데 사용됩니다. 데이터 정리나 보고서 작성 시 유용하게 활용될 수 있습니다.


이 포스팅이 SQL 쿼리의 기초를 이해하는 데 도움이 되었길 바라며, 간단한 쿼리임에도 불구하고 실제 업무에서 중요한 역할을 할 수 있습니다. 데이터베이스 관리에 관심이 있는 분들을 위해, 다음 포스팅에서는 보다 복잡한 쿼리 작성법을 다루도록 하겠습니다. 계속해서 관심을 가져주세요!

'SQL' 카테고리의 다른 글

Type of Triangle  (1) 2024.10.02
Employee Salaries  (0) 2024.09.30
Higher Than 75 Marks  (0) 2024.09.26
Weather Observation Station 12  (2) 2024.09.24
Weather Observation Station 11  (0) 2024.09.23

+ Recent posts