SQL 문장 – SELECT 문
select 칼럼
from 테이블명
where 조건
order by 정렬순서 asc/desc
SQL 문장 – SELECT 문 예제
employees 테이블에 있는 모든 정보를 조회
SELECT *
FROM employees;
모든 테이블의 정보 조회
select * from tab;
월급 5000이상인 직원번호, 직원이름, 월급, 월급(10%인상) 조회
SELECT employee_id,
firts_name, salary,
salary * 1.1
FROM employees
WHERE salary >= 5000;
부서번호가 90인 직원명단 조회
SELECT employee_id AS 직원번호,
first_name || ' ' || last_name 직원이름,
phone_number 전화번호,
department_id 부서번호,
salary 월급
FROM employees
WHERE department_id = 90;
부서번호가 80인 직원의 월급 내림차순 조회
SELECT
department_id 부서번호,
last_name 이름,
salary 월급
FROM
employees
WHERE
department_id = 80
ORDER BY
salary DESC;
상사번호manager_id가 100번인 직원정보 출력
select employee_id,
first_name || ' ' || last_name,
manager_id
from employees
where manager_id = 100;
월급이 5000~7000인 직원의 정보 출력, 월급이 동일하면 오름차순 정렬
select employee_id, salary
from employees
-- where 5000 <= salary and salary <= 7000
where salary between 5000 and 7000
order by salary desc, employee_id asc;
60번 부서의 직월을 월급순으로 내림차순 출력, 동일한 월급은 번호순으로 오름차순 정렬
select employee_id, salary
from employees
where department_id = 60
order by salary desc, employee_id asc;
전화번호가 011로 시작하는 사원 정보를 출력
select employee_id, first_name, phone_number
from employees
where phone_number like '011%';
부서번호가 50,60,90번 직원을 출력
방법1.
select employee_id, first_name, department_id
from employees
where department_id = 50 or department_id = 60 or department_id = 90;
방법2.
select employee_id, department_id
from employees
where department_id in(50,60,90);
방법3.
select employee_id, department_id
from employees
where department_id = 50
union
select employee_id, department_id
from employees
where department_id = 60
union
select employee_id, department_id
from employees
where department_id = 90;
이름이 grant인 직원을 출력
select employee_id, first_name || ' ' || last_name
from employees
where upper(last_name) = 'GRANT';
select 'Grant',upper('Grant'),lower('Grant'),initcap('Grant')
from dual;
IT부서의 직원의 이름 출력
1단계. ‘IT’ 부서의 부서번호를 검색한다.(department_id)
select department_id
from employees
where upper(department_name) = 'IT';
2단계. 해당부서(60)의 직원이름을 출력한다.
select department_id,
first_name, last_name
from employees
where department_id = 60;
3단계. 1+2 : subquery – ()안에 표시한다.
select department_id,
first_name, last_name
from employees
where department_id = (
select department_id
from departments
where upper(department_name) = 'IT'
);
입사일이 02/06/07인 직원찾기
select employee_id, hire_date
from employees
where hire_date = '02/06/07';
oracle 날짜 기본 표기법 02월 6월 7일 -> 02/06/07
입사일 오늘인 사람
select employee_id, first_name, hire_date
from employees
--where hire_date = '21/06/23';
where hire_date between'2021-06-23 00:00:00' and '2021-06-23 07:05:11';
날짜 표기법 임시로 변경하는 방법
alter session set nls_date_format=’YYYY-MM-DD HH24:MI:SS’;
전화번호중 지역번호가 590인 사람의 이름, 부서번호
select first_name, phone_number,
employees.department_id 부서번호
from employees
where phone_number like '590%';
전화번호가 4567로 끝나는 직원이름, 부서번호, 전화번호
select first_name || ' ' || last_name name, department_id, phone_number
from employees
where phone_number like '%4567';
전화번호가 23이 포함된 직원이름, 부서번호, 전화번호
select first_name || ' ' || last_name name, department_id, phone_number
from employees
where phone_number like '%23%';
전화번호가 6번째와 7번째 자리가 23인 직원이름, 부서번호, 전화번호
select first_name || ' ' || last_name name, department_id, phone_number
from employees
where phone_number like '_____23%';