Oracle DataBase
SELECT
조회 범위
- 특적 컬럼 조회
- 특정 행 조회
- 특정 행 + 컬럼 조회
- 여러 테이블의 특정 행 + 컬럼 조회 (join)
특징
- 키워드는 대/소문자 구분하지 않는다.
- 키워드, 테이블 이름, 컬럼 이름은 약자로 줄여쓸 수 없다.
- ’,’나 ‘/’로 행을 끝내야 한다.
- AS 로 별칭을 주게 될 때 주의점
- 별칭에 공백이나 특수문자가 들어가거나, 대소문자를 구별하고 싶을 때 ““를 사용한다.
- 별칭은 공백으로 시작할 수 없다.
- DOUBLE QUOTATION은 별칭으로 인식하지 않는다.
- ‘missing expression’ : 구문이 잘못된 경우
- ’,’를 더 찍거나
- ’,’를 안찍거나
- 같은 KEYWORD를 두번 적던가
- 필요 KEYWORD를 안적던가
문법
- ‘*‘를 사용하여 모든 COLUMN 조회 가능 (권장하지는 않음)
- AS로 SQL 한 문장 내 SCOPE에서 컬럼이나 테이블에 대한 별칭 적용 가능
- WHERE로 SQL SELECT에 대한 조건 제시
- 논리 연산자
- AND : 여러 조건이 모두 TRUE인 경우
- OR : 여러 조건 중 하나라도 TRUE인 경우
- NOT : 반대 값으로 반환
(NULL 예외)
- NULL > TRUE == FALSE
- 비교 연산자
- <>, !=, ^= : 같지 않다
- BETWEEN AND : 특정 범위에 포함되는지 비교
- 상/하한 경계 모두 표현할 수 있는 조건에서만 사용
- LIKE / NOT LIKE : 문자 패턴 비교
- ’%’나 ‘_‘로 패턴을 표현할 수 있다.
- % : 임의의 문자열이 올 수 있다.
EX) LIKE '김%' -> 김길동, 김에스더
- _ : _ 하나 당 한 글자가 올 수 있다.
EX) LIKE '김_' -> 김선, 김갑
- ‘_‘가 찾고자 하는 COLUMN의 문자열로 들어가 있는 경우 WILDCARD를 ‘문자열’로 인식 시켜야 한다.
- % : 임의의 문자열이 올 수 있다.
- ESCAPE OPTION을 사용하여 EXCAPE OPTION 뒤에 오는 글자는 패턴이 아닌 문자열로 인식하게 한다.
- EX)
EMAIL LIKE '___\_%' EXCAPE '\'
- IS NULL / IS NOT NULL : NULL값 여부 비교
- IN : 비교 값 목록에 포함되는지 여부 비교
- 논리 연산자
관계도
- 식별관계 : 부모의 PK와 자식의 PK가 연결되어 있는 관계를 의미
- 비식별관계 : 부모의 PK가 자식의 PK가 아닌, 다른 일반 COLUMN과 연결되어 있는 관계를 의미
- RELATION LINE
- O를 포함한 도식 LINE : OPTIONAL
- O가 없는 도식 LINE : MUST
Written on January 30, 2020