의사 퀄럼

테이블의 퀄럼처럼 동작하는 것들을 말하며 여기서 나온 값을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 <= 검색하는 값 <= 에 해당하는 행을 조회하는 식

IN (1,2,…): ‘=ANY (1, 2, …)’ 와 동일함 값1,2,.. 들중에 같은 값이 있으면 TRUE를 반환하는 식

EXISTS (서브쿼리) : IN과 비슷하지만 값을 입력하는게 아닌 서브쿼리가 와야한다또한 서브 쿼리 내에서

                        조인 조건이 있어야 한다.

LIKE ‘문자 또는 문자열’ : 문자열의 패턴을 검색할 때 사용하는 조건식으로 ‘%’를 붙이면 아무 글자가 몇글자가 와도

                            상관없고 ‘_’가 오면 아무 글자가 한글자 와도 되는 것이다.

                           Ex) LIKE ‘B%’ -> 첫글자가 B인 아무 문자열

                               LIKE ‘%C’ -> 마지막 글자가 C인 아무 문자열

                               LIKE ‘_A%” ->  첫글자는 아무거나 두번째 글자는 A인 아무 문자열

+ Recent posts