학습목표

1. 연결 연산자를 이용해서 검색한다.

2. 연산자 우선순위를 이해한다.

3. 중복 데이터를 검색한다.

4. 중복 회피방법에 대해서 이해한다.

 

 

 

 

part 1. 연결 연산자를 이용해서 검색한다.

 

 

‐ 연결 연산자(||)는 리터럴이나 컬럼을 하나의 문자열로 검색한다.

‐ 리터럴이란 SQL문에 쓰인 문자, 숫자, 날짜를 의미한다.

.리터럴은 숫자를 제외하고 반드시 단일 인용부호를 사용한다.

‐ 연결 연산자는 SELECT 문을 이용 다양한 문장을 만들 때 많이 사용된다.

‐ 리터럴을 제외한 것들은 예약어이다.

.SELECT, FROM, WHERE, ORDER, ……

 

 

 

part 2. 연산자 우선순위를 이해한다.

· 연결 연산자를 이용한 검색

 

 

 

part 3. 중복 데이터를 검색한다.

· 연결 연산자를 이용한 검색

 

 

 

- DISTINCT : 중복된 행은 한번만 검색한다.

.출력 행을 기준으로 한다.

‐ ALL : 중복된 모든 행을 검색한다. (default)

 

 

DISTINCT 유/무 차이 : (왼) 기본, (오) DISTICT

 

 

part 4. 중복 회피방법에 대해서 이해한다.

 

중복과 정렬

• 다음 값에서 중복된 값을 정리한다.

 

 

 

 

 

실습

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 기존_평점,avr*1.125 바뀐_평점 FROM student;
 
6. 급여가 10% 인상될 경우 각 사원의 연봉을 검색한다. 
SELECT eno 사번, ename 이름, sal*1.1*12+comm 연상_연봉 FROM emp;
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 기존_평점,avr*1.125 바뀐_평점,
(avr*1.125) - avr 상승폭
FROM student;
2024. 4. 22. 15:15