본문 바로가기

데이터베이스/ORACLE

(5)
[오라클 함수] 정규식 함수/정규 표현식(Regular Expression) 정규식 : 데이터의 간단한 및 복잡한 패턴을 검색하고 조작할 수 있는 식 *메타문자(검색 알고리즘을 지정하는 연산자)와 리터럴(검색중인 문자)로 구성됨. Function Explanation REGEXP_LIKE 일반적인 LIKE보다 복잡한 패턴의 데이터 검색 가능한 함수 REGEXP_REPLACE 일반적인 REPLACE보다 복잡한 데이터 교체 가능한 함수 REGEXP_INSTR 일반적인 INSTR보다 복잡한 데이터 찾기 가능한 함수 REGEXP_SUBSTR 정규식 패턴을 검색하고 일치부분 출력해주는 함수 REGEXP_COUNT 특정 단어가 몇번 출력되는지 출력해주는 함수 ex. 정규식을 통한 한글, 영문, 특수문자 및 숫자 제거 방법 1. 한글 제거 ex. SELECT REGEXP_REPLACE('ㄱㄴ..
[오라클 함수] EXISTS, NOT EXISTS EXISTS : 서브 쿼리 조건에 만족하는 모든 레코드를 출력해준다. ==> 서브 쿼리 조건에 해당하는 결과 출력 ex. SELECT * FROM TABLE A WHERE EXISTS (SELECT * FROM TABLE B WHERE A.CUSNO = B.CUSNO); NOT EXISTS : 서브 쿼리 조건에 만족하는 레코드를 제외하고 출력해준다. ==> 서브 쿼리 조건을 빼고 결과 출력 ex. SELECT * FROM TABLE A WHERE NOT EXISTS (SELECT * FROM TABLE B WHERE A.CUSNO = B.CUSNO); *IN 과 EXISTS의 차이점 IN : 실제 존재하는 데이터들의 모든 값을 확인 EXISTS : 해당 row가 존재하는지만 확인하고 값들을 일일히 비교하..
[오라클 함수] TRIM, LTRIM, RTRIM, LPAD, RPAD TRIM : 문자의 앞 뒤 공백 제거 ex. SELECT TRIM(' HELLO ') FROM DUAL; --> 'HELLO' LTRIM : 문자의 앞 공백 제거 ex. SELECT LTRIM(' HELLO ') FROM DUAL; --> 'HELLO ' RTRIM : 문자의 뒤 공백 제거 ex. SELECT TRIM(' HELLO ') FROM DUAL; --> ' HELLO' LPAD : 지정한 길이 만큼 왼쪽부터 특정 문자로 채워 준다. ex. SELECT LPAD(CUSNO,5,'*') FROM CUSTOMER; --> **350 RPAD : 지정한 길이 만큼 오른쪽부터 특정 문자로 채워 준다. ex. SELECT RPAD(CUSNO,5,'*') FROM CUSTOMER; --> 350**
[오라클 함수] LAG, LEAG LAG : 필드에 따른 정렬 이후, 이전 row값을 가져오고 싶을 때 유용하게 사용되는 함수 사용 방법 : LAG(expr, offset, default) OVER (ORDER BY 필드) *expr : 다양한 값 설정 가능 (필드값, sum, max, min..) *offset : 몇번째 이전 row를 가져올지 정의(생략시, 1이 정의됨) *default : 이전 row값이 없는 경우 리턴되는 값(생략시, null이 리턴됨) LEAG : 필드에 따른 정렬 이후, 다음 row값을 가져오고 싶을 때 유용하게 사용되는 함수 사용 방법 : LAG(expr, offset, default) OVER (ORDER BY 필드) *expr : 다양한 값 설정 가능 (필드값, sum, max, min..) *offset..
SQL JOIN 의 종류 및 정의 JOIN : 2개 이상의 테이블을 연결하여 데이터를 출력하는 방법. 보통 공통된 값인 PK or FK의 값을 사용한다. JOIN의 종류 : NON EQUI JOIN / EQUI JOIN 1. NON EQUI JOIN : 테이블간에 일치하는 칼럼값이 존재하지 않을 경우 사용. '=' 연산자 이외의 연산자 사용 ex) SELECT A.COLUMN1, B.COLUMN2 FROM TABLE1 A, TABLE2 B WHERE A.CUSNO IN B.REFNO 2. EQUI JOIN : 그외 테이블간에 일치하는 칼럼값이 존재하는 경우 사용. '=' 연산자 사용 ex1) 단순 JOIN SELECT A.COLUMN1, B.COLUMN2 FROM TABLE1 A, TABLE2 B WHERE A.CUSNO = B.CUSN..