Database- 데이터베이스 (문제풀이 3일차)
📌 MySQL employees 테이블 실습 가이드
✅ 이 글에서는 employees 테이블을 생성하고, 데이터를 추가하고, 다양한 SQL 연산을 수행하는 방법을 단계별로 배웁니다.
✅ 각 SQL 명령어에 대한 설명과 예제를 포함하여 쉽게 따라할 수 있도록 구성했습니다! 🚀
🏢 1. employees 테이블 생성하기
먼저 직원 정보를 저장할 테이블을 생성합니다.
테이블의 구조는 다음과 같습니다.
id | INT (AUTO_INCREMENT) | 직원 고유 ID (자동 증가) |
name | VARCHAR(100) | 직원 이름 |
position | VARCHAR(100) | 직책 |
salary | DECIMAL(10,2) | 연봉 |
📌 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 코드 실행
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 코드 실행
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 이하인 직원 조회
SELECT name, salary FROM employees WHERE position = 'Frontend' AND salary <= 90000;
📌 결과 예시
은우 | 80000 |
지수 | 78000 |
✅ WHERE 절을 사용하여 특정 조건을 만족하는 데이터만 필터링합니다.
📈 5. 직원 연봉 인상하기
✅ (1) PM 직책을 가진 직원의 연봉을 10% 인상
UPDATE employees SET salary = salary * 1.10 WHERE position = 'PM';
📌 혜린의 연봉이 90000 → 99000으로 변경됩니다!
✅ UPDATE 문을 사용하여 특정 직책의 연봉을 10% 증가시킵니다.
✅ (2) Backend 직책을 가진 직원의 연봉을 5% 인상
UPDATE employees SET salary = salary * 1.05 WHERE position = 'Backend';
📌 가을과 하온의 연봉이 각각 5% 증가합니다.
❌ 6. 특정 직원 삭제하기
✅ 민혁 사원 데이터 삭제
DELETE FROM employees WHERE name = '민혁';
📌 결과: 민혁의 데이터가 employees 테이블에서 삭제됩니다.
✅ DELETE 문을 사용하면 특정 조건을 만족하는 데이터를 삭제할 수 있습니다.
📊 7. 직책별 평균 연봉 계산
모든 직책(position)을 기준으로 평균 연봉을 계산하려면 **GROUP BY**를 사용합니다.
📌 SQL 코드 실행
SELECT position, AVG(salary) AS average_salary FROM employees GROUP BY position;
📌 결과 예시
PM | 99000.00 |
Frontend | 78666.67 |
Backend | 107100.00 |
✅ GROUP BY를 사용하면 같은 직책의 직원들끼리 연봉의 평균값을 계산할 수 있습니다.
🚨 8. employees 테이블 삭제하기
모든 데이터를 삭제하고 테이블 자체를 제거하려면 다음 명령어를 실행합니다.
DROP TABLE employees;
✅ 이 명령어를 실행하면 테이블과 모든 데이터가 삭제되므로 주의하세요! 🛑
🎯 최종 정리
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 쿼리를 실습할 수 있습니다! 🚀