SQL 정리 요약

SQL 관련 2017. 7. 17. 16:34

 ◎ DISTINCT : 중복된 데이터를 제거한다.

- 1개의 칼럼에만 적어도 모든 칼럼에 적용된다. 이로 인행 뜻하지 않은 성능 저하가 발생 할 수 있으니

  주의해서 사용   

 참고: 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

Posted by 달콤한부자
,