-데이터베이스 개론 2판, SQL 자격검정 실전문제 학습 후 정리한 내용입니다-
데이터베이스 개론 2판
SQL 자격검정 실전문제
ORACLE에서는 DDL 문장 수행 후에 자동으로 COMMIT을 수행한다.
SQL server에서는 DDL 문장 수행 후 자동으로 COMMIT을 수행하지 않는다.
ORACLE에서는 DDL 문장의 수행은 내부적으로 트랜젝션을 종료 시킨다.
SQL server에서는 CREATE TABLE 문장도 TRANSACTION의 범주에 포함된다. 그래서 ROLLBACK 문장이 실행된다.
ROLLBACK
- 테이블 내 입력한 데이터나, 수정한 데이터, 삭제한 데이터에 대하여 COMMIT 이전에는 변경사항을 취소할 수 있다.
- 데이터 변경 사항이 취소되어 데이터의 이전 상태로 복구되며, 관련된 행에 대한 잠금이 풀리고 다른 사용자들이 데이터 변경을 할 수 있게 된다.
트랜젝션: 데이터베이스의 논리적 연산단위로서 밀접히 관련되어 분리될 수 없는 한 개 이상의 데이터베이스 조작
WHRER 또는 WHRER 절
- SQL을 사용해서 데이터베이스에서 데이터를 조회할 때 원하는 데이터만을 검색하기 위해서 SELECT, FROM 절과 함께 이용하여 조회되는 데이터의 조건을 설정하여 데이터를 제한할 수 있다.
연산자 우선순위
1. 괄호로 묶은 연산
2. 부정 연산자(NOT)
3. 비교 연산자와 SQL 비교 연산자
4. 논리 연산자 중 AND, OR 순으로
NULL의 연산
- NULL 값과의 (+,-,*,/등)은 NULL 값을 리턴
- NULL 값과의 비교연산은 거짓(FALSE)을 리턴
- 특정 값보다 크다, 적다고 표현할 수 없다.
널이 아닌 경우 찾는 문장
- SELECT * FROM MYTABLE WHERE COLUMN1 IS NOT NULL
공백문자 입력할 때 IS NULL, IS NOT NULL 이라는 키워드 사용해야 한다.
연산자 종류
구분 | 연산자 | 연산자의 의미 |
비교 연산자 | = | 같다. |
> | 보다 크다. | |
>= | 보다 크거나 같다. | |
< | 보다 작다. | |
<= | 보다 작거나 같다. | |
SQL 연산자 | BETWEEN a AND b | a와 b의 값 사이에 있으면된다.(a와 b 값이 포함됨) |
IN (list) | 리스트에 있는 값 중에서 어느 하나라도 일치하면 된다. | |
LIKE ‘비교문자열’ | 비교문자열과 형태가 일치하면 된다.(%, _ 사용) | |
IS NULL | NULL 값인 경우 | |
논리 연산자 | AND | 앞에 있는 조건과 뒤에 오는 조건이 참이 되면 결과도 참이 된다. |
OR | 앞의 조건이 참이거나 뒤의 조건이 참이 되어야 결과도 참이 된다. | |
NOT | 뒤에 오는 조건에 반대되는 결과를 되돌려 준다. | |
부정 비교 연산자 | != | 같지 않다. |
^= | 같지 않다. | |
<> | 같지 않다. | |
NOT 칼럼명 = | ~와 같지 않다. | |
NOT 칼럼명 > | ~보다 크지 않다. | |
부정 SQL 연산자 | NOT BETWEEN a AND B | a와 b의 값 사이에 있지 않다. |
NOT IN (list) | list 값과 일치하지 않는다. | |
IS NOT NULL | NULL 값을 갖지 않는다. |
내장 함수
- 함수의 입력 행수에 따라 단일행 함수와 다중행 함수로 구분할 수 있다.
- 단일행 함수는 SELECT, WHERE, ORDER BY, UPDATE의 SET 절에 사용이 가능하다.
- 1:M 조인이라 하더라도 M쪽에서 출력된 행이 하나씩 단일행 함수의 입력값으로 사용되므로 사용할 수 있다.
- 다중행 함수도 단일행 함수와 동일하게 단일 값만을 반환한다.
SEARCHED_CASE_EXPRESSION 경우
- CASE WHEN LOC = ‘NEW YORK’ THEN ‘EAST’
SIMPLE_CASE_EXPRESSION 경우
- CASE LOC WHEN ‘NEW YORK’ THEN ‘EAST’
단일행 NULL 관련 함수의 종류
NVL(표현식1, 표현식2) / ISNULL(표현식1, 표현식2) |
표현식1의 결과값이 NULL이면 표현식2의 값을 출력한다. 단, 표현식1과 표현식2의 결과 데이터 타입이 같아야 한다. NULL 관련 가장 많이 사용되는 함수이므로 상당히 중요하다. |
NULLIF(표현식1, 표현식2) | 표현식1이 표현식2와 같으면 NULL을, 같지 않으면 표현식1을 리턴 |
COALESCE(표현식1, 표현식2, …) | 임의의 개수 표현식에서 NULL이 아닌 최초의 표현식을 나타낸다. 모든 표현식이 NULL이라면 NULL을 리턴 |
'자격증 > sqld' 카테고리의 다른 글
[데이터베이스] sqld SQL 기본3 (0) | 2021.06.30 |
---|---|
[데이터베이스] sqld SQL 기본1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델과 성능_2 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델과 성능_1 (0) | 2021.06.25 |
[데이터베이스] sqld 데이터 모델링의 이해 (0) | 2021.06.21 |