5월 20일 목요일 (8일차) - WHEREㅇ

@_@·2021년 5월 20일
0

Database

목록 보기
11/28

<목차>
ㅇ WHERE 절


ㅇ 참고자료 <Do it! 오라클로 배우는 데이터베이스 입문>



ㅇ WHERE

SELECT
FROM
WHERE 조건식(= 컬럼 + 연산자 +)
  • 조건절, 을 제한하는 절
  • 항상 FROM절 다음에 위치
  • 절 실행 순서
    • 1번) FROM절 : 내가 물건 찾으려면 물건 있는 창고로 가야지~
    • 2번) WHERE절 : WHERE절 실행돼서 조건에 맞는 들만 가져와 (필터링 돼)
    • 3번) SELECT절 : 필터링 된 안에서 셀렉트 절을 수행
  • 즉, WHERE절 먼저 실행. 조건을 줘서 행을 제한한 후 SELECT절 실행



ㅇ WHERE절 쓸 때 반드시 지켜야 할 3가지

(조건식)

  • 컬럼 + 연산자 + 값 : 연산자가 컬럼과 데이터 값을 비교해 줌

(값을 사용할 때)

  • 문자, 날짜에는 작은따옴표 ' '
    • 컬럼 이름, 테이블 이름과 구분하기 위해
  • 대소문자 구분
    • 연산자는 값을 비교할 때 (= 값이 있는지 찾을 때) 아스키코드 사용
    • 즉, 저장된 포맷 그대로 사용해야 해
    • 따라서, 내가 가진 데이터의 형식을 사전에 철저히 파악해야 해
      예) 날짜데이터 - 연월일인지, 일월연인지

ㅇ WHERE절에 컬럼 이름이 아닌 ALIAS 쓰면? 에러나

  • WHERE절이 먼저 실행되기 때문에
  • ALIAS명은 테이블의 컬럼 이름이 아니야. 출력이 되는 열머리글을 변경해주는 거야
  • 따라서 웨어절에는 알리아스를 쓸 수 없어!!!!

ㅇ 실습할 때 권장사항
: WHERE절에 명시한 컬럼을 SELECT LIST 절에도 명시하자.

  • 셀렉트 리스트 절에 넣지 않으면 조건절에서 뭘 사용했는지 안 보여
  • 코드를 봐야만 무슨 결과인지 해석 가능해


ㅇ 실습1 : 90번 부서에 근무하는 사원의 이름과 급여를 출력하시오.

  • 1단계 : 셀렉트 리스트절 찾기 : select last_name, salary
  • 2단계 : 어디서 찾을 건지 : from employees
  • 3단계 : 90번 부서라는 조건 : where department_id=90

ㅇ 실습2

SELECT last_name, job_id, department_id
FROM employees
WHERE last_name = 'Whalen'
  • 직역 : Whalen 이라는 사원의 이름, 업무, 부서번호
  • last_name 은 첫 글자 대문자, 나머지 소문자
    (연산자 = 을 사용할 때는, 이 포맷을 그대로 사용해야 해)
  • 'whalen'(소문자) 로 검색하면 no rows selected 나와..ㅋㅋ

CF. WHERE절이 들어가 있는 게 진정한 셀렉션.프로젝션이야.
= 조건에 맞는 데이터를 보겠다.

profile
STEP BY STEP

0개의 댓글