DBMS

[DBMS_05] WHERE ( 조건절)

korany 2023. 3. 6. 10:47

 

WHERE(조건절) : 특정한 조건에 맞는 내용을 검색하는 명령어

--사원테이블에서 성이 Smith인 사원의 정보를 
사번, 이름, 급여 순으로 출력

SELECT employee_id, last_name, salary
FROM employees 
WHERE last_name ='Smith';


-- 사원테이블에서 이름이 'Michael'인 사원의 정보를

사번, 이름, 입사일 순으로 출력

SELECT employee_id, first_name, hire_date
FROM employees
WHERE first_name = 'Michael';


-- 사원테이블에서 급여가 5000이상인 사원들을

사번, 이름, 급여 순으로 출력

SELECT employee_id, first_name, salary
FROM employees
WHERE salary >= 5000;


-- 사번이 151번 이상인 사람의 사번, 이름, 입사일을 출력

SELECT employee_id, first_name, hire_date
FROM employees
WHERE employee_id >= 151;


-- 입사일이 2006년 1월 1일 이후에 입사한 사람들의

사번, 이름, 입사일 출력

SELECT employee_id, first_name, hire_date
FROM employees
WHERE hire_date > '01/01/2006';


-- 직종이 'SA_REP' 인 사람들의 모든 정보를 출력

SELECT * FROM employees
WHERE job_id = 'SA_REP';


 

--이름의 첫글자가 알파벳 순으로  V이후인 사원들의 사번, 이름 출력

알파벳도 > / < 를 이용하여 수 크기 비교 가능 (>과 >=의 결과가 동일함)

SELECT employee_id, first_name
FROM employees
WHERE first_name > 'V';


 null 체크

-- 사원테이블에서 보너스를 받고있지 않은 사원들의 정보를

사번,이름, 보너스 순으로 출력

 

DB에서는 null체크를 할 땐 = 를 사용하지 못함

SELECT employee_id, first_name,commission_pct
FROM employees
WHERE commission_pct = null;

=를 사용했을 때 결과


-- is null 사용했을때 정확한 결과가 나옴!

SELECT employee_id, first_name,commission_pct
FROM employees
WHERE commission_pct is null;

 

-- 보너스를 받는 사람을 찾을 땐 ? 

-- is not null 사용!

SELECT employee_id, first_name,commission_pct
FROM employees
WHERE commission_pct is not null;