비교연산자
=, !=, >, <, >=, <=
논리연산자
AND, OR , NOT
SQL 연산자
IN, ANY, ALL, BETWEEN, LIKE ,IS NULL, IS NOT NULL
연산자 설명
IN 연산자 (OR 연산자와 비슷한 역활)
ANY 연산자 (조건을 비교할때 어느 하나라도 맞으면 true)
ALL 연산자(조건을 비교할때 조건이 모두 맞느면 true)
BETWEEN A AND B (A와 B 사이의 데이타를 얻어온다)
IS NULL (NULL 인경우 TRUE) , IS NOT NULL (NULL 이 아닌경우 TRUE)
EXISTS (데이터가 존재하면 TRUE)
LIKE 연산자 (문자열 비교)
결합 연산자 ( || ) =>단순히 문자열을 연결해서 하나의 데이타로 리턴한다.
비교연산자 != 예시
부서번호가 30번이 아닌 사람들의 이름과 부서번호를 출력
SQL>SELECT ename, deptno
FROM emp
WHERE deptno != 30 ;
논리연산자 AND 예시
부서번호가 10번이고 급여가 3000 이상인 사원들의 이름과 급여를 출력
SQL>SELECT ename, sal
FROM emp
WHERE deptno = 10 AND sal >= 3000 ;
논리연산자 OR 예시
직업이 SALESMAN 이거나 MANAGER 인 사원의 사원번호와 부서번호를 출력
SQL>SELECT empno, deptno
FROM emp
WHERE job = 'SALESMAN' OR job = 'MANAGER' ;
논리연산자 OR과 SQL 연산자 IN 비교
ex)OR
SQL>SELECT empno, ename, deptno
FROM emp
WHERE deptno=10 OR deptno=20 ;
ex)IN
SQL>SELECT empno, ename, deptno
FROM emp
WHERE deptno IN(10,20) ;
SQL 연산자 ANY와 ALL의 예시
추후에 1000,2000,3000 대신 SELECT문이 연계될 것이다.
SQL연산자 ANY (조건을 비교할때 어느 하나라도 맞으면 true)
급여가 1000 이상인 로우를 SELECT 하게 된다.
SQL>SELECT empno, sal
FROM emp
WHERE sal > ANY(1000, 2000, 3000) ;
SQL연산자 ALL 연산자(조건을 비교할때 조건이 모두 맞으면 true)
급여가 3000 이상인 로우를 SELECT 하게 된다.
SQL>SELECT empno, sal
FROM emp
WHERE sal > ALL(1000, 2000, 3000) ;
BETWEEN A AND B
A와 B 사이의 데이타를 얻어온다
급여가 1000 과 2000 사이인 사원들의 사원번호,이름,급여를 출력
SQL>SELECT empno, ename, sal
FROM emp
WHERE sal BETWEEN 1000 AND 2000 ;
사원이름이 'FORD' 와 'SCOTT' 사이의 사원들의 사원번호,이름을 출력
SQL>SELECT empno, ename
FROM emp
WHERE ename BETWEEN 'FORD' AND 'SCOTT' ;
IS NULL (NULL 인경우 TRUE) , IS NOT NULL (NULL 이 아닌경우 TRUE)
커미션이 NULL 인 사원의 사원이름과 커미션을 출력
SQL>SELECT ename, comm
FROM emp
WHERE comm IS NULL ;
커미션이 NULL 이 아닌 사원의 사원이름과 커미션을 출력
SQL>SELECT ename, comm
FROM emp
WHERE comm IS NOT NULL ;
EXISTS (데이터가 존재하면 TRUE)
사원이름이 'FORD' 인 사원이 존재하면 사원의 이름과 커미션을 출력
SQL>SELECT ename, comm
FROM emp
WHERE EXISTS (SELECT ename FROM emp WHERE ename='FORD');
LIKE 연산자 (문자열 비교)
사원이름이 'J' 로 시작하는 사원의 사원이름과 부서번호를 출력
SQL>SELECT ename, deptno
FROM emp
WHERE ename LIKE 'J%' ;
사원이름에 'J' 가 포함된는 사원의 이름과 부서번호를 출력
SQL>SELECT ename, deptno
FROM emp
WHERE ename LIKE '%J%' ;
사원이름의 두번째 글자가 'A' 인 사원의 이름,급여,입사일을 출력
SQL>SELECT ename, sal, hiredate
FROM emp
WHERE ename LIKE '_A%' ;
사원 이름이 'ES' 로 끝나는 사원의 이름,급여,입사일을 출력
SQL>SELECT ename, sal, hiredate
FROM emp
WHERE ename LIKE '%ES' ;
입사년도가 81년 인 사원들의 입사일과 사원번호를 출력
SQL>SELECT hiredate, empno
FROM emp
WHERE hiredate LIKE '81%' ;
결합 연산자 ||
단순히 문자열을 연결해서 하나의 데이타로 리턴한다.
SQL>SELECT ename || '의 직업은' || job || ' 입니다.' FROM emp ;
실제 예시
산술연산자 활용 예시이다. AS 를 사용하여 칼럼명 sal*1.1을 UPSAL 로 변경하였다.
첫번째 실행문
기본적으로 생각되지만 오류로 실행되지 않는다
두번째 실행문
실행 가능하다.
세번째 실행문
BETWEEN AND를 사용하여 간결하다.
NULL인 데이터를 확인하는 문법이다. IS NULL과 IS NOT NULL이 있다.
oracle에서 ||는 연결연산자로 활용된다.
SET PAGESIZE 를 사용하여 한번에 보이는 행 개수를 늘리거나 줄일 수 있다.
'database > oracle' 카테고리의 다른 글
6. oracle(단일행 함수,문자 함수) (0) | 2022.07.14 |
---|---|
5. oracle (SPOOL, HOST) (0) | 2022.07.14 |
3. oracle (scott, 실행순서, 데이터 양식, ASC, DESC, AS) (0) | 2022.07.13 |
2. oracle (ED, 명령어) (0) | 2022.07.13 |
오라클 정리 자료 (0) | 2022.07.13 |