07. SQL- WHERE절을 이용한 조건검색(날짜, 관계 연산자와 부정연산자)
학습목표
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;