(=, OR)의 성격을 내포하고 있음.
우변에 값리스트와 비교해서 하나 이상 동일하면 true를 반환하는 비교연산자.
select employee_id, last_name, salary, manager_id
from employees
where manager_id in (100,101,201);
-- (==)
select employee_id, last_name, salary, manager_id
from employees
where manager_id = 100 or manager_id = 101 or manager_id = 201;
select employee_id, last_name, job_id
from employees
where job_id in ('SA_REP','IT_PROG');
select last_name
from employees
where last_name like '_o%';
select employee_id, last_name, job_id
from employees
where job_id like '%rep';
select employee_id, last_name, salary, hire_date
from employees
where hire_date like '198%';
select employee_id, last_name, salary, hire_date
from employees
where hire_date like '%-09-%';
// where hire_date like '%09%';
( 9월에 입사한 사람을 찾고 싶은데 '%09%' 이렇게 적으면
1909-00-00/0000-09-00/0000-00-09 다 포함되서 나옴)
✍ 우리 회사 사장을 출력!
(= manager_id가 null인 사람)
select employee_id, last_name, manager_id
from employees
where manager_id is null;
✍ 수당을 받지 않는 사원 출력!
(= commission_pct가 null인 사람)
select employee_id, last_name, salary, commission_pct
from employees
where commission_pct is null;
select employee_id, last_name, job_id, salary
from employees
where salary >= 10000
and job_id like '%MAN%';
select employee_id, last_name, job_id, salary
from employees
where salary >=10000
or job_id like '%MAN%';
select employee_id, last_name, salary, job_id, department_id
from employees
where job_id = 'SA_REP'
or job_id = 'IT_PROG'
and salary >= 10000;
// 우선순위 괄호 사용
select employee_id, last_name, salary, job_id, department_id
from employees
where (job_id = 'SA_REP'
or job_id = 'IT_PROG')
and salary >= 10000;
-- (==)
select employee_id, last_name, salary, job_id, department_id
from employees
where job_id in ('SA_REP','IT_PROG')
and salary >= 10000;
-- = <--> <>, !=
-- >, >= <--> <, <=
-- between A and b <--> not between A and B : A미만 B초과
-- in => (=,or) <--> not in => (<>, and: 모두와 같지 않아야 함)
-- like <--> not like
-- is null <--> is not null
select employee_id, last_name, salary, department_id
from employees
where salary not between 5000 and 20000;
select employee_id, last_name, job_id
from employees
where job_id not in ('sa_rep','it_prog','st_man');
select employee_id, last_name, hire_date
from employees
where hire_date not like '19%';
select employee_id, last_name, manager_id
from employees
where manager_id is not null; -- 사장 빼고 106명 출력
✍ employees테이블로부터 커미션을 받는 사원들의 employee_id, last_name, commission_pct, salary를
출력하는 구문을 작성하시오.
select employee_id, last_name, commission_pct, salary
from employees
where commission_pct is not null;
[문법] select * | 컬럼명1, 컬럼명2, 컬럼명3
from 테이블명
[where 조건문]
[order by 컬럼명 | 표현식 | 컬럼alias | 위치표기법 [asc | desc]];
select employee_id, last_name, salary, department_id
from employees
order by salary desc;
select employee_id, last_name, salary, department_id
from employees
order by salary asc;
🔹 order by절에 위치표기법 사용
select employee_id, last_name, salary, job_id, department_id
from employees
where department_id < 80
order by 5 desc;
🔹 다중 컬럼을 기준으로 정렬하기
select employee_id, last_name, salary, job_id, department_id
from employees
order by department_id, salary desc;
select last_name, hire_date
from employees
where hire_date between '2000-01-01' and '2000-12-31';
-- (==)
select last_name, hire_date
from employees
where hire_date like '2000%';
select last_name, salary, commission_pct
from employees
where commission_pct is null
order by salary desc;
: 현재 DB에 존재하는 테이블을 기준으로 ERD를 그려주는 기능
[문법] select 컬럼명1, 컬럼명2, 컬럼명3
from 테이블1 join 테이블2
on 테이블1.컬럼명 = 테이블2.특정컬럼명 -- 조인조건문
Ex1) employees 테이블과 departments 테이블로부터 전체 사원들의
employee_id, last_name, salary, departments_id, departments_name을 함께 출력하시오.
desc employees;
desc departments;
select employee_id, last_name, salary, employees.department_id, department_name
from employees join departments
on employees.department_id = departments.department_id;