본문 바로가기
SQL

SQL select - 실습2

by hj_it 2024. 1. 25.

수식 검색

SELECT [수식] FROM dual;

- select 절에 컬럼이 포함되지 않은 경우에는 from절에 더미 테이블명이 dual을 이용한다.

ex) SELECT 2+3 FROM dual;

 

 

별명을 이용한 검색

SELECT 컬럼명 AS "별명", ......
FROM 테이블명;

- AS는 생략 가능

- "(이중인용부호)도 생략 가능 단, 아래의 경우에는 생략 불가능하다.

    , 공백이 포함된 경우

    , 특수문자가 포함된 경우

    , 대소문자를 구분하고자 하는 경우

 

 

NULL이 포함된 연산

- NULL은 아직 결정되지 않은 값을 의미한다.

- NULL의 연산 값은 NULL이다.

- NULL은 공백, 0, False와 다르다.

- NVL 함수

...NVL(컬럼, 치환값) ...    # 컬럼의 값이 NULL일 경우 치환값으로 변환

 

 

 

실습

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, ROUND(avr*4.5/4.0,2) FROM student;

6. 급여가 10% 인상될 경우 각 사원의 연봉을 검색한다.

SELECT eno, ename, sal*1.1*12+nvl(comm,0) 연봉 FROM emp;

7. 1년 동안 지급되는 급여와 10% 인상되어 1년 동안 지급되는 급여 간에 차액을 검색한다.

SELECT eno, 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 sno, sname, avr "4.0만점", ROUND(avr*4.5/4.0,2) "4.5만점", 
	ROUND(avr*4.5/4.0 - avr,2) "상승폭" 
FROM student;

 

 

 

2024.01.24 - [SQL] - SQL select - 실습1

 

SQL select - 실습1

실습 테이블 테이블 내용 테이블 내용 emp dept salgrade 사원 부서 급여등급 student professor course score scgrade 학생 교수 과목 기말고사점수 점수등급 테이블 상세 구조 emp(사원) dept(부서) salgrade(급여등

backendmaster.tistory.com

<테이블 정보>

'SQL' 카테고리의 다른 글

SQL select - 실습5  (1) 2024.01.29
SQL select - 실습4  (1) 2024.01.29
SQL select - 실습3  (1) 2024.01.29
SQL select - 실습1  (0) 2024.01.24
[SQL] DB와 SQL  (0) 2024.01.24