DML - SELECT문 - WHERE절

jsbak·2020년 8월 26일
0

DB

목록 보기
14/35

1. WHERE 절

  • 일반 join이나 조건을 기술하는 절

예)회원테이블(MEMBER)에서 출생년도가 1973년도 이후 출생한 회원을 조회하시오 단, Alias는 회원번호, 회원명, 주민등록번호





※결과가 다른 것은 주민등록번호 보다 실제 생년월일이 빠른경우

예)사원테이블(EMPLOYEES)에서 급여(SALARY)가 5000이상이고 부서코드(DEPARTMENT_ID)가 80번인 사원을 조회하시오 단, Alias는 사원번호, 사원명, 부서코드, 급여, 전화번화


![](https://images.velog.io/images/hkjs96/post/88b684c1-cecd-4a01-b1f4-e68bb005cc34/image.png

예)사원테이블에서 30, 40, 60번부서에 속한 사원정보를 조회하시오 단, Alias는 사원명, 부서코드, 부서명, 직무명


IN연산자

  • 컬럼의 값이 복수개로 주어진 값 중 어느 하나와
    일치하면 전체가 참(TRUE)을 반환\
 (사용형식)
 컬럼명(표형식) IN (값1, 값2, ...)
  • OR 연산자로 변환가능
  • (IN 연산자 사용)
 select A.emp_name as 사원명,
        A.department_id as 부서코드,
        B.department_name as 부서명,
        C.job_title as 직무명 
   from employees A, departments B, JOBS C
  where A.department_id IN (30,40,60)
    and A.department_id = B.department_id
    and A.job_id = C.job_id;

ANY(SOME) 연산자

  • 컬럼의 값이 복수개로 주어진 값 중 어느 하나와
    일치하면 전체가 참(TRUE)을 반환
   (사용형식)
    컬럼명(표현식) 관계연산자 ANY|SOME (값1, 값2, ...)
     - OR 연산자로 변환가능
     - IN 연산자로 변환할때 관계연산자는 생략
  • (ANY 연산자 사용)
 select A.emp_name as 사원명,
        A.department_id as 부서코드,
        B.department_name as 부서명,
        C.job_title as 직무명 
   from employees A, departments B, JOBS C
  where A.department_id = ANY (30,40,60)
    and A.department_id = B.department_id
    and A.job_id = C.job_id;

  • (SOME 연산자 사용)
select A.emp_name as 사원명,
        A.department_id as 부서코드,
        B.department_name as 부서명,
        C.job_title as 직무명 
   from employees A, departments B, JOBS C
  where A.department_id = SOME (30,40,60)
    and A.department_id = B.department_id
    and A.job_id = C.job_id;

profile
끄적끄적 쓰는곳

0개의 댓글