SQL - (14) : Where

­이승환·2021년 8월 2일
0

SQLD

목록 보기
14/16

sql 기본(5) WHERE 절


1. where 절 개요

  • where 조건식의 구성은 아래와 같음
    1. 컬럼명
    2. 비교 연산자
    3. 문자, 숫자, 표현식(일반적으로 조건식의 우츨에 위치)
    4. 비교 컬럼명(JOIN)

2. 연산자의 종류

  • 비교연산자
  • sql 연산자 : BETWEEN + IN (list) + LIKE
  • 논리연산자 : AND + OR + NOT
  • 부정비교연산자
  • 부정 sql 연산자

3. 비교 연산자

  • 우선순위 : () , > , >= , < , <=
  • char 변수나 varchar2 와 같은 문자형타입을 가진 컬럼을 비교하기 위해서는 인용부호(작은 따옴표, 큰 따옴표) 로 묶어서 처리함
  • 숫자로 변환이 가능한 문자열과 숫자형 컬럼 비교시에 내부적으로 문자를 숫자로 변경해서 처리
    1. 비교 연산자의 양쪽이 모두 char 유형 타입인 경우
      길이가 서로 다른 char 형 타입이면 작은쪽에 space를 추가하여 길이를 같게 한 후에 비교한다
      서로 다른 문자가 나올 떄까지 비교한다
      달라진 첫 번째 문자의 값에 따라 크기를 결정한다
      blank의 수만 다르다면 서로 같은 값으로 결정한다
    2. 비교 연산자의 어느 한쪽이 varchar2 유형인 경우
      서로 다른 문자가 나올때까지 비교함
      길이가 다르다면 짧은것이 끝날떄까지만 비교한후에 길이가 긴것이 크다고 판단한다
      길이가 같고 다른것이 없다면 같다고 본다
      varchar는 NOT NULL까지 길이를 말한다.
    3. 상수값과 비교할 경우
      상수 쪽을 변수 타입과 동일하게 바꾸고 비교한다.
      변수쪽이 char 유형이면 위의 char 유형 타입의 경우를 적용한다
      변수쪽이 varchar 유형 타입이면 위의 varchar 유형 타입의 경우를 적용한다

4. sql 연산자

  • between a and b
  • in (list)
  • like '%a%'
  • is null
  • % 는 0 개 이상의 어떤 문자를 의미함
  • _ 1개인 단일 문자를 의미함
  • NULL 은 비교가 불가능함을 잊지말기

5. 논리 연산자

  • AND, OR, NOT

6. 부정 연산자

  • 비교 연산자 + '!' or NOT

7. ROWNUM, TOP 사용

  • ROWNUM : Oracle 에서 사용하는 ROWNUM 은 SQL 처리 결과 집합의 각 행에 대해 임시로 부여되는 일련번호로, 테이블이나 집합에서 원하는 만큼의 행만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용

  • TOP : 출력되는 행의 수를 제한

profile
Mechanical & Computer Science

0개의 댓글

관련 채용 정보