[SQL문의 조건(WHERE절)]
--1) 사원중에 급여가 4000 이상인 사원의 명단
SELECT eno, ename, sal
FROM emp;
SELECT eno, ename, sal
FROM emp
WHERE sal >= 4000;
SELECT eno, ename, sal
FROM emp
WHERE sal >= 4000
ORDER BY sal DESC;
--2) 이름이 '김연아'인 사원을 검색하세요
SELECT *
FROM emp
WHERE ename='김연아';
--3) 10번 부서를 제외한 사원의 명단
dno는 VARCHAR2(2)인 문자열 자료형이다
아래처럼 dno=10 을 하면 테이블의 모든 행의 dno값을
정수로 형변환이 일어나서 비교하게 된다.
dno='10'은 자료형이 일치하므로 그냥 비교만 하게 된다
기업 환경에서는 수천만/수억건의 테이블이 비일비재하므로
dno=10 처럼 비교하면 결과를 출력되나 속도가 매우 저하될 수 있다
그러므로 동일한 자료형으로 비교해야 한다.
SELECT *
FROM emp
WHERE dno!=10
ORDER BY dno;
SELECT *
FROM emp
WHERE dno!='10'
ORDER BY dn
--10번 부서 사원들의 명단
SELECT *
FROM emp
WHERE dno='10';
--4) 연봉이 30000 이상인 사원의 이름을 검색하세요
SELECT eno, ename, sal*12+NVL(comm,0) 연봉
FROM emp
WHERE sal*12+NVL(comm,0) >= 30000
ORDER BY 3 DESC;
--5) 보너스가 600 이하인 사원을 검색하세요
SELECT eno, ename, comm
FROM emp
WHERE comm <= 600;
SELECT eno, ename, comm
FROM emp
WHERE NVL(comm,0) <= 600;
--6) 입사일이 1996년 이후인 사원의 정보를 검색하세요
SELECT *
FROM emp
WHERE hdate > '1995/12/31';
--1995년 12월 31일 00시 00분 00초 이후
7) 널값을 검색
IS NULL : 널 값을 검색
IS NOT NULL : 널이 아닌 값을 검색
-- 보너스 컬럼이 널 값인 사원을 검색하세요
SELECT *
FROM emp
WHERE comm IS NULL;
SELECT *
FROM emp
WHERE comm IS NOT NULL;
[Example]
1) 화학과 학생을 검색하라
SELECT*
FROM student
WHERE major='화학';
2) 평점이 2.0 미만인 학생을 검색하라
SELECT*
FROM student
WHERE avr < 2.0;
3) 관우 학생의 평점을 검색하라
SELECT sname 학생이름, avr 평점
FROM student
WHERE sname='관우';
4) 정교수 명단을 검색하라
SELECT pname 교수명, ORDERS 지위
FROM professor
WHERE ORDERS = '정교수';
5) 화학과 소속 교수의 명단을 검색하라
SELECT pname 교수명, section 학과
FROM professor
WHERE section = '화학';
6) 송강 교수의 정보를 검색하라
SELECT*FROM
professor
WHERE pname = '송강';
7) 학년별로 화학과 학생의 성적을 검색하라
SELECT sname 학생명, syear 학년, major 학과, avr 성적
FROM student
WHERE major = '화학';
8) 2000년 이전에 부임한 교수의 정보를 부임일순으로 검색하라
SELECT*FROM
professor
WHERE HIREDATE <'2000/01/01';
ORDER BY HIREDATE ASC;
9) 담당 교수가 없는 과목의 정보를 검색하라
SELECT*FROM
course
WHERE pno IS NULL;
'프로그래머 > SQL(Oracle)' 카테고리의 다른 글
SQL)Oracle_SELECT_ BEWEEN연산자/IN연산자 (0) | 2023.03.13 |
---|---|
SQL)Oracle_SELECT_관계연산자와 LIKE연산자 (2) | 2023.03.13 |
SQL)Oracle_SELECT_정렬과 묶음검색 (0) | 2023.03.13 |
SQL)Oracle_SELECT_연결연산자와 중복제거 (2) | 2023.03.13 |
SQL)Oracle_SELECT_별명사용 (2) | 2023.03.13 |