소개
이 프로젝트에서는 SQL 쿼리를 사용하여 데이터베이스 테이블에서 데이터를 필터링하고 검색하는 방법을 배우게 됩니다. SELECT, FROM, WHERE, 그리고 LIMIT 절과 다양한 비교 및 논리 연산자를 사용하여 personnel 데이터베이스의 emp 테이블에 저장된 직원 정보를 쿼리하는 연습을 할 것입니다.
👀 미리보기

🎯 과제
이 프로젝트에서 다음을 배우게 됩니다:
- 특정 직원의 직무 및 입사일 정보를 쿼리하는 방법
- 특정 부서를 제외한 모든 직원 정보를 쿼리하는 방법
- 급여 임계값을 기준으로 직원 정보를 쿼리하는 방법
- 특정 직함을 가진 직원 정보를 쿼리하고 결과를 제한하는 방법
🏆 성과
이 프로젝트를 완료하면 다음을 수행할 수 있습니다:
- SQL 쿼리를 사용하여 데이터베이스 테이블에서 데이터를 필터링하고 검색하는 방법을 이해합니다.
- 다양한 SQL 절과 연산자를 적용하여 데이터 쿼리를 개선합니다.
- 특정 데이터 검색 요구 사항을 충족하기 위해 효율적이고 효과적인 SQL 쿼리를 작성하는 능력을 보여줍니다.
MySQL 시작 및 데이터 가져오기
이 단계에서는 MySQL 서버를 시작하고 personnel 데이터베이스 데이터를 가져오는 방법을 배우게 됩니다.
MySQL 서버 시작:
sudo /etc/init.d/mysql startMySQL 터미널에 로그인:
mysql -urootpersonnel.sql데이터를 MySQL 데이터베이스로 가져오기:SOURCE ~/project/personnel.sql
이제 personnel 데이터베이스를 쿼리할 준비가 되었습니다.
직원 'SMITH'의 직무 및 입사일 쿼리
이 단계에서는 SELECT, FROM, 그리고 WHERE 절을 사용하여 emp 테이블에서 직원 'SMITH'의 직무 및 입사일 정보를 쿼리하는 방법을 배우게 됩니다.
- 선호하는 텍스트 편집기를 사용하여
/home/labex/project디렉토리에answer.sql이라는 새 파일을 만듭니다. - 다음 코드를
answer.sql파일에 추가합니다:
-- 직원 `SMITH` 의 직무 정보 (`job`) 및 입사일 (`hiredate`) 쿼리
SELECT job, hiredate FROM emp WHERE ename = 'SMITH';
answer.sql파일을 저장합니다.
부서 20 을 제외한 직원 정보 쿼리
이 단계에서는 != 연산자와 함께 SELECT, FROM, 그리고 WHERE 절을 사용하여 부서 번호 20 에 속하지 않는 모든 직원 정보를 쿼리하는 방법을 배우게 됩니다.
- 다음 코드를
answer.sql파일에 추가합니다:
-- 부서 번호 `deptno` 20 에 속하지 않는 모든 직원 정보 쿼리
SELECT * FROM emp WHERE deptno != 20;
answer.sql파일을 저장합니다.
급여 2000 이상인 직원 정보 쿼리
이 단계에서는 SELECT, FROM, 그리고 WHERE 절과 > 연산자를 사용하여 급여가 2000 이상인 모든 직원 정보를 쿼리하는 방법을 배우게 됩니다.
- 다음 코드를
answer.sql파일에 추가합니다:
-- 급여 (`sal`) 가 2000 이상인 모든 직원 정보 쿼리
SELECT * FROM emp WHERE sal > 2000;
answer.sql파일을 저장합니다.
판매 부서 직원 정보 쿼리 (제한)
이 단계에서는 SELECT, FROM, WHERE, 그리고 LIMIT 절을 사용하여 직업이 "sales"인 모든 직원의 정보를 쿼리하고 결과를 세 개로 제한하는 방법을 배우게 됩니다.
- 다음 코드를
answer.sql파일에 추가합니다:
-- 직업이 "sales"인 모든 직원의 정보를 쿼리하고 결과를 세 개로 제한
SELECT * FROM emp WHERE job = 'SALESMAN' LIMIT 3;
answer.sql파일을 저장합니다.
이제 프로젝트를 완료했습니다. MySQL 터미널에서 answer.sql 스크립트를 실행하여 결과를 확인할 수 있습니다:
SOURCE ~/project/answer.sql

요약
축하합니다! 이 프로젝트를 완료했습니다. LabEx 에서 더 많은 랩을 연습하여 기술을 향상시킬 수 있습니다.
