이번에는 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 |