SELECT 구문
"*" 는 모든 필드를 출력할 수 있습니다.
SELECT * FROM TAB; -- 해당 스키마에 있는 테이블과 View 목록이 출력됩니다.
SELECT * FROM EMPLOYEES; -- EMPLOYEES 테이블의 모든 정보를 출력합니다.
DESC
DESC EMPLOYEES; -- EMPLOYEES 테이블의 속성을 출력합니다.
오름차순
SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES ORDER BY EMPLOYEE_ID ASC;
내림차순
SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES ORDER BY EMPLOYEE_ID DESC;
AS
별칭을 이용해 출력시 원하는 필드명으로 변경 할 수 있습니다.
SELECT EMPLOYEE_ID AS "직원코드", SALARY AS "급여" FROM EMPLOYEES;
SELECT EMPLOYEE_ID "직원코드", SALARY "급여" FROM EMPLOYEES;
DISTINCT
중복된 데이터를 제거 후 출력해줍니다.
SELECT DISTINCT JOB_ID FROM EMPLOYEES;
WHERE
검색 조건을 입력 할 수 있습니다.
SELECT EMPLOYEE_ID, LAST_NAME FROM EMPLOYEES WHERE LAST_NAME = 'Smith';
-- Last_Name이 Smith인 EMPLOYEE_ID, LAST_NAME 를 출력합니다.
SELECT EMPLOYEE_ID, SALARY FROM EMPLOYEES WHERE LAST_NAME = 'Smith';
-- Last_Name이 Smith인 EMPLOYEE_ID, SALARY 를 출력합니다.
SELECT EMPLOYEE_ID, FIRST_NAME, SALARY FROM EMPLOYEES WHERE LAST_NAME = 'Smith';
-- Last_Name이 Smith인 EMPLOYEE_ID, FIRST_NAME, LAST_NAME 를 출력합니다.
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES WHERE SALARY >= 5000;
-- 급여가 5000 이상인 사람들의 FIRST_NAME, LAST_NAME, SALARY 출력할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME, HIRE_DATE FROM EMPLOYEES WHERE HIRE_DATE >= '04/01/01';
-- 입사일이 04/01/01 이후 사람들의 FIRST_NAME, LAST_NAME, HIRE_DATE 를 출력합니다.
AND
WHERE A AND B - A와 B 모두 만족하는 조건을 출력 할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID
FROM EMPLOYEES WHERE DEPARTMENT_ID = 50 AND JOB_ID = 'SH_CLERK';
-- DEPARTMENT_ID 50 이며, JOB_ID 가 SH_CLERK 인 사람의 FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID를 출력합니다.
OR
WHERE A OR B - A나 B 둘 중 하나를 만족하면 출력 할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME, MANAGER_ID, DEPARTMENT_ID
FROM EMPLOYEES WHERE DEPARTMENT_ID = 50 OR MANAGER_ID = 100;
-- DEPARTMENT_ID 50 이거나, MANAGER_ID 가 100 인 사람의 FIRST_NAME, LAST_NAME, MANAGER_ID, DEPARTMENT_ID를 출력합니다.
BETWEEN
BETWEEN A AND B - A와 B 사이의 값을 출력할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES WHERE SALARY >= 4000 AND SALARY < 8000;
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES WHERE SALARY BETWEEN 4000 AND 8000;
IN
IN() - 괄호 안에 부합하는 목록을 출력할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES WHERE SALARY = 6500 OR SALARY = 7700 OR SALARY = 13000;
SELECT FIRST_NAME, LAST_NAME, SALARY FROM EMPLOYEES WHERE SALARY IN(6500,7700,13000);
LIKE
해당 단어가 속해 있는 목록을 출력할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIKE 'D%'; --대분자 D 로 시작하는 목록을 출력합니다.
SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIKE '%d'; -- 마지막 글자가 d인 목록을 출력합니다.
SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIKE '_a%'; -- 두번째 글자가 a인 목록을 출력합니다.
SELECT FIRST_NAME, LAST_NAME FROM EMPLOYEES WHERE FIRST_NAME LIKE '__a%'; -- 세번째 글자가 a인 목록을 출력합니다.
NULL
해당 필드가 NULL 인지 아닌지 확인 할 수 있습니다.
SELECT FIRST_NAME, LAST_NAME, COMMISSION_PCT FROM EMPLOYEES WHERE COMMISSION_PCT IS NULL;
SELECT FIRST_NAME, LAST_NAME, COMMISSION_PCT FROM EMPLOYEES WHERE COMMISSION_PCT IS NOT NULL;
NOT
조건에 맞지 않는다고 NOT을 선언합니다.
SELECT FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID FROM EMPLOYEES WHERE NOT(DEPARTMENT_ID = 50);
SELECT FIRST_NAME, LAST_NAME, JOB_ID, DEPARTMENT_ID FROM EMPLOYEES WHERE DEPARTMENT_ID <> 50;
'DataBase > Oracle' 카테고리의 다른 글
6. Oracle GroupBy, Having 절 (0) | 2020.03.25 |
---|---|
5. Oracle 날짜 함수 (0) | 2020.03.25 |
4. Oracle 문자열 함수 (0) | 2020.03.25 |
3. Oracle 집계함수, 숫자함수 (0) | 2020.03.25 |
1. Oracle 설치 및 개발 환경구축 (0) | 2020.03.11 |