-
LIKE , LIMIT, DISTINCT, CASE문키워드를 이용한 연습문제 각각 5개씩🐬 MySQL/MySQL 실습문제 2024. 12. 1. 22:18728x90
문제풀이용 데이터베이스 SQL파일 다운로드
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 문자열 검색의 핵심
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 문 마스터하기 : 강력한 조건부 표현식
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 : 효율적인 데이터 검색의 열쇠
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에서 유니크한 값만 추출하기
728x90'🐬 MySQL > MySQL 실습문제' 카테고리의 다른 글
스키마설계 실습 movie_1 (0) 2024.12.05 SQL JOIN 키워드를 이용한 연습문제 5개 (0) 2024.12.02 COUNT() 함수를 이용한 연습문제 10개 (0) 2024.12.01 REPLACE() 함수를 이용한 연습문제 10개 (0) 2024.12.01 CHAR_LENGTH() 함수를 이용한 연습문제 10개 (0) 2024.12.01