ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Oracle - 연결 연산자 / 논리 연산자 / 비교 연산자
    데이터베이스/Oracle 2020. 11. 6. 17:46
    728x90
    반응형

    연결 연산자

    연결 연산자란 ‘||’ (키보드 shift +  달러표시)를 사용하여 여러 컬럼을

    하나의 컬럼인 것처럼 연결하거나 컬럼과 리터럴을 연결한다.

    연결 연산자를 사용해야할 방법이 2가지가있다.

     

    1. 컬럼과 컬럼을 연결한 경우

    - 컬럼명1과 컬럼명2 사이에 || 를 입력한다.

     

    2. 컬럼과 리터럴을 연결한 경우

    - 컬럼명과 리터럴 사이에 || 를 입력한다.

     

    [ 연결연산자 예시 ]

     

    컬럼과 컬럼을 연결한 경우

    SELECT EMP_ID || EMP_NAME || SALARY
    FROM EMPLOYEE;

     

    컬럼과 리터럴을 연결한 경우

    SELECT EMP_NAME || '의 월급은 ' || SALARY || '원 입니다.'
    FROM EMPLOYEE;

     

     

    논리 연산자

    논리연산자란 여러 개의 제한 조건 결과를 하나의 논리 결과로 만들어준다.

     

    3가지의 논리연산자

    1. AND

    2. OR

    3. NOT

     

     

    [ AND 연산 결과 ]

    위와 사진같이 동시에 TRUE일 경우에만 TRUE값을 반환한다.

     

     

    [ OR 연산 결과 ]

    위와 사진같이 어느 하나의 값이 TRUE일 때 TRUE값을 반환한다.

     

     

    비교 연산자

    비교 연산자란 표현식 사이의 관계를 비교하기 위해 사용한다.

    비교 결과는 논리 결과(TRUE/FALSE/NULL) 중 하나가 된다.

    단 비교하는 두 컬럼 값/표현식은 서로 동일한 데이터 타입이어야 한다.

     

     

    [ 주요 비교연산자 ]

     

     

     

    [ 비교연산자 예시 ]

    BETWEEN AND를 사용하는 예시

     

    급여를 3500000보다 많이 받고 6000000보다 적게 받는 직원 이름과 급여 조회 

    SELECT EMP_NAME, SALARY
    FROM EMPLOYEE
    WHERE SALARY >= 3500000 AND SALARY <= 6000000;

     

    LIKE를 사용하는 예시

    비교하려는 값이 지정한 특정 패턴을 만족하면 TRUE리턴하는 연산자이다.

    %’와 ‘_’를 와일드카드로 사용한다.

     

    ‘전‘씨 성을 가진 직원 이름과 급여 조회

    SELECT EMP_NAME, SALARY
    FROM EMPLOYEE
    WHERE EMP_NAME LIKE ‘전%’;

     

    NOT LIKE를 사용하는 예시

    LIKE부정을 의미하는 NOT이 들어가 비교하려는 값이 

    지정한 특정 패턴을 만족하면 TRUE 리턴하는 연산자이다.

     

    '이'씨 성이 아닌 직원 사번, 이름, 이메일 조회

    SELECT EMP_ID, EMP_NAME, EMAIL
    FROM EMPLOYEE
    WHERE EMP_NAME NOT LIKE '이%';

    또는

    SELECT EMP_ID, EMP_NAME, EMAIL
    FROM EMPLOYEE
    WHERE NOT EMP_NAME LIKE '이%';

     

    IS NULL을 사용하는 예시

    NULL이 존재하는지 확인하는 비교 연산자이다.

     

    - 관리자도 없고 부서 배치도 받지 않은 직원 조회

    SELECT EMP_NAME, MANAGER_ID, DEPT_CODE
    FROM EMPLOYEE
    WHERE MANAGER_ID IS NULL AND DEPT_CODE IS NULL;

     

    IS NOT NULL을 사용하는 예시

    NULL이 존재하지 않는지 확인하는 비교 연산자이다.

     

    - 부서 배치를 받지 않았지만 보너스를 지급받는 직원 조회

    SELECT EMP_NAME, BONUS, DEPT_CODE
    FROM EMPLOYEE
    WHERE DEPT_CODE IS NULL AND BONUS IS NOT NULL;

     

    IN을 사용하는 예시

    비교하려는 값 목록에 일치하는 값이 있으면 TRUE를 반환하는 연산자이다.

     

    - D6 부서와 D8 부서원들의 이름, 부서코드, 급여 조회

    SELECT EMP_NAME, DEPT_CODE, SALARY
    FROM EMPLOYEE
    WHERE DEPT_CODE IN ('D6', 'D8');

     

     

    연산자 우선순위

    연산자들의 우선순위는 이러하다.

    728x90
    반응형
Designed by Tistory.