SQL 연산자(산술/비교/논리/SQL)

·2022년 11월 17일
0

Oracle/SQL

목록 보기
5/16

1. 산술연산자(수학과 같음)

+, -, *, /


2. 비교연산자

자바와 같음 : >, >=, <, <=,

자바와 다름 : =(같다), !=(같지 않다)

대입연산자 : :=


3. 논리연산자

NOT, AND, OR


4. SQL연산자

SQL에서만 쓰는 연산자들이 있음

1. IN연산자: 비교할 값들을 묶어주는 연산자(OR)

아래 두 문장은 같다
WHERE DEPTNO=10 OR DEPTNO=30;
WHERE DEPTNO IN(10,30);

2.LIKE 연산자 : 문자열 비교시 사용하는 연산자

예시) 조건절
WHERE ENAME LIKE '%A%'; -- A를 포함하는 이름
WHERE ENAME LIKE 'A%'; -- A로 시작하는 이름
WHERE ENAME LIKE '%A'; -- A로 끝나는 이름
WHERE ENAME LIKE '_A%'; -- 두번째 글자가 A인 이름
WHERE ENAME NOT LIKE '%A%';--A를 포함하지 않는 이름


3. || : 문자열 결합 연산자

예시)
SELECT ENAME, SAL, DEPTNO||'번 부서' FROM EMP;
출력> 20번 부서 등...
SELECT ENAME||' 사원의 부서는 '||DEPTNO||'입니다.' FROM EMP;
출력> NOLJIS 사원의 부서는 20입니다. 등...

4. IS NULL, NOT NULL

  • NULL : 데이터가 없음. 즉 안의 값이 아직 들어오지 않아 얼마인지 모르는 상태를 뜻함. 조건절에 쓰임
  • IS NULL -- NULL임
  • NOT NULL -- NULL이 아님
    예시)
    SELECT * FROM EMP WHERE COMM IS NOT NULL; -- 전체 테이블에서 COMM컬럼이 NULL인 ROW만 출력

5. BETWEEN A AND B: A와 B 사이의 값(A,B포함)

예시)
SELECT EMPNO, ENAME, SAL FROM EMP WHERE SAL BETWEEN 1000 AND 3000;
--WHERE SAL>=1000 AND SAL <=3000; 과 같음

6. ANY연산자 : 조건이 하나만 일치하면 됨(OR)

아래 두 SELECT문은 같은 결과를 출력함
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO IN (10,30);
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO=ANY(10,30);
IN과 비슷하나 비교연산자로 크거나 작은 경우도 조건이 될 수 있음
SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO<ANY(10,30);
=>DEPTNO이 20보다 작거나 30보다 작음

7. ALL연산자: 모든 조건을 만족해야 함(AND)

SELECT EMPNO, DEPTNO, SAL FROM EMP WHERE DEPTNO<ALL(20,30);
=>DEPTNO이 20보다도 작고, 30보다도 작아야 함

profile
웹개발입문자

0개의 댓글