본문 바로가기

데이터베이스

(7)
[오라클 함수] 정규식 함수/정규 표현식(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..
[DB] 데이터베이스(Database)의 종류 데이터베이스(Database)의 종류는 크게 관계형 데이터베이스(RDB)와 NoSQL(Not Only SQL)로 나뉜다. 1. 관계형 데이터베이스(RDB) - 아직까지도 가장 많이 사용되는 데이터베이스로서 흔히 행(Column)과 열(Row)로 표현되는 테이블간의 관계를 나타낼 때 사용되며, 이렇게 표현된 데이터베이스는 SQL을 통하여 관리 및 접근한다. [RDB 종류] Oracle, MySQL(Oracle) / MS-SQL(Microsoft) / DB2, Infomix(IBM) / Maria DB(Sun Microsystems) / Derby(Apache) / SQLite(Opensource) *SQLite: 로컬에서 사용하는 경량 데이터베이스로서 원격 Connection이 발생하지 않으므로 속도가 매..
[DB] SQL이란? + DDL, DML, DCL, TCL 이란? SQL(Structured Query Language) : 관계형 데이터베이스에 대하여 데이터의 구조를 정의, 데이터 조작, 제어 등을 할 수 있게 해주는 절차형 언어 (Schema, Domain, Table, View, Index에 적용) *SQL은 ANSI/ISO 표준을 따르기 때문에 데이터베이스 관리 시스템이 변경되어도 그대로 사용 가능하다. SQL은 크게 DDL, DML, DCL, TCL 4가지 종류로 나눌 수 있다. 1. DDL(Data Definition Language) : 데이터 구조를 정의하는 언어 - 데이터의 구조에 대한 생성, 삭제, 변경, 이름 변경 - Create, Drop, Truncate(모든 행 삭제), Alter, Rename, Comment - Oracle 10g 이전 버..