◎ DISTINCT : 중복된 데이터를 제거한다.
주의해서 사용
참고: 9I 버전까지는 정렬을 수행해서 심각한 속도 저하가 발생 했으나 10g 버전부터 HASH 알고
리즘 사용하는 방식으로 변경되어 성능이 많이 향됨
◎ 집합연산자의 4가지 종류
연산자의 종류 |
내용 |
UNION |
두 집합을 더해서 결과를 출력 중복 값 제거하고 정렬 |
UNION_ALL |
두 집합을 더해서 결과를 출력, 중복 값을 제거 안 하고 정렬 안함 |
INTERSECT |
두 집합의 교집합 결과를 출력 정렬함 |
MINUS |
두 집합의 차집합 결과를 출력 정렬함 쿼리의 순서 중요함 |
- 집합 연산산자 사용에 주의할 사항.
1) 두집합의 SELECT 절에 오는 컬럼의 개수가 동일 해야함
2) 칼럼의 데이터 타입이 동일해야함
3) 두집합의 컬러명이 달라도 사용가능
◎ 문자함수
▶ INITCAP - 입력 값의 첫 글짜만 대문자로 변환
예제) INITCAP('abcd') 결과: Abcd
▶ LOWER - 입력 값을 전부 소문자로 변환
예제) LOWER('ABCD') 결과: abcd
▶ UPPER - 입력 값을 전부 대문자로 변환
예제) UPPER('abcd') 결과: ABCD
▶ LENGTH - 입력된 문자열의 길이를 계산해주는 함수
예제) LENGTH('한글') 결과: 2
▶ LENGTHB - 입력된 문자열의 길이 바이트값 반환
예제) LENGTHB('한글') 결과: 4
▶ CONCAT - 두 문자열을 결합해서 출력( || 와 동일)
예제) CONCAT('A','B') 결과: AB
▶ SUBSTR = 문자열에서 특정 길이의 문자를 추출할 때 사용
예제) SUBSTR('한글',1,2)) 결과: 한
▶ SUBSTRB - 주어진 문자에서 특정 바이트만 추출
예제) SUBSTRB('한글',1,2)) 결과: 한글
▶ INSTR - 주어진 문자에서 특정 문자위치 추출
예제) INSTR('A*B#','#') 결과: 4
▶ INSTRB - 주어진 문자에서 특정 문자 위치 바이트값 추출
예제) INSTRB('한글로','로') 결과: 5
▶ LPAD - 주어진 문자열에서 왼쪽으로 특정 문자를 채움
예제) LPAD('love.','6,'*') 결과: **love
▶ RPAD - 주어진 문자열에서 오른쪽으로 특정 문자를 채움
예제) RPAD('love.','6,'*') 결과: love**
▶ LTRIM - 주어진 문자열에서 왼쪽의 특정 문자를 삭제함
예제) LTRIM('*love'.'*') 결과: love
▶ RTRIM - 주어진 문자열에서 오른쪽의 특정 문자를 삭제함
예제) LTRIM('love*'.'*') 결과: love
▶ REPLACE- 주어진 열에서 A를 B로 치환함
예제) REPLACE('AB'.'A','E') 결과: EB
'SQL 관련' 카테고리의 다른 글
날짜 관련 SQL (0) | 2016.07.14 |
---|---|
부서별 건수 (0) | 2015.03.10 |
집계테이블은 서브 쿼리를 사용하지 않아도 된다. (0) | 2015.02.28 |
SUM()함수에서 NULL값의 처리 (0) | 2014.12.11 |
계층형 쿼리 ( START WITH ... CONNECT BY ) (0) | 2014.09.29 |