🐬 MySQL/MySQL 실습문제

LIKE , LIMIT, DISTINCT, CASE문키워드를 이용한 연습문제 각각 5개씩

itstory(Booho) 2024. 12. 1. 22:18
728x90

문제풀이용 데이터베이스 SQL파일 다운로드

employees_data.sql
0.01MB

 
LIKE 예습 문제

특정 도메인을 가진 이메일 검색
이메일이 example.com 도메인으로 끝나는 직원들의 정보를 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
WHERE email LIKE '%@example.com';

이름이 특정 문자로 시작하는 직원 검색
이름이 'J'로 시작하는 직원들의 정보를 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
WHERE first_name LIKE 'J%';

성에 특정 문자열이 포함된 직원 검색
성이 'son'을 포함하는 직원들의 정보를 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
WHERE last_name LIKE '%son%';

부서명이 두 글자인 직원 검색
부서 이름이 정확히 두 글자인 직원들의 정보를 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
WHERE department LIKE '__';

이메일이 숫자로 시작하는 직원 검색
이메일 주소가 숫자로 시작하는 직원들의 정보를 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
WHERE email LIKE '[0-9]%';

2024.12.01 - [데이터베이스/MySQL 키워드] - SQL LIKE로 데이터 찾기 : SQL 문자열 검색의 핵심

SQL LIKE로 데이터 찾기 : SQL 문자열 검색의 핵심

SQL LIKE: 패턴 매칭의 강력한 도구  오늘은 데이터베이스에서 문자열 검색의 핵심 도구인 LIKE 연산자에 대해 알아보겠습니다.  LIKE는 패턴 매칭을 통해 원하는 데이터를 쉽고 효과적으로 찾을 수

boohoday.com

 

CASE 예습 문제

급여 범위에 따라 등급 부여
급여가 5만 이하이면 'Low', 5만 초과 10만 이하이면 'Medium', 10만 초과이면 'High'로 급여 등급을 출력하는 SQL 문을 작성하세요.

더보기
SELECT salary, 
       CASE 
           WHEN salary <= 50000 THEN 'Low'
           WHEN salary > 50000 AND salary <= 100000 THEN 'Medium'
           ELSE 'High'
       END AS salary_grade 
FROM employees;

부서명을 축약형으로 변환
부서명이 'Human Resources'인 경우 'HR', 'Information Technology'인 경우 'IT', 그 외는 'Others'로 출력하는 SQL 문을 작성하세요.

더보기
SELECT department, 
       CASE 
           WHEN department = 'Human Resources' THEN 'HR'
           WHEN department = 'Information Technology' THEN 'IT'
           ELSE 'Others'
       END AS short_dept 
FROM employees;

입사 연도에 따라 직원 분류
입사 연도가 2020년 이전이면 'Old', 이후면 'Recent'로 표시하는 SQL 문을 작성하세요.

더보기
SELECT hire_date, 
       CASE 
           WHEN YEAR(hire_date) < 2020 THEN 'Old'
           ELSE 'Recent'
       END AS hire_category 
FROM employees;

이름 길이에 따른 분류
이름 길이가 5 이하이면 'Short', 6~10이면 'Medium', 11 이상이면 'Long'으로 표시하는 SQL 문을 작성하세요.

더보기
SELECT first_name, 
       CASE 
           WHEN CHAR_LENGTH(first_name) <= 5 THEN 'Short'
           WHEN CHAR_LENGTH(first_name) BETWEEN 6 AND 10 THEN 'Medium'
           ELSE 'Long'
       END AS name_length_category 
FROM employees;

이메일 도메인에 따른 분류
도메인이 example.com이면 'Internal', 그 외는 'External'로 표시하는 SQL 문을 작성하세요.

더보기
SELECT email, 
       CASE 
           WHEN email LIKE '%@example.com' THEN 'Internal'
           ELSE 'External'
       END AS email_type 
FROM employees;

