별명을 이용한 검색
SELECT 컬럼 as "별명", 컬럼 as "별명", ...
FROM 테이블;
as , " "는 생략 가능
_ : 공백 표시
수식을 이용한 검색
SELECT 수식 [as 별명], ...
FROM 테이블;
NULL 연산 위한 NVL 함수
NVL(컬럼, 치환 값)
치환 값은 연산자의 항등원으로 바꾼다.
+, - : 0
*, / : 1
계산한 값이 정확하지 않을 수도 있기 때문에 이런 경우 확실히 적어주는 것이 좋다.
예제 1. 각 사원의 이름과 담당업무를 검색해서 결과를 보고한다.
SELECT eno 사번, ename 이름, job 업무 FROM emp;
예제 2. 각 사원의 연간 수급하는 급여를 검색한다.
select eno 사번, ename 이름, sal*12 연간_급여
from emp;
예제 3. 별명에 반드시 이중 인용 부호가 필요한 경우를 확인한다.
select ename "10name" from emp;
예제 4. 사원의 연봉을 검색한다. (연봉 = 12개월분 급여(sal) + 보너스(comm))
select eno 사번, ename 이름, sal 급여, comm 보너스, sal*12+comm 연봉
from emp;
보너스 값 NULL이라 연봉이 NULL이 나옴
예제 5. 사원의 연봉을 검색한다.
select eno 사번, ename 이름, sal*12+NVL(comm,0) 연봉
from emp;
실습
1. 각 학생의 평균 평점을 검색한다.(별명을 이용)
SELECT sno 학번, sname 이름, avr 평균_평점
FROM student;
2. 각 과목의 학점수는 검색한다.(별명을 이용)
SELECT cno 과목번호, cname 과목이름, st_num 학점수
FROM course;
3. 각 교수의 지위를 검색한다.(별명을 이용)
SELECT pno 교수번호, pname 이름, orders 지위
FROM professor;
4. 급여를 10% 인상했을 때 연간 지급되는 급여를 검색한다.
SELECT eno 사번, ename 이름, (sal*1.1*12) 연간_급여
FROM emp;
5. 현재 학생의 평균 평점은 4.0 만점이다. 이를 4.5 만점으로 환산해서 검색한다.
SELECT sno 학번, sname 이름, (avr*4.5/4) "4.5만점 환산"
FROM student;
6. 급여가 10% 인상될 경우 각 사원의 연봉을 검색한다.
SELECT eno 사번, ename 이름, (sal*1.1*12)+NVL(comm,0) 연봉
FROM emp;
7. 1년 동안 지급되는 급여와 10% 인상되어 1년 동안 지급되는 급여 간에 차액을 검색한다.
SELECT eno 사번, ename 이름, (sal*1.1*12)-(sal*12) "1년 급여 차액"
FROM emp;
8. 각 학생들의 평균 평점을 4.5 만점으로 환산한 경우 각각 평점의 상승폭은 얼마인지 검색한다.
SELECT sno 학번, sname 이름, (avr*4.5/4)-avr "4.5만점 환산 상승폭"
FROM student;
'SQL 공부 기록' 카테고리의 다른 글
SQL 페이지, 글자 포멧 설정 (0) | 2021.10.25 |
---|---|
SQL 3 - 연결 연산자(||) 및 중복 제거(DISTINCT) (0) | 2021.10.22 |
SQL 1 - SELECT 문 (0) | 2021.10.20 |
SQL 공부하기 전 기본 설정 및 실행 (0) | 2021.10.20 |
Oracle Database Client 설치 (0) | 2021.10.19 |