: 임의로 지정한 문자열('' => 문자열, 문자 따로 구분없이 씀) 을 SELECT절에 기술하면 실제 그 테이블에 존재하는 데이터처럼 조회 가능 (쉽게 말하면 데이터에 임의에 문자열 추가해주기)
[표현법] SELECT 컬럼, 컬럼, ... '문자열(리터럴)' FROM 테이블;
: 조회하고자 하는 컬럼에 중복된 값을 딱 한번씩만 조회하고자 할 때 사용(해당 컬럼명 앞에 기술)
[표현법] SELECT DISTINCT 컬럼명 FROM 테이블;
(단, SELECT절에 단 한개만 기술 가능)
: 검색할 컬럼의 조건을 설정하여 행(Row) 결정(원하는 데이터 찾기위해 조건 설정 - 엑셀에 필터링)
[표현법]
SELECT 조회하고자 하는 컬럼, 컬럼, 컬럼.....
FROM 테이블
WHERE 조건식;
=> 조건식에 다양한 연산자들 사용 가능
<, >, >=, <= ,=, !=,^=, <>
AND, OR
BETWEEN AND
[표현법] WHERE (NOT) 컬럼명 (NOT) BETWEEN 하한값 AND 상한값
: 몇 이상 몇 이하 범위제시 ,부정문도 존재)
=> DATE형식에서도 가능
LIKE
[표현법] WHERE 비교대상컬럼명 LIKE '특정패턴'
: 비교하려는 값이 특정패턴(문자,숫자 등)을 만족하면 조회되는 방식('%'와 '')
<%> : 0글자 이상
EX)
비교대상 컬럼명 LIKE '문자%' => 컬럼값 중에 '문자'로 "시작" 되는걸 조회
비교대상 컬럼명 LIKE '%문자' => 컬럼값 중에 '문자'로 "끝" 나는걸 조회
비교대상 컬럼명 LIKE '%문자%' => 컬럼값 중에 '문자'가 "포함" 되는 걸 조회
<> : 1글자
EX)
비교대상컬럼명 LIKE '_문자' => 컬럼값 중에 '문자' 앞에 무조건 한 글자가 올 경우 조회
비교대상컬럼명 LIKE '__문자' => 컬럼 값 중에 '문자' 앞에 무조건 두 글자가 올 경우 조회
문제점)
만약 _ _ _ (4번째) 부분을 와일드카드로 인식시키고 싶을 때 문제 생길 수 있음!
=> 해결방안 : WHERE 비교대상컬럼명 LIKE ' _ $(#,@,! 아무 특수기호) %' ESCAPE '특수기호';
(JAVA에서도 ESCAPE문자 있음 : \n, \t, ...)
※ 와일드카드(wild card) 란?
: 파일을 지정할 때, 구체적인 이름 대신에 여러 파일을 동시에 지정할 목적으로 사용하는 특수 기호. *',
?' 따위.
: || 를 이용하여 여러 컬럼값들을 마치 하나의 컬럼인 것 처럼 연결시켜주는 연산자
컬럼과 리터럴(임의의 문자열)을 연결할 수 있음
(JAVA에 ("num1 : " + num1) 여기서 '+' 역할)
[표현법] SELECT 컬럼 || 컬럼 || ... FROM 테이블;
*참고) 연산자 우선순위
0. ()
1. 산술연산자
2. 연결연산자
3. 비교연산자
4. IS NULL , LIKE, IN
5. BETWEEN AND
6. NOT
7. 논리연산자 - AND
8. 논리연산자 - OR
: SELECT문 가장 마지막에 기입하는 구문 뿐만 아니라 실행 순서 또한 가장 마지막
[표현법]
SELECT 조회할 컬럼, 컬럼, ....
FROM 조회할 테이블명
WHERE 조건식
ORDER BY 정렬기준으로 세우고자하는 컬럼명 | 별칭 | 컬럼순번 [ ASC|DESC ] NULLS FIRST | NULLS LAST
- ASC : 오름차순 (생략시 기본값)
- DESC : 내림차순
-NULLS FIRST(NULLS 값 앞으로 배치, 내림차순 기본값)
/ NULLS LAST(NULLS 값 뒤로 배치, 오름차순 기본값) : 생략가능
SELECT 컬럼 (3)
FROM 테이블 (1)
WHERE 조건 (2)
ORDER BY 정렬 (4)
: 전달된 값들을 읽어서 계산한 결과를 반환함(자바의 메소드와 같음)
LENGTH / LENGTHB
LENGTH(STR) : 해당 전달된 문자열의 글자 수 반환
LENGTHB(STR) : 해당 전달된 문자열의 바이트 수 반환
=> 결과 값 NUMBER(숫자) 타입으로 반환
-STR : '문자열' | 문자열에 해당하는 컬럼
-한글 : ㄱ ㅏ ㄴ => 한 글자당 3BYTE 취급
-숫자, 영문, 특수문자 : 한 글자당 1BYTE 취급
※ DUAL (가상테이블, DUMMY TABLE) 정의
1. 오라클 자체에서 제공되는 테이블
2. 간단하게 함수를 이용해서 계산 결과값을 확인 할 때 사용하는 테이블
3. SYS사용자가 소유하는 오라클의 표준 테이블
4. SYS사용자가 소유하지만 어느 사용자에서 접근 가능함