본문 바로가기
내일배움캠프_게임서버(202410)/퀘스트

걷기반 SQL - 1) 돈을 벌기 위해 일을 합시다!

by GREEN나무 2024. 10. 16.
728x90

 

https://teamsparta.notion.site/1-1102dc3ef514816ea75cfe372c63342d

 

1) 돈을 벌기 위해 일을 합시다! | Notion

실제 데이터 베이스를 연결하기 전, SQL 문법을 탄탄하게 다져봅시다.

teamsparta.notion.site

 

 

 

1. sparta_employees 테이블에서 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리를 작성해주세요.

SELECT name, position FROM sparta_employees;

 

2. sparta_employees 테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.

SELECT DISTINCT position FROM sparta_employees;

 

3. sparta_employees 테이블에서 연봉(salary)4000060000 사이인 직원들을 선택하는 쿼리를 작성해주세요.

SELECT * FROM sparta_employees WHERE salary BETWEEN 40000 AND 60000;

 

4. sparta_employees 테이블에서 입사일(hire_date)202311일 이전인 모든 직원들을 선택하는 쿼리를 작성해주세요.

SELECT * FROM sparta_employees WHERE hire_date < TO_DATE('2023-01-01', 'YYYY-MM-DD')

 


-풀이-

 

2

중복 제거(DISTINCT) 사용방법

SELECT DISTINCT 컬럼명 FROM 테이블명;

 

3

4000이상 6000이하의 급여를 선택하려면 BETWEEN을 사용해야 합니다.

salary BETWEEN 40000 AND 60000;

 

... salary > 40000 AND salary < 60000

이 쿼리는 연봉이 40,000 초과 그리고 60,000 미만인 직원들을 선택합니다.

, 40,00060,000은 포함되지 않으며, 40,001부터 59,999까지의 연봉을 가진 직원만 선택됩니다.

 

4

WHERE 절에서 날짜 조건 검색하는 방법

1) BETWEEN 연산자를 사용한 날짜 조회 방법

WHERE 칼럼 BETWEEN 시작일자 AND 종료일자

SELECT *
FROM sparta_employees
WHERE hiredate BETWEEN TO_DATE('2024-09-01', 'YYYY-MM-DD')
AND TO_DATE('2024-10-30', 'YYYY-MM-DD')


//2024-09-01부터 2024-10-30 사이에 입사한 직원을 선택합니다.

 

 

2) 부등호(=, >, <) 연산자를 사용하여 날짜 조회 방법

SELECT *
FROM sparta_employees
WHERE hiredate = TO_DATE('2024-09-01', 'YYYY-MM-DD')
//하루 날짜만 조회할 때는 이퀄(=) 연산자를 사용합니다.
SELECT *
FROM sparta_employees
WHERE hiredate >= TO_DATE('2024-09-01', 'YYYY-MM-DD')
AND hiredate <= TO_DATE('2024-10-30', 'YYYY-MM-DD')
// ‘WHERE 칼럼 BETWEEN 시작일자 AND 종료일자와 동일한 결과입니다.
SELECT *
FROM sparta_employees
WHERE hiredate >= TO_DATE('2024-09-01', 'YYYY-MM-DD')
AND hiredate < TO_DATE('2024-10-30', 'YYYY-MM-DD')
// 2024-09-01부터 2024-10-30 이전에 입사한 직원을 선택합니다.

 

3) 날짜 칼럼에 시간이 있을 경우 조회 방법 (0.99999)

SELECT *
FROM sparta_employees
WHERE editdate BETWEEN TO_DATE('2023-11-01', 'YYYY-MM-DD')
AND TO_DATE('2023-11-30', 'YYYY-MM-DD') + 0.99999

조회할 칼럼에 시간(‘2024-10-30 00:00:00’형식을 값으로 가지는 ‘editdate’)까지 포함되어 있다면 0.99999를 더해서 235959초까지 조회할 수 있습니다.

 

TO_DATE('2024-10-30', 'YYYY-MM-DD') 2024-10-30 00:00:00 와 동일합니다.

 

TO_DATE('2024-10-30', 'YYYY-MM-DD') + 0.99999은 

TO_DATE('2024-10-30 23:59:59', 'YYYY-MM-DD HH24:MI:SS')

와 동일합니다.