티스토리 뷰
1. 대소문자 변환 함수
Function |
Result |
LOWER( 'SQL Course' ) 받아들이는 인수를 소문자 변환 |
sql course |
UPPER( 'SQL Course' ) 받아들이는 인수를 대문자 변환 |
SQL COURSE |
INITCAP( 'SQL Course' ) 받아들이는 인수를 첫번째 글자 대문자로 변환 |
Sql Course |
1 2 3 | SELECT employee_id, last_name, department_id FROM employees WHERE last_name = 'higgins'; | cs |
1 2 3 | SELECT employee_id, last_name, department_id FROM employees WHERE LOWER( last_name ) = 'higgins'; | cs |
2. Null 값을 실제값으로 변환해 주는 함수
NVL(Commission_pct, 0)
NVL(hire_date, '01-JAN-97')
NVL(job_id, 'No Job Yet')
인수 2개 받아들임.
첫번째 인수를 검사해서 NULL 인 경우 두번째 인수 출력(실제 값)
첫번째 인수가 NULL이 아니면 첫번째 인수 출력(실제값)
1 2 3 4 5 6 7 | SELECT last_name, salary, NVL( commission_pct, 0 ), ( salary*12 ) + ( salary*12*NVL( commission_pct, 0 ) ) AN_SAL FROM employees; -- 1년 동안 받은 급여 + 1년 동안 받은 수량 = 연봉 | cs |
1 2 3 4 5 6 7 8 9 | SELECT employee_id, salary, commission_pct, NVL(commission_pct, 0) FROM employees; -- 수당을 받든, 안 받든 연봉이 정상적으로 출력된다. -- DB에는 NULL 값이 저장되어있지만 -- 디스플레이상 보기좋게 0으로 대채해서 출력한다. -- 산술식에 NULL 이 들어가는 경우 NULL을 출력할 수 밖에 없다. -- NULL 값을 일일이 0으로 다 바꿀 수 없으니 0으로 대체해서 계산한다. | cs |
문제
employees 테이블로부터 전체 사원들의 커미션 평균을 구하시오.
평균 : AVG_COMM
1 2 3 4 | SELECT AVG(commission_pct) AVG_COMM FROM employees; -- 커미션 받는 사원의 커미션 평균을 구한다. | cs |
1 2 3 4 5 6 7 8 | SELECT AVG( NVL( commission_pct, 0 ) ) AVG_COMM FROM employees; -- 전체 사원의 커미션 평균을 구한다. -- 사원들은 커미션을 받기도, 안받기도( NULL ) 한다. -- 합계는 차이가 없어도 나누는 것이 다르다. -- AVG : 모든 NULL 값을 무시하는 특징이 있다. | cs |
'부산 ITWILL 학원 실습 > ORACLE' 카테고리의 다른 글
[SQL 활용] 7. 데이터조작어( DML ) - UPDATE 구문 (0) | 2018.07.27 |
---|---|
[SQL 활용] 7. 데이터조작어( DML ) - DML과 트랜잭션 / INSERT 구문 (0) | 2018.07.27 |
[Oracle VM VirtualBox] GUI 툴 SQL Developer 실행하기 (0) | 2018.07.27 |
[SQL 활용] 5. Subquery (0) | 2018.07.27 |
[SQL 활용] 4. JOIN (0) | 2018.07.27 |