데이터 조회
하나 이상의 테이블에서 여러 Row(데이터)를 가져온다.SELECT [COLUMN], [COLUMN], […] FROM [TABLE]
SELECT *
-> * 는 모두다 가져오라는 뜻
주요 함수 및 문법
- TO_CHAR(DATE 타입의 날짜 값 혹은 컬럼, ‘날짜 포멧‘)
날짜타입의 데이터를 문자로 변경한다.- TO_DATE(문자열타입의 날짜 값 혹은 컬럼, ‘날짜 포멧‘)
문자 타입의 날짜 데이터를 날짜 타입으로 변경한다.- LPAD(숫자 타입의 값 또는 컬럼, 채울 자리수, 빈 공간에 채울 문자)
숫자 왼쪽 공간에 문자를 채운다.
LPAD(1, 6, ‘0’) => 000001- NVL(NULL일 가능성이 있는 컬럼, 기본값)
값 또는 컬럼이 NULL이라면 기본값으로 표현한다.- CASE WHEN ELSE END
Java의 if 와 유사
데이터 정렬
SELECT [COLUMN], [COLUMN], […] FROM [TABLE] ORDER BY [COLUMN] [ORDER TYPE] -> 여기서 [COLUMN]은 기준이 되는 [COLUMN]으로
- 정렬 방식에는 ASC, DESC 가 존재한다.
ASC 혹은 생략 : 오름차순
DESC : 내림차순- ORDER BY 는 CPU를 많이 사용
-- EMPLOYEES 테이블에서 모든 칼럼들의 모든 데이터를 조회.
SELECT *
FROM EMPLOYEES
;
-- EMPLOYEES 테이블에서 EMPLOYEE_ID의 모든 데이터를 조회.
SELECT EMPLOYEE_ID
FROM EMPLOYEES
;
-- EMPLOYEES 테이블에서 EMPLOYEE_ID, FIRST_NAME의 모든 데이터를 조회.
SELECT EMPLOYEE_ID
, FIRST_NAME
FROM EMPLOYEES
;
/*
* ASC 혹은 생략: 오름차순
* DESC: 내림차순
*/
-- EMPLOYEES 테이블에서 모든 데이터를 LAST_NAME을 기준으로 내림차순 조회 (ORDER BY)
SELECT *
FROM EMPLOYEES
ORDER BY LAST_NAME DESC
;
-- EMPLOYEES 테이블에서 LAST_NAME으로 내림차순 정렬을 하고 FIRST_NAME으로 오름차순 정렬을 해서 모든 데이터를 조회.
SELECT *
FROM EMPLOYEES
ORDER BY LAST_NAME DESC
, FIRST_NAME ASC
;
-- EMPLOYEES 테이블에서 SALARY(연봉)로 오름차순 정렬을 하고 FIRST_NAME으로 내림차순 한 뒤 HIRE_DATE(입사일)로 오름차순 정렬하여
-- 모든 데이터를 조회.
SELECT *
FROM EMPLOYEES
-- ORDER BY SELECT 문장의 가장 마지막에 위치해야한다.
ORDER BY SALARY ASC
, FIRST_NAME DESC
, HIRE_DATE ASC
;
-- ORDER BY 명령은 CPU를 매우 많이 사용하는 키워드.