SQL
관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어
원하는 데이터를 찾는 방법이나 절차를 기술하는 것이 아닌 조건을 기술하여 작성
분류 | 용도 | 명령어 |
DQL | 데이터 검색 | SELECT |
DML | 데이터 조작 | INSERT, UPDATE, DELETE |
DDL | 데이터 정의 | CREATE, DROP, ALTER |
TCL | 트랜젝션제어 | COMMIT, ROLLBACK |
주요 데이터 타입
데이터 타입 | 하위 데이터 타입 | 설명 |
NUMBER | 숫자 | |
CHARACTER | CHAR | 고정길이 문자(최대 2000바이트) |
VARCHAR2 | 가변길이 문자 (최대 4000바트) | |
LONG | 가변길이 문자(최대 2기가 바이트) | |
DATE | 날짜 | |
LOB | CLOB | 가변길이 문자(최대 4기가 바이트) |
BLOB | Binary Data |
SELECT
데이터를 조회한 결과를 Result Set이라고 하는데 SELECT구문에 의해 반환된 행들의 집함을 의미한다.
한 테이블의 특정 컬럼, 특정 행, 특정 행/컬럼 또는 여러 테이블의 특정 행/컬럼 조회 가능
EMPLOYEE 테이블 전체 데이터
SELECT문 작성 방법
SELECT [컬럼명]
FROM [테이블명]
WHERE [컬럼명] -- 조건
ORDER BY[컬럼명]; -- 정렬
SELECT(조회)
테이블 전체 조회
-- 테이블 전부 조회하는 기능
SELECT
* /* *<< 전체를 의미함 */
FROM EMPLOYEE;
출력
테이블 전체 조회
-- 테이블에서 사원번호, 사원이름, 이메일, 입사일 조회하기
SELECT
EMP_ID
, EMP_NAME
, EMAIL
, HIRE_DATE
FROM EMPLOYEE;
출력
SELECT 산술식
컬럼값을 산술하여 조회가능함
직원의 직원명, 연봉 조회(연봉은 급여 * 12) 조회하기
-- EMPLOYEE 테이블에서 직원의 직원명, 연봉 조회(연봉은 급여 * 12)
SELECT
EMP_NAME
, SALARY * 12
FROM EMPLOYEE;
테이블에서 직원의 직원명, 연봉, 보너스를 추가한 연봉 조회
-- EMPLOYEE 테이블에서 직원의 직원명, 연봉, 보너스를 추가한 연봉 조회
SELECT
EMP_NAME
, SALARY * 12
, (SALARY * (BONUS + 1) * 12)
FROM EMPLOYEE;
컬럼 별칭
AS 별칭 이나 "별칭" 또는 'AS "별칭"'을 기술하여 컬럼 별칭을 지을 수 있음
* 숫자 혹은 특수문자가 포함되는 경우에 " " 사용한다
* AS 생략 가능(공백으로 구분)
컬럼 별칭 사용하거나 안하거나 데이터조회
-- 별칭 사용안했을시
SELECT
EMP_NAME
, HIRE_DATE
FROM EMPLOYEE;
-- 별칭 사용 했을시
SELECT
EMP_NAME AS "사원이름"
, HIRE_DATE AS "입사일"
FROM EMPLOYEE;
리터럴
임의로 지정한 문자열을 SELECT 절에 사용하면 존재하는 데이터처럼 사용 가능
문자나 날짜 리터럴은 ' ' 기호 사용
리터럴은 Result Set의 모든 행에 반복 표시 됨
SELECT
EMP_NAME
, SALARY
, '원' AS "단위"
FROM EMPLOYEE;
다음장은 조건절에대해서 알아봄
'프로그래밍 > Database(Oracle)' 카테고리의 다른 글
Oracle - CREATE(생성, 제약조건), INSERT (0) | 2021.07.03 |
---|---|
Oracle- JOIN (0) | 2021.06.29 |
오라클 - GROUP & HAVING (0) | 2021.06.29 |
오라클 - 함수(Function) (0) | 2021.06.28 |
Oracle - WHERE(조건) (0) | 2021.06.26 |