[오라클] SELECT 데이터 조회#2
- DB/오라클
- 2020. 9. 15.
SELECT 데이터 조회#1 itjy2.tistory.com/75
SELECT 데이터 조회#3 itjy2.tistory.com/76
SELECT 조건문
컬럼의 원하는 부분만 조회하기 (WHERE)
SELECT *
FROM EMP
WHERE DEPTNO='20';
EMP테이블의 사원번호가 20인 사원의 정보만 조회하고 싶을때 WHERE 조건을 써주고 [필드] = '[값]' 조건을 주면 된다.
조건 여러개 사용
SELECT *
FROM EMP
WHERE DEPTNO='20'
AND JOB='MANAGER';
여러 조건을 사용할때는 AND를 사용할 수 있다. ( AND기 때문에 둘중에 하나만 조건이 맞지 않아도 결과가 나오지않음 , OR 조건도 사용가능하다.)
DEPTNO,JOB 컬럼에 OR 조건을 사용하고 조회한 결과 두가지 조건중 하나라도 맞으면 출력되는 것을 볼 수 있다.
IN
OR와 같은 방식으로 IN이란 것을 사용 할 수 있는데 사용 방법을 보겠다.
//IN을 사용하여 부서번호가 10또는 20인 사원 정보 출력
SELECT ENAME,EMPNO,DEPTNO
FROM EMP
WHERE DEPTNO IN (10,20);
//OR를 사용하여 부서번호가 10또는 20인 사원 정보 출력
SELECT ENAME,DEPTNO
FROM EMP
WHERE DEPTNO=10 OR DEPTNO=20;
기능은 같지만 단위가 많아질수록 IN을 사용하는게 편할것 같음
7.산술연산하며 조회하기
EMP 테이블에서 사원이름, 급여, 급여의 1.5배 를 조회해주는 SELECT문을 작성해보자.
SELECT ENAME,SAL,(SAL*1.5) INCENTIVE
FROM EMP
WHERE DEPTNO='20';
산술 연산해서 출력하는부분도 ALIAS로 지정하여 출력할 수 있다.
8.비교연산자
=, !=, <, >, <=, >= 등 연산자를 사용할 수 있고 간단하게 예제로 알아보자.
//EMP테이블에서 사원이름,사원번호를 출력하고 급여가 2000 이상인 사원만 조회
SELECT ENAME,EMPNO
FROM EMP
WHERE SAL >= 2000;
//EMP테이블에서 사원이름,사번,부서번호를 출력하고 이름이 SMITH인 사람을 조회
SELECT ENAME,EMPNO,DEPTNO
FROM EMP
WHERE ENAME='SMITH';
※ 컬럼명은 대소문자 구별하지 않지만 값들은 대소문자를 구별한다.
9. BETWEEN
보통 사이값을 구할때 사용한다 .
작은수가 앞에 들어가야한다.
SELECT ENAME,EMPNO,SAL
FROM EMP
WHERE SAL BETWEEN 2000 AND 3000;
급여가 2000부터 3000까지의 사원의 정보만 출력한다.
10. LIKE
사원이름이 A로 시작하는 사원의 모든정보를 조회
SELECT *
FROM EMP
WHERE ENAME LIKE 'A%';
형식 | 설명 |
'A%' | A로 시작하는 모든 문자열 |
'%A' | A로 끝나는 모든 문자열 |
'%A%' | A가 포함된 모든 문자열 |
'A_____' | A로 시작하는 5글자 문자열 |
'____A%' | 네번째 글자가 A인 문자열 |
11. IS NULL / IS NOT NULL
조건으로 컬럼의 NULL값인 값만 조회하거나 NULL이 아닌 값만 조회 할 수 있다.
SELECT EMPNO, ENAME,COMM
FROM EMP
WHERE COMM IS NULL;
COMM 컬럼의 값이 NULL 인것만 조회
결과
반대로 IN NULL 대신 IS NOT NULL 을 사용하면 NULL이 아닌것만 나오게 된다.
12.조건을 입력받아 조회하기
사용법
SELECT [컬럼명] FROM [테이블명/뷰명] WHERE [컬럼명] = &[컬럼명]; |
예제
SELECT ENAME,EMPNO,JOB
FROM EMP
WHERE DEPTNO= &DEPTNO;
사원번호는 내가 입력한 번호를 조건으로 받아 조회하게 된다.
위의 쿼리를 실행하면 아래와 같은 창이뜬다
값을 입력하고 확인을 누르면 부서번호가 30인 것들의 대한 값만 나오는것을 확인할 수 있다.
'DB > 오라클' 카테고리의 다른 글
[오라클] JOIN (0) | 2020.09.16 |
---|---|
[오라클] 그룹행 함수 (0) | 2020.09.15 |
[오라클] SELECT 데이터 조회#3 ( ORDER BY 정렬 , 집합연산자) (0) | 2020.09.15 |
[오라클] SELECT 데이터 조회#1 (0) | 2020.09.15 |
오라클 DML명령어 ( MERGE 병합 ) (0) | 2020.09.15 |