2015. 7. 7. 10:33 Naver Blog 백업용
- select * from emp where sal >= 3000
- sal(컬럼) >=(비교연산자) 3000(비교값)
- 다르다: !=
- 문자열의 비교는 ' ' 내부에 대/소문자 구분 하여 진행가능
ex) select * from emp where ename = 'HEEJU';
- 날짜데이터는 연산이 가능하다. 역시 ' ' 내부에 날짜는 어떻게적어도 가능
ex) '90/03/20' = '1990/3/20' = '1990/03/20'
논리연산자
- 이고 = AND = T/T만 가능
ex) select * from emp where job='SALESMAN' and sal>=1500;
SELECT * FROM EMP WHERE SAL>1500 AND SAL<=2000;
- WHERE 1500<SAL<2000 이 될 것 같으나 전혀안댐
- BETWEEN 연산자 활용
ex) WHERE SAL BETWEEN 1500 AND 2000;
- 이거나 = OR = T/F & F/T 가능
ex) SELECT * FROM EMP WHERE DEPTNO=10 OR DEPTNO=20;
- IN 연산자 활용
ex) WHERE DEPTNO IN (10,20);
!= WHERE DEPTNO NOT IN (10,20);
BETWEEN, AND 연산자 & IN 연산자 -> 논리연산자 참고
LIKE 연산자와 와일드카드
- 와일드카드: 대표문자를 의미
- % 어떤값도 상관없음 / _ 하나의 문자에 어떤값도 상관없음
ex) A% -> ABCCDDDD, AB, AVVV
A_ -> AB, AC / __A -> BBA, CEA
- A로 시작하는 모든 데이터
ex) SELECT * FROM EMP WHERE ENAME LIKE 'A%';
- A가 들어가는 모든 데이터
ex) SELECT * FROM EMP WHERE ENAME LIKE '%A%';
- 두번째 단어가 A인 모든 데이터
ex) SELECT * FROM EMP WHERE ENAME LIKE '_A%';
NULL을 위한 연산자
- IS NULL, IS NOT NULL
ex) SELECT * FROM EMP WHERE COMM IS NULL;
ex) SELECT * FROM EMP WHERE COMM IS NOT NULL;
정렬을 위한 ORDER BY절
- 오름차순 정렬 ASC
1,2,3,4,5... A,B,C,D,E... ㄱ,ㄴ,ㄷ,ㄹ,ㅁ...
- 내림차순 정렬 DESC
5,4,3,2,1... E,D,C,B,A... ㅁ,ㄹ,ㄷ,ㄴ,ㄱ...
- select * from emp where sal >= 3000
- sal(컬럼) >=(비교연산자) 3000(비교값)
- 다르다: !=
- 문자열의 비교는 ' ' 내부에 대/소문자 구분 하여 진행가능
ex) select * from emp where ename = 'HEEJU';
- 날짜데이터는 연산이 가능하다. 역시 ' ' 내부에 날짜는 어떻게적어도 가능
ex) '90/03/20' = '1990/3/20' = '1990/03/20'
논리연산자
- 이고 = AND = T/T만 가능
ex) select * from emp where job='SALESMAN' and sal>=1500;
SELECT * FROM EMP WHERE SAL>1500 AND SAL<=2000;
- WHERE 1500<SAL<2000 이 될 것 같으나 전혀안댐
- BETWEEN 연산자 활용
ex) WHERE SAL BETWEEN 1500 AND 2000;
- 이거나 = OR = T/F & F/T 가능
ex) SELECT * FROM EMP WHERE DEPTNO=10 OR DEPTNO=20;
- IN 연산자 활용
ex) WHERE DEPTNO IN (10,20);
!= WHERE DEPTNO NOT IN (10,20);
BETWEEN, AND 연산자 & IN 연산자 -> 논리연산자 참고
LIKE 연산자와 와일드카드
- 와일드카드: 대표문자를 의미
- % 어떤값도 상관없음 / _ 하나의 문자에 어떤값도 상관없음
ex) A% -> ABCCDDDD, AB, AVVV
A_ -> AB, AC / __A -> BBA, CEA
- A로 시작하는 모든 데이터
ex) SELECT * FROM EMP WHERE ENAME LIKE 'A%';
- A가 들어가는 모든 데이터
ex) SELECT * FROM EMP WHERE ENAME LIKE '%A%';
- 두번째 단어가 A인 모든 데이터
ex) SELECT * FROM EMP WHERE ENAME LIKE '_A%';
NULL을 위한 연산자
- IS NULL, IS NOT NULL
ex) SELECT * FROM EMP WHERE COMM IS NULL;
ex) SELECT * FROM EMP WHERE COMM IS NOT NULL;
정렬을 위한 ORDER BY절
- 숫자는 오름/내림차순으로, 문자는 모아주는 역할을 함
- 오름차순 정렬 ASC
1,2,3,4,5... A,B,C,D,E... ㄱ,ㄴ,ㄷ,ㄹ,ㅁ...
- 내림차순 정렬 DESC
5,4,3,2,1... E,D,C,B,A... ㅁ,ㄹ,ㄷ,ㄴ,ㄱ...
-문제-
기본 select문을 연습할 수 있는 예제입니다.
1. 81년도에 입사한 사람들 중에서 job이 ' MANAGER'인 사람들의 성명
과 직업을 다음과 같은 형태로 출력하세요.
ex)JONES : MANAGER
SELECT ENAME || ':' || JOB AS "QUESTION 1"
FROM EMP
WHERE JOB='MANAGER' AND HIREDATE BETWEEN '81/01/01' AND '81/12/31';
2. job이 'SALESMAN'이면서 연봉이 1500이상인 데이터를 출력 (사번,성
명,직업,연봉 출력)
SELECT EMPNO, ENAME, JOB, SAL
FROM EMP
WHERE JOB='SALESMAN' AND SAL>=1500;
3. 연봉이 2000에서 3000사이의 사원 between ~ and 연산자를 이용하
여 작업. 연봉이 높은 순서대로 출력하세요. (사번,성명,연봉)
SELECT EMPNO, ENAME, SAL
FROM EMP
WHERE SAL BETWEEN 2000 AND 3000
ORDER BY SAL DESC;
4. 82년도 이후에 입사했거나 연봉이 5000이상인 사람을 출력. (사번,성명,
연봉,입사년월)
SELECT EMPNO, ENAME, SAL, HIREDATE
FROM EMP
WHERE HIREDATE>'82/01/01' OR SAL>=5000;
5. emp테이블에서 부서번호가 10이거나 20에 속하는 사원들 중에서 급
여가 2000이상인 사원들의 이름,급여,부서번호를 출력
SELECT ENAME, SAL, DEPTNO
FROM EMP
WHERE DEPTNO IN (10,20) AND SAL>=2000;
6. 급여가 1300에서 1700사이에 해당하는 사원의 성명,담당업무,급여,부서번호 조회하기
SELECT ENAME, JOB, SAL, DEPTNO
FROM EMP
WHERE SAL BETWEEN 1300 AND 1700;
7. 사원번호가 7902,7788,7566인 사원의 사원번호, 성명,담당업무,급여,입사일자 조회하기
SELECT EMPNO, ENAME, JOB, SAL, HIREDATE
FROM EMP
WHERE EMPNO IN (7902,7788,7566);
8. emp테이블에서 급여가 2800이상이고 job이 MANAGER인 사원의 사원번호,성명,담당업무,급여,입사일자,부서번호를 조회하기
SELECT EMPNO, ENAME, JOB, SAL, HIREDATE, DEPTNO
FROM EMP
WHERE SAL>=2800 AND JOB='MANAGER';
9. emp테이블에서 JOB이 'MANAGER',"CLERK','ANALYST' 가 아닌 사원의 사원번호, 성명,담당업무,급여,부서번호 출력
SELECT EMPNO, ENAME, JOB, SAL, DEPTNO
FROM EMP
WHERE JOB NOT IN ('MANAGER','CLERK','ANALYST');
'DB > Oracle' 카테고리의 다른 글
[Oracle] 그룹함수 -1- (0) | 2021.05.07 |
---|---|
[Oracle ] SQL 주요함수 -3- (0) | 2021.05.07 |
[Oracle] SQL 주요함수 -2- (0) | 2021.05.07 |
[Oracle] SQL 주요함수 -1- (0) | 2021.05.07 |
[Oracle] ORACLE 11G 개요, 접속방법 (0) | 2021.05.07 |