SQL

07. SQL- WHERE절을 이용한 조건검색(날짜, 관계 연산자와 부정연산자)

코골면서 딩가딩가 2024. 4. 23. 11:21

 

학습목표

1. WHERE절에 대해서 학습한다.

2. 조건문에 대해서 학습한다.

3. 날짜 형식에 대해서 학습한다.

4. 관계 연산자를 이용하는 다양한 조건을 학습한다. 

 

 

SELECT문의 기능

 

 

part 1. WHERE절에 대해서 학습한다.

조건 검색

 

 

‐ 조건을 통해 테이블의 일부 행만을 검색한다.

‐ 조건은 컬럼을 대상으로 데이터를 제한한다.

‐ 조건에는 비교 연산자가 사용된다.

.=, <, >, <=, >= .!=, <>, ^= ‐ 지문에 대한 이해가 필요하다.

.테이블의 구성을 기억해야 한다.

 

 

part 2. 조건문에 대해서 학습한다.

다양한 조건 검색1

 

• 사원중에 급여가 4000 이상인 사원을 검색한다.

• 이름이 문시현인 사원을 검색한다.

• 10번 이외 부서 정보를 검색한다.

 

 

 

실행결과

 

잘못된 조건 검색

 

 

‐ dno에 대한 조건 기술이 틀림

‐ 결과는 정상적으로 검색됨

‐ 오라클(대부분의 RDBMS)는 자동 형변환 기능을 수행함

‐ 절대 방치해서는 안됨!!!

 

 

 

다양한 조건 검색2

• 급여가 4000 이상인 사원을 급여 순으로 검색한다.

• 년봉이 30000 이상인 사원을 부서별로 검색한다.

 

 

 

 

 

part 3.  날짜 형식에 대해서 학습한다. 

날짜 검색

• 입사일이 1996년 이후인 사원의 정보를 검색한다.

 

 

 

 

• 날짜 형식 변경과 확인

 

‐ YYYY/MM/DD:HH24:MI:SS

‐ DD-Mon-RR

 

 

 

part 4.  관계 연산자를 이용하는 다양한 조건을 학습한다. 

관계 연산자와 부정 연산자

• 조건이 여러 개인 경우나 부정 검색인 경우 관계 연산자가 사용된다.

‐ AND, OR, NOT

• 회계 업무를 담당하는 여성 사원을 검색한다.

• 회계 업무와 분석 업무 담당 사원을 검색한다.

• 회계 업무 이외 업무는 어떤 업무가 있는지 검색한다.

 

 

 

 

 

실습

1. 화학과 학생을 검색한다. 

SELECT SNO 학번, SNAME 이름, SYEAR 학번, MAJOR 과목
FROM STUDENT
WHERE MAJOR='화학'
ORDER BY SYEAR DESC ;

2. 평점이 2.0 미만인 학생을 검색한다.

SELECT SNO 학번, SNAME 이름, SYEAR 학번, MAJOR 과목, AVR 평균
FROM STUDENT 
WHERE AVR < 2.0
ORDER BY SYEAR,AVR DESC;

3. 권현 학생의 평점을 검색한다.

SELECT SNO, SNAME, AVR
FROM STUDENT 
WHERE SNAME = '권현';

4. 정교수의 명단을 검색한다.

SELECT PNO 교번,PNAME 이름, ORDERS 직위
FROM PROFESSOR
WHERE ORDERS = '정교수';

5. 화학과 소속 교수의 명단을 검색한다.
SELECT pno, pname, section
FROM professor
WHERE section='화학';
 
6. 송강 교수의 정보를 검색한다.
SELECT *
FROM professor
WHERE pname='송강';
 
7. 학년별로 화학과 학생의 성적을 검색한다.
SELECT sno, sname, syear, major, avr
FROM student
WHERE major ='화학'
ORDER BY syear DESC, avr DESC;
 
8. 2000년 이전에 부임한 교수의 정보를 부임일순으로 검색한다.
SELECT *
FROM professor
WHERE hiredate<'2000/01/01'
ORDER BY hiredate DESC;