LTRIM과 RTRIM을 활용하면 각각 왼쪽과 오른쪽에서 ''에 넣은 문자를 삭제할 수 있습니다. 그러나 왼쪽이나 오른쪽에 지우고자 하는 문자열을 잘 못 배치하면 그대로 출력하게 됩니다.
SUBSTR은 가로안에 문자열, 시작위치, 길이 만큼만 출력하는 것입니다. 마지막에 길이를 따로 입력하지 않으면 시작 위치에서 끝까지만 출력되고, 길이에 음수값을 넣으면 그 숫자만큼 역순으로 출력하게 됩니다.
REPLACE는 아주 쉽습니다. REPLACE (문자열, 바꾸고자 하는 문자, 바꾸고 싶은 문자) 이렇게 입력하면 문자열에서 알아서 바꾸고자 하는 문자를 바꾸고 싶은 문자로 바꿔줍니다.
SELECT SYSDATE를 입력하면 저장한 시점에서의 날짜 시간이 출력됩니다. 여기에 ADD_MONTHS (SYSDATE, 7)를 하면 그 시점에서 7개월을 더합니다. 또한 INTERVAL을 활용해서 년,달,일,시간,분,초까지 임의로 수정이 가능합니다. 여기에 TO_CHAR을 활용하면 문자열의 형식을 자유롭게 변환할 수 있습니다.
NVL은 NULL값을 데이터로 변환해줍니다. 위와같이 COMMISSIOM_PCT가 NULL이 나오는 값들을 ,로 0을로 변환해주고 알리아스 commission을 입력하면 commission 컬럼에 NULL이 아닌 0이 저장됩니다.
DECODE를 활용하면 자바에서 switch문을 사용하여 조건식을 달 때처럼 원하는 값을 출력시킬 수도 있습니다. 또한 CASE를 사용하여 조건식을 붙여서 "department"란 컬럼에 'MA', 'IT', 'EX'를 추가할 수 있습니다. 위 식에서는 부서 번호가 20일 때 'MA' 60일 때 'IT'. 90일 때 'EX'가 나오고., 나머지는 null값 처리가 됩니다.
DISTINCT는 중복을 제거한 데이터를 조회할 때 사용합니다. 말 그대로 중복을 제거한 채 출력시켜줍니다.
GROUP BY는 데이터를 그룹화 시켜줍니다. 여기서는 DEPARTMENT_ID로 그훕화되어서 DISTINCT를 사용한 것처럼 중복없이 값의 묶음으로 출력되게 됩니다.
위와 같이 SELECT에 연봉 합계를 추가하고 이를 부서 번호로 묶게 되면 부서번호의 연봉 합계가 출력되는 것을 알 수 있습니다.
또한 ORDER BY를 사용하면 부서번호를 내림차순으로 출력할 수 있습니다. GROUP BY와 ORDER BY는 데이터를 편의롭게 나열한다는 점에서 같이 자주 쓰이게 됩니다.