DBMS/개념

34_ DB 문제 풀이

seungwon-1 2025. 11. 17. 10:02

이번에는 PLAYER 테이블이랑 STADIUM 테이블을 기준으로 조건 검색하는 기본적인 WHERE 절 문제들을 하나씩 정리해봤다. 전반적으로 AND, OR 조건 조합과 BETWEEN 활용 연습이 되는 문제들이다.
하나씩 정리해보면 다음과 같다.

 

1. PLAYER 테이블에서 WEIGHT가 70 이상 80 이하인 선수 검색

 
SELECT *
FROM PLAYER
WHERE WEIGHT BETWEEN 70 AND 80;

BETWEEN은 양 끝값을 포함한다는 점만 기억해두면 편하다.

 

2. TEAM_ID가 'K03'이고 HEIGHT가 180 미만

SELECT *
FROM PLAYER
WHERE TEAM_ID = 'K03'
  AND HEIGHT < 180;

3. TEAM_ID가 'K06'이고 NICKNAME이 '제리'

SELECT *
FROM PLAYER
WHERE TEAM_ID = 'K06'
  AND NICKNAME = '제리';

 

4. HEIGHT 170 이상, WEIGHT 80 이상인 선수 이름 검색

SELECT PLAYER_NAME, HEIGHT, WEIGHT
FROM PLAYER
WHERE HEIGHT >= 170
  AND WEIGHT >= 80;

 

5. STADIUM 테이블에서 SEAT_COUNT가 30,000 초과 41,000 이하

SELECT *
FROM STADIUM
WHERE SEAT_COUNT > 30000
  AND SEAT_COUNT <= 41000;

 

6. TEAM_ID가 'K02' 또는 'K07'이고, POSITION이 'MF'인 선수

SELECT *
FROM PLAYER
WHERE (TEAM_ID IN ('K02', 'K07'))
  AND POSITION = 'MF';

OR 여러 개는 IN으로 묶으면 더 깔끔하다.

 

7. PLAYER 테이블에서 TEAM_ID가 'K01'인 선수 이름을 '이승원'으로 변경

UPDATE PLAYER
SET PLAYER_NAME = '이승원'
WHERE TEAM_ID = 'K01';

 

추가 문제

부서별로 직원들의 평균 급여 구하기

DEPARTMENTS_ID 기준으로 직원들의 평균 급여를 구하는 문제.
그룹 함수는 GROUP BY와 함께 써야 한다.

SELECT DEPARTMENT_ID,
       AVG(SALARY) AS AVG_SALARY
FROM EMPLOYEES
GROUP BY DEPARTMENT_ID
ORDER BY DEPARTMENT_ID;

'DBMS > 개념' 카테고리의 다른 글

34_ DB 실습 문제  (0) 2025.11.18
33_ DBeaver 단축키 정리  (0) 2025.11.14
32_ Oracle 백업과 복구의 이해  (0) 2025.11.12
31_ 데이터베이스 성능 튜닝 정리  (0) 2025.11.10
30_ 저장 프로시저(Stored Procedure)  (0) 2025.11.07