employees 테이블에서 department_id가 100이고
-- job_id가 FI_MGR인 사람의 모든 데이터 조회
SELECT *
FROM EMPLOYEES e
WHERE JOB_ID = 'FI_MGR'
AND DEPARTMENT_ID = 100
;
JOB_ID의 정보를 기입할 때 홑따옴표 붙이는 사실을 잊으면 안된다.
두 개의 조건이 주어졌을 때 AND를 이용해 두 조건을 맞춰준다.
employees 테이블에서 first_name이 Guy인 사람의 employee_id, first_name,
-- last_name, job_id 조회
SELECT employee_id, first_name, last_name, job_id
FROM EMPLOYEES e
WHERE FIRST_NAME = 'Guy';
우선 SELECT문에서는 mployee_id, first_name,
last_name, job_id 를 기입해주고 조건으로 'Guy'가 first_name인 사람을 지정하기 위해 WHERE를 이용
employees 테이블에서 department_id가 50이고 managet_id가 121인 사람의
-- employee_id, first_name, last_name, job_id 조회
SELECT employee_id, first_name, last_name, job_id
FROM EMPLOYEES e
WHERE DEPARTMENT_ID = 50 AND MANAGER_ID =121;
--별칭,알리아스
SELECT E.EMPLOYEE_ID AS "ID" ,SALARY "SAL"
FROM EMPLOYEES e --테이블이름엔 AS못붙인다
;
알리아스는 별명이라는 뜻인데, SALARY의 이름이 길기 때문에 SAL로 바꿔 쓸 수 있게 하기 위해 알리아스를 사용하였다. 기본 풀이 자체는 전의 예시와 다르지 않다.
부서가 50번 이면서 매니저번호가 100번인 사람
SELECT FIRST_NAME ,LAST_NAME ,MANAGER_ID , DEPARTMENT_ID
FROM EMPLOYEES e
WHERE DEPARTMENT_ID =50
OR MANAGER_ID = 100
;
급여가 4000~8000인사람
SELECT *
FROM EMPLOYEES e
WHERE SALARY BETWEEN 4000AND 8000
;
4000~8000까지를 포함하는 범위이기 때문에 BEWTEEN을 써주자. 만일 4000이나 8000만 구하라고 했으면 IN을 이용할 수 있다.
employees 테이블에서 employee_id, first_name, last_anem, job_id를 출력하는데,
job_id가 ST_MAN이고, manager_id가 100이고, salary가 5000이상인 사람.
SELECT employee_id, first_name, last_NAME, job_id
FROM EMPLOYEES e
WHERE JOB_ID = 'ST_MAN' AND MANAGER_ID = 100 AND SALARY >= 5000
;
EMPLOYEES 테이블에서 EMPLOYEE_ID, first_name, last_name, JOB_ID
MANAGER_ID, SALARY 를 조회
DEPARTMENT_ID가 10 또는 30 또는 100 또는 90에 속하고,
급여(SALARY)가 5000에서 10000사이 이고
매니저(MANAGER_ID)가 100이 아닌 사람을 조회
SELECT EMPLOYEE_ID, first_name, last_name, JOB_ID MANAGER_ID, SALARY
FROM EMPLOYEES e
WHERE DEPARTMENT_ID IN(10,30,90,100)
AND SALARY BETWEEN 5000 AND 10000
AND (MANAGER_ID != 100);
이 예시가 IN과 BETWEEN의 차이를 명백히 보여준다. 100이 아닌 사람은 (!=)를 자바 때와 비슷하게 이용해주면 쿼리를 작성하기 수월해진다.