별명을 이용한 검색

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;

+ Recent posts