2024.12.01 - [데이터베이스/MySQL 키워드] - SQL CASE 문 마스터하기 : 강력한 조건부 표현식

SQL CASE 문 마스터하기 : 강력한 조건부 표현식

SQL CASE: 조건부 로직의 마법사  안녕하세요, SQL 학습자 여러분! 오늘은 SQL의 강력한 기능 중 하나인 CASE 문에 대해 알아보겠습니다.   CASE 문은 조  건부 로직을 SQL 쿼리 내에서 구현할 수 있게

boohoday.com

 
LIMIT 예습 문제

상위 10명 직원 출력
직원 데이터를 상위 10명만 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
LIMIT 10;

상위 5명의 높은 급여 직원 출력
급여를 기준으로 내림차순 정렬 후 상위 5명을 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
ORDER BY salary DESC 
LIMIT 5;

5번째에서 10번째 직원 출력
직원 데이터를 5번째부터 10번째까지 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
LIMIT 5, 5;

최근 입사한 직원 3명 출력
입사일(hire_date)을 기준으로 가장 최근에 입사한 직원 3명을 출력하는 SQL 문을 작성하세요.

더보기
SELECT * FROM employees 
ORDER BY hire_date DESC 
LIMIT 3;

부서별 상위 2명 직원 출력
부서별로 급여가 높은 상위 2명씩 출력하는 SQL 문을 작성하세요. (MySQL 8.0+ 기준)

더보기
SELECT * 
FROM ( 
    SELECT *, ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rn 
    FROM employees
) ranked 
WHERE rn <= 2;

2024.12.01 - [데이터베이스/MySQL 키워드] - SQL LIMIT : 효율적인 데이터 검색의 열쇠

SQL LIMIT : 효율적인 데이터 검색의 열쇠

SQL LIMIT: 데이터의 양을 조절하는 마법 키워드  SQL에서 아주 유용하게 사용되는 LIMIT 키워드에 대해 알아보겠습니다.   LIMIT는 쿼리 결과의 행 수를 제한하는 간단하면서도 강력한 도구입니다. L

boohoday.com

 

DISTINCT 예습 문제

고유한 부서명 출력
employees 테이블에서 중복되지 않은 고유한 부서명을 출력하는 SQL 문을 작성하세요.

더보기
SELECT DISTINCT department 
FROM employees;

고유한 이메일 도메인 추출
직원들의 email에서 고유한 이메일 도메인(예: example.com)을 추출하여 출력하는 SQL 문을 작성하세요.

더보기
SELECT DISTINCT SUBSTRING(email, LOCATE('@', email) + 1) AS email_domain 
FROM employees;

급여 값이 고유한 직원 수
중복되지 않은 고유한 salary 값을 가진 직원들의 수를 출력하는 SQL 문을 작성하세요.

더보기
SELECT COUNT(DISTINCT salary) AS unique_salary_count 
FROM employees;

입사 연도별 고유한 연도 추출
직원들의 hire_date를 기준으로 중복되지 않은 입사 연도를 출력하는 SQL 문을 작성하세요.

더보기
SELECT DISTINCT YEAR(hire_date) AS hire_year 
FROM employees;

고유한 이름과 성 조합 추출
first_name과 last_name의 조합이 고유한 직원들의 정보를 출력하는 SQL 문을 작성하세요.

더보기
SELECT DISTINCT first_name, last_name 
FROM employees;

2024.12.01 - [데이터베이스/MySQL 키워드] - DISTINCT 키워드 마스터하기 : SQL에서 유니크한 값만 추출하기

DISTINCT 키워드 마스터하기 : SQL에서 유니크한 값만 추출하기

SQL DISTINCT : 중복 제거의 마법  SQL에서 매우 유용한 키워드인 DISTINCT에 대해 알아보겠습니다.   DISTINCT는 결과 집합에서 중복된 행을 제거하는 간단하면서도 강력한 도구입니다. DISTINCT란 무엇인

boohoday.com

 

728x90