- SELECT문
- INSERT문
- UPDATE문
- MARGE문
- DELET문
- COMMIT과 ROLLBACK, TRUNCATE
- 의사컬럼
- 연산자
- 표현식
- 조건식
1. SELECT문
: 가장 기본적인 SQL문
: 테이블이나 뷰에 있는 데이터 조회
: FROM절 - 어디에서 (WHERE) / SELECT절 - 어떤 데이터를 (WHAT)
SELECT * 혹은 컬럼
FROM [스키마.]테이블명 혹은 [스키마.]뷰명
WHERE 조건
ORDER BY 컬럼;
2. INSERT문
: 신규로 데이터를 입력할 때 사용
① 기본 형태
INSERT INTO [스키마.]테이블명 (컬럼1, 컬럼2, ...) VALUE (값1, 값2, ...);
② 컬럼명 기술 생략 형태
INSERT INTO [스키마.]테이블명 VALUE (값1, 값2, ...);
③ INSERT ~ SELECT 형태
INSERT INTO [스키마.]테이블명 (컬럼1, 컬럼2, ...) SELECT문;
3. UPDATE문
: 기존 데이터를 수정할 때 사용
UPDATE [스키마.]테이블명
SET 컬럼1 = 변경값1,
컬럼2 = 변경값2,
...
WHERE 조건;
4. MARGE문
:
MERGE INTO [스키마.]테이블명
USING (update나 insert 될 데이터 원천)
ON (update 될 조건)
WHEN MATCHED THEN
SET 컬럼1 = 값, 컬럼2 = 값2, ...
WHERE update 조건
DELECT WHERE update_delete 조건
WHEN NOT MATCHED THEN
INSERT (컬럼1, 컬럼2, ...) VALUES (값1, 값2, ...)
WHERE insert 조건;
5. DELET문
:
① 일반 구문
DELETE [FROM] [스키마.]테이블명
WHERE detete 조건;
② 특정 파티션만 삭제할 경우의 구문
DELETE [FROM] [스키마.]테이블명 PARTITION (파티션명)
WHERE delete 조건;
6. COMMIT과 ROLLBACK, TRUNCATE
① COMMIT
: 변경한 데이터를 데이터베이스에 마지막으로 반영하는 역할
COMMIT [WORK] [TO SAVEPOINT 세이브포인트명] ;
② ROLLBACK
: 변경한 데이터를 변경하기 이전 상태로 되돌리는 역할
ROLLBACK [WORK] [TO SAVEPOINT 세이브포인트명] ;
③ TRUNCATE
: 한 번 실행하면 데이터가 바로 삭제됨
: ROLLBACK을 실행해도 복귀되지 않음
: WHERE 조건을 붙일 수 없음 -> 테이블 전체 삭제
TRUNCATE TABLE [스키마명.]테이블명;
7. 의사컬럼
: 테이블의 컬럼처럼 동작하지만 실제로 테이블에 저장되지는 않는 컬럼
① 계층형 쿼리에서 사용 : CONNECT_BY_ISCYCLE, CONNECT_BY_ISLEAF, LEVEL
② 시퀀스에서 사용 : NEXTVAL, CURRVAL
③ 쿼리에서 반환되는 각 로우들에 대한 순서 값 : ROWNUM, ROWID
8. 연산자
① 수식 연산자 : + - * /
② 문자 연산자 : ||
③ 논리 연산자 : > < >= <= = <> != ^=
④ 집합 연산자 : UNION,M UNION ALL, INTERSECT, MINUS
⑤ 계층형 쿼리 연산자 : PRIOR, CONNECT_BY_ROOT
9. 표현식
: 한 개 이상의 값과 연사자, SQL 함수 등이 결합된 식
: 특정 조건에 따라 값을 변경해서 보이는 CASE 표현식 (CASE문)
CASE WHEN 조건1 THEN 값1
WHEN 조건2 THEN 값2
...
ELSE 기타 값
END
10. 조건식
: 한 개 이상의 표현식과 논리 연산자가 결합된 식
: TRUE, FALSE, UNKNOWN 세 가지 타입 반환
① 비교 조건식
: 논리 연산자나 ANY, SOME, ALL 키워드로 비교하는 조건식
- ANY : 조건 중 하나라도 일치하는 데이터 추출, OR 조건으로 변환 가능
- SOME : ANY와 동일하게 사용 됨
- ALL : 모든 조건을 동시에 만족해야 함, AND로 변환 가능
② 논리 조건식
: 조건절에서 AND, OR, NOT을 사용하는 조건식
- AND : 모든 조건을 만족해야 함
- OR : 여러 조건 중 하나만 만족해도 TRUE 반환
- NOT : 조건식 평가 결과가 거짓(FALSE)일 때 원하는 결과(TRUE)를 반환
③ NULL 조건식
: 특정 값이 NULL인지 여부를 체크하는 조건식
: 등호 연산자 (=. <>)를 사용하면 제대로 비교하지 못함
④ BETWEEN AND 조건식
: 범위에 해당하는 값을 찾을 때 사용
: 크거나 같고, 작거나 같은 값을 찾음 ( >=, <= 연산자로 변환 가능)
⑤ IN 조건식
: 조건절에 명시한 값이 포함된 건을 반환 (ANY와 비슷함)
⑥ EXISTS 조건식
: IN 과 비슷하지만 후행 조건절로 값으리 리스트가 아닌 서브 쿼리만 올 수 있음
⑦ LIKE 조건식
: 문자열의 패턴을 검색할 때 사용하는 조건식
: '%' 는 앞, 뒤, 중간 어디나 올 수 있음, 대소문자 구분
: '_' 는 나머지 글자 전체가 아닌 한 글자만 비교
SELECT 컬럼명
FROM [스키마.]테이블명
WHERE 컬럼명 LIKE '조건'
ORDER BY 컬럼명;
'Language > Oracle SQL' 카테고리의 다른 글
[SQL] 데이터베이스를 구성하는 객체와 DDL (0) | 2022.08.01 |
---|