별명을 이용한 검색
SQL> SELECT 컬럼 as "별명", 컬럼 as "별명", ….
예제 1. 각 사원의 이름과 담당 업무를 검색해서 결과를 보고한다.
SQL> SELECT eno 사번,
ename 이름,
job 업무 from emp;
수식을 이용한 검색
SQL> select 수식 [as 별명], …
예제 2. 각 사원의 연간 수급하는 급여를 검색
SQL> select eno 사번,
ename 이름, sal*12 "연간 급여" from emp;
#sal 급여를 12번 곱하면 연봉
예제 3. 별명에 반드시 이중 인용 부호가 필요한 경우를 확인한다.
SQL>
select ename 10name from emp;
# 오류 숫자랑같이쓰려면 ""로 묶어줘야함
SQL> select
ename "10name" from emp;
예제 4. 사원의 연봉을 검색한다. ( 연봉 = 12개월분 급여(sql) + 보너스(comm))
SQL> select eno 사번,
ename 이름,
sal 급여, comm 보너스, sal*12+comm 연봉 FROM emp;
#emp 테이블에서 연봉과 보너스를 합쳐서 출력
NULL 연산을 위한 NVL함수의 사용
NVL (컬럼, 치환 값)
예제 5. 사원의 연봉을 검색
SQL> select eno 사번,
ename 이름,
sal*12+nvl(comm,0) 연봉 from emp;
# 널값은 0 으로 널값 치환함수 nvl
실습
1. 각 학생의 평균 평점을 검색한다. (별명을 이용)
select sname 이름, avr 평균 from student;
2. 각 과목의 학점수는 검색한다. (별명을 이용)
select cname 강의명, st_num 학점수 from course;
3. 각 교수의 지위를 검색한다. (별명을 이용)
select pname 이름, orders 지위 from professor;
4. 급여를 10% 인상했을 때 연간 지급되는 급여를 검색한다.
select ename 이름, sal * 1.1 급여 from emp;
#select 문 안에서도 연산 가능
5. 현재 학생의 평균 평점은 4.0 만점이다. 이를 4.5 만점으로 환산해서 검색한다.
select sname 이름, avr/4*4.5 환산점수 from student;
6. 급여가 10% 인상될 경우 각 사원의 연봉을 검색한다.
select ename 이름, (sal*1.1*12)+nvl(comm,0) 인상연봉 from emp;
7. 1년 동안 지급되는 급여와 10% 인상되어 1년 동안 지급되는 급여 간에 차액을 검색한다.
select ename 이름, (sal*12)+nvl(comm,0) 인상전연봉, (sal*1.1*12)+nvl(comm,0) 인상연봉,
((sal*1.1*12)+nvl(comm,0))-((sal*12)+nvl(comm,0)) 차액 from emp;
8. 각 학생들의 평균평점을 4.5 만점으로 환산한 경우 각각 평점의 상승폭은 얼마인지 검색한다.
select sname 이름, avr 평균점수, avr/4*4.5 환산점수, (avr/4*4.5)-avr 상승폭
from student;
댓글 없음:
댓글 쓰기