mingming

Oracle - SQL Query 본문

새싹 하이브리드 클라우드/Database

Oracle - SQL Query

mingming_96 2023. 10. 5. 00:42

SQL 문 작성 방법

- SQL 문은 대소문자를 구분하지 않습니다. 

- SQL 문은 한 줄 또는 여러줄에 입력 할 수 있습니다.  

- 키워드는 약어로 표기하거나 여러 줄에 걸쳐 입력 할 수 있습니다. 

- 절은 대개 별도의 줄에 입력합니다.

- 가독성을 높이기 위해 들여쓰기를 사용합니다.

- SQL Developer 에서 SQL 문은 선택적으로 세미콜론(;) 으로 끝날 수 있습니다. 

- SQL Plus 에서는 각 SQL 문이 반드시 세미콜론(;)으로 끝나야 합니다. 

 

SELCT 문

 

 산술 연산자

SELECT last_name, salary, 12*salary+100
FROM employees;

SELECT last_name, salary, 12*(salary+100)
FROM employees;

 

null 값 정의 

null은 사용할 수 없거나, 할당되지 않았거나, 알 수 없거나, 적용할 수 없는 값.

null 은 0 이나 공백과는 다르다.

SELCT last_name, job_id, salary, commission_pct
FROM employees;

 

column alias ( 열 이름 바꾸기 )

SELECT last_name AS name, commission_pct as comm FROM employee;

SELECT last_name "name", commission_pct "comm" FROM employees;

 

연결 연산자

SELECT last_name||job_id AS "employees" FROM employees;

SELECT last_name || 'is a' || job_id AS "employees; FROM employees;

 

대체 인용(q) 연산자

SELECT department_name || q'[Department's Manager ID:]' || manager_id AS TEXT FROM departments;

 

중복행 제거

SELECT distinct location_id FROM departments;

 

테이블 구조 표시

DESC departments;

이름              널?       유형           
--------------- -------- ------------ 
DEPARTMENT_ID   NOT NULL NUMBER(4)    
DEPARTMENT_NAME NOT NULL VARCHAR2(30) 
MANAGER_ID               NUMBER(6)    
LOCATION_ID              NUMBER(4)

 

데이터 제한 및 정렬

 

WHERE 절

-  열 이름 

-  비교 조건

-  열 이름, 상수 또는 값 리스트 

SELECT * FROM table WHERE 조건절;

SELECT employee_id, last_name, job_id, department_id FROM employees WHERE department_id = 90;

 

문자열 및 날짜

-  문자열 및 날짜 값은 작은 따옴표로 묶습니다.

-  문자 값은 대소문자를 구분하고 날짜 값은 형식을 구분합니다.

-  기본 날짜 형식은 DD-MON-RR 입니다. 

SELECT last_name, job_id department_id
FROM employees
WHERE last_name = 'Abel';

SELECT last_name
FROM employees
WHERE hire_date = '07/06/21'

 

비교 연산자

연산자 설명
BETWEEN... AND... 두 값 사이(경계값 포함)
IN(set) 값 리스트 중 일치하는 값 검색
LIKE 일치하는 문자 패턴 검색
IS NULL  null 값인지 여부
SELECT last_name, job_id, department_id, salary 
FROM employees
WHERE salary > 12000

SELECT last_name, job_id, department_id, salary 
FROM employees
WHERE last_name = 'Smith';

 

BETWEEN 연산자

SELECT last_name, job_id, department_id, salary 
FROM employees 
WHERE salary BETWEEN 2500 AND 3500;

 

IN 연산자

SELECT employee_id, last_name, salary, manager_id
FROM employees
WHERE manager_id IN (100,101,102);

'새싹 하이브리드 클라우드 > Database' 카테고리의 다른 글

Oracle - SQL (DDL)  (3) 2023.10.07
Oracle - SQL (DML)  (0) 2023.10.07
Oracle - SQL Query (2)  (0) 2023.10.06
데이터 베이스 언어 SQL  (0) 2023.10.06
Database - Oracle  (1) 2023.10.04