-- : SQL 주석처리
--EMPLOYEES table
NUMBER(6, 0) NUMBER(6) : 전체자리 6자리 소숫점 이하 0자리 = 정수
SALARY NUMBER(8,2) : 전체자리 8자리 중 소숫점 이하 2자리
999,999.99 salary로 표현할 수 있는 최대값
FIRST_NAME VARCHAR2(20 BYTE) : 최대 20자리까지 가능
--부서번호가 30번, 50번인 사원의 사번, 이름, 부서번호를 출력하시오
SELECT employee_id, first_name, department_id
FROM employees
WHERE department_id = 30 or department_id = 50;
--부서번호가 30번, 50번인 사원 중 급여가 5000이상 20000이하인
사원의 사번, 이름, 급여, 부서번호를 출력하시오
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id = 30 or department_id = 50
AND salary >= 5000 AND salary <= 20000;
--이렇게 하면 department_id = 30 모두 나옴
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE (department_id = 30 or department_id = 50)
AND (salary >= 5000 AND salary <= 20000);
--BETWEEN 연산자: AND 연산 축약가능
--급여가 5000이상 20000이하인 사원의 사번, 이름, 급여를 출력하시오
SELECT employee_id, first_name, salary
FROM employees
WHERE salary BETWEEN 5000 AND 20000;
--IN연산자:OR연산축약가능
--부서번호가 30번, 50번인 사원의 사번, 이름, 부서번호를 출력하시오
SELECT employee_id, first_name, department_id
FROM employees
WHERE department_id IN (30,50);
--BETWEEN과 IN 연산
--부서번호가 30번, 50번인 사원 중
급여가 5000이상 20000이하인 사원의 사번, 이름, 급여, 부서번호를 출력하시오--6건
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id IN (30,50)
AND salary BETWEEN 5000 AND 20000;
--LIKE 연산자, : 패턴종류 - %, _ 글자 하나, 처리속도 떨어져서 권장하지 않음
--입사년도가 03년도인 사원들을 출력하시오
SELECT *
FROM employees
--WHERE hire_date BETWEEN '03/01/01' AND '03/12/31'; 2003년 입사자들
WHERE hire_date LIKE '03%';
--03으로 시작하면서 뒤에 몇개의 문자가 와도 상관없다
--% 0개 이상의 모든 문자
--직무명이 Manager로 끝나는 직무들을 출력하시오
SELECT *
FROM jobs
WHERE job_title LIKE '%Manager';
--사원명의 두번째글자가 'e'인 사원들을 출력하시오
SELECT *
FROM employees
WHERE first_name LIKE '_e%';
'데이터베이스 > Oracle' 카테고리의 다른 글
내장함수(단일행 함수) (1) | 2023.08.21 |
---|---|
방화벽 오라클만 풀기 (0) | 2023.08.21 |
SQL Developer 시작하기 (0) | 2023.08.21 |
SQL (0) | 2023.08.21 |
객체의 종류, 스키마, 모델링, 엔티티 (0) | 2023.08.20 |