과제

Database- 데이터베이스 (문제풀이 3일차)

Chansman 2025. 3. 20. 20:51

 

📌 MySQL employees 테이블 실습 가이드

이 글에서는 employees 테이블을 생성하고, 데이터를 추가하고, 다양한 SQL 연산을 수행하는 방법을 단계별로 배웁니다.
각 SQL 명령어에 대한 설명과 예제를 포함하여 쉽게 따라할 수 있도록 구성했습니다! 🚀 

🏢 1. employees 테이블 생성하기

먼저 직원 정보를 저장할 테이블을 생성합니다.
테이블의 구조는 다음과 같습니다.

속성명데이터 타입설명
id INT (AUTO_INCREMENT) 직원 고유 ID (자동 증가)
name VARCHAR(100) 직원 이름
position VARCHAR(100) 직책
salary DECIMAL(10,2) 연봉

📌 SQL 코드 실행

sql
 
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100),
    position VARCHAR(100),
    salary DECIMAL(10, 2)
);

✅ **AUTO_INCREMENT**를 사용하여 직원 ID가 자동 증가하도록 설정합니다.
✅ **PRIMARY KEY**를 설정하여 각 직원의 id가 고유값이 되도록 만듭니다.


📝 2. 직원 데이터 추가하기

이제 몇 명의 직원 데이터를 employees 테이블에 추가해보겠습니다.

📌 SQL 코드 실행

sql
 
INSERT INTO employees (name, position, salary) VALUES ('혜린', 'PM', 90000);
INSERT INTO employees (name, position, salary) VALUES ('은우', 'Frontend', 80000);
INSERT INTO employees (name, position, salary) VALUES ('가을', 'Backend', 92000);
INSERT INTO employees (name, position, salary) VALUES ('지수', 'Frontend', 78000);
INSERT INTO employees (name, position, salary) VALUES ('민혁', 'Frontend', 96000);
INSERT INTO employees (name, position, salary) VALUES ('하온', 'Backend', 130000);

✅ 6명의 직원 데이터를 추가했습니다!


📊 3. 직원 목록 조회하기

모든 직원의 정보를 확인하려면 다음 쿼리를 실행합니다.

📌 SQL 코드 실행

sql
 
SELECT * FROM employees;

 

📌 결과 예시

 

1 혜린 PM 90000
2 은우 Frontend 80000
3 가을 Backend 92000
4 지수 Frontend 78000
5 민혁 Frontend 96000
6 하온 Backend 130000

✅ SELECT *를 사용하면 테이블의 모든 컬럼과 데이터를 조회할 수 있습니다.


🎯 4. 특정 조건에 맞는 직원 조회

(1) Frontend 직책 중 연봉이 90000 이하인 직원 조회

sql
 
SELECT name, salary FROM employees WHERE position = 'Frontend' AND salary <= 90000;

📌 결과 예시

namesalary
은우 80000
지수 78000

✅ WHERE 절을 사용하여 특정 조건을 만족하는 데이터만 필터링합니다.


📈 5. 직원 연봉 인상하기

(1) PM 직책을 가진 직원의 연봉을 10% 인상

sql
 
UPDATE employees SET salary = salary * 1.10 WHERE position = 'PM';

📌 혜린의 연봉이 90000 → 99000으로 변경됩니다!
✅ UPDATE 문을 사용하여 특정 직책의 연봉을 10% 증가시킵니다.


(2) Backend 직책을 가진 직원의 연봉을 5% 인상

sql
 
UPDATE employees SET salary = salary * 1.05 WHERE position = 'Backend';

📌 가을과 하온의 연봉이 각각 5% 증가합니다.


6. 특정 직원 삭제하기

민혁 사원 데이터 삭제

sql
 
DELETE FROM employees WHERE name = '민혁';

📌 결과: 민혁의 데이터가 employees 테이블에서 삭제됩니다.
✅ DELETE 문을 사용하면 특정 조건을 만족하는 데이터를 삭제할 수 있습니다.


📊 7. 직책별 평균 연봉 계산

모든 직책(position)을 기준으로 평균 연봉을 계산하려면 **GROUP BY**를 사용합니다.

📌 SQL 코드 실행

sql
 
SELECT position, AVG(salary) AS average_salary FROM employees GROUP BY position;

📌 결과 예시

positionaverage_salary
PM 99000.00
Frontend 78666.67
Backend 107100.00

✅ GROUP BY를 사용하면 같은 직책의 직원들끼리 연봉의 평균값을 계산할 수 있습니다.


🚨 8. employees 테이블 삭제하기

모든 데이터를 삭제하고 테이블 자체를 제거하려면 다음 명령어를 실행합니다.

sql
 
DROP TABLE employees;

✅ 이 명령어를 실행하면 테이블과 모든 데이터가 삭제되므로 주의하세요! 🛑


🎯 최종 정리

SQL 연산설명예제
CREATE TABLE 직원 테이블 생성 CREATE TABLE employees (...);
INSERT INTO 직원 데이터 추가 INSERT INTO employees (name, position, salary) VALUES (...);
SELECT * 모든 직원 조회 SELECT * FROM employees;
SELECT WHERE 특정 조건의 직원 조회 SELECT name, salary FROM employees WHERE position = 'Frontend' AND salary <= 90000;
UPDATE 연봉 인상 UPDATE employees SET salary = salary * 1.10 WHERE position = 'PM';
DELETE 특정 직원 삭제 DELETE FROM employees WHERE name = '민혁';
GROUP BY 직책별 평균 연봉 계산 SELECT position, AVG(salary) FROM employees GROUP BY position;
DROP TABLE 테이블 삭제 DROP TABLE employees;

💡 이제 employees 테이블을 활용하여 다양한 SQL 쿼리를 실습할 수 있습니다! 🚀