의사 퀄럼
테이블의 퀄럼처럼 동작하는 것들을 말하며 여기서 나온 값을INSERT, UPDATE, DELETE 할 수 없다.
시퀀스에서는 NEXTVAL과 CURRVAL를 사용 할 수있다.
시퀀스명.NEXTVAL : 해당 시퀀스에 다음 순번 값을 가져온다. (단, SELECT문에서 사용해도 값이 변함)
시퀀스명.CURRVAL : 해당 시퀀스에 현재 순번 값을 가져온다.
ROWNUM : 쿼리를 통해 각 행에 대한 순서 값을 나타내는 의사컬럼이다.
ROWID : 테이블에 저장된 각 행이 저장된 주소 값을 가리키는 의사컬럼이다.
(SELECT 문에서 쓴다)
연산자
수식 연산자 : +, -, *, /
문자 연산자 : || - 두문자를 붙일 때 사용
논리 연산자 : >, <, >=, <=, =, <>, !=, ^=
집합 연산자 : UNION, UNION ALL, INTERSECT, MINUS
UNION – 합집합을 의미하는데 집합 원소(SELECT 결과)를 모두 포함한 결과가 반환
(중복은 하나만 나옴)
UNION ALL – UNION + 중복도 모두 나옴
INTERSORT – 교집합을 의미하는데 데이터 집합에서 공통인 요소만 출력
MINUS – 차집합을 의미하는데 MINUS 연산자 기준 앞의 데이터 집합에서 뒤의 데이터 집합을 뺀다.(겹치는 부분을 제외한다)
집합 연산자 사용시 주의사항
· 집합 연산자로 연결되는 각 SELECT 문의 SELECT 리스트의 개수와 데이터 타입이 일치해야한다.
· ORDER BY 절은 맨 마지막 문장에서만 사용 할 수 있다.
· BLOB, CLOB, BFILE 타입의 컬럼에 대해서는 집합 연산자를 사용할 수 없다.
· UNION, INTERSECT, MINUS 연산자는 LONG형 컬럼에는 사용할 수 없다.
표현식
CASE ~ END 문으로 한개 이상의 값과 연산자, 등이 결합된 식이다.
기본 구문
CASE WHEN 조건 THEN 값
WHEN 조건 THEN 값ㅌ
…
END
조건식
비교 조건식
컬럼명 = [ANY, ALL, SOME 중 하나] ( 값1, 값2, …, 값n)
ANY, SOME : 괄호 안에 들어간 값중 등호(또는 부등호)가 성립하는 행를 골라냄 (OR로 변환할 수 있음)
ALL : 괄호 안에 들어간 값들이 모두 등호(또는 부등호)가 성립하는 행을 나타냄
논리 조건식
AND : 모든 조건을 만족해야함
OR : 여러 조건 중 하나만 만족해도됨
NOT : 조건의 결과를 반대로 바꿈 (FALSE -> TRUE, TRUE -> FALSE)
BETWEEN 값1 AND 값2 : 값1 <= 검색하는 값 <= 값2 에 해당하는 행을 조회하는 식
IN (값1,값2,…): ‘=ANY (값1, 값2, …)’ 와 동일함 값1,값2,.. 들중에 같은 값이 있으면 TRUE를 반환하는 식
EXISTS (서브쿼리) : IN과 비슷하지만 값을 입력하는게 아닌 서브쿼리가 와야한다. 또한 서브 쿼리 내에서
조인 조건이 있어야 한다.
LIKE ‘문자 또는 문자열’ : 문자열의 패턴을 검색할 때 사용하는 조건식으로 ‘%’를 붙이면 아무 글자가 몇글자가 와도
상관없고 ‘_’가 오면 아무 글자가 한글자 와도 되는 것이다.
Ex) LIKE ‘B%’ -> 첫글자가 B인 아무 문자열
LIKE ‘%C’ -> 마지막 글자가 C인 아무 문자열
LIKE ‘_A%” -> 첫글자는 아무거나 두번째 글자는 A인 아무 문자열
'프로그래밍 > 오라클' 카테고리의 다른 글
(오라클) 조인, 안시 조인 (0) | 2016.07.10 |
---|---|
(오라클) SQL 함수 (0) | 2016.07.10 |
(오라클) SELECT, INSERT, UPDATE, MERGE, DELETE, 데이터 저장 및 복구 (0) | 2016.07.10 |
(오라클) 뷰, 인덱스, 시노님, 시퀀스, 파티션 테이블 (0) | 2016.07.10 |
(오라클) 테이블 (0) | 2016.07.10 |