ORACLE

SQL 문장 – SELECT 문

oracle

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';

전화번호중 지역번호가 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%';

 

최신글