본문 바로가기
자격증/SQL개발자(SQLD)

3-5장. SQL 기본(WHERE 절)

by 김엉배 2023. 5. 23.
728x90
반응형

 

SQLD 단원별 목록으로


1. WHRER 조건절 개요

- 자료를 검색할 때 SELECT 절과 FROM 절만을 사용하여 기본적인 SQL 문장을 구성한 다면, 테이블에 있는 모든 자료들이 결과로

  출력되어 실제로 원하는 자료를 확인하기 어려 울 수 있다. 사용자들은 자신이 원하는 자료만을 검색하기 위해서 SQL 문장에

  WHERE 절을 이용하여 자료들에 대하여 제한할 수 있다.

WHERE 절은 FROM 절 다음에 위치

  • WHERE절 조건식
    - 칼럼(Column)명 (보통 조건식의 좌측에 위치)
    - 비교 연산자
    - 문자, 숫자, 표현식 (보통 조건식의 우측에 위치)
    - 비교 칼럼명 (JOIN 사용 시)

 


2. 연산자의 종류

  • WHERE 절에 사용되는 연산자는 3가지 종류
    - 비교 연산자 (부정 비교 연산자 포함)
    - SQL 연산자 (부정 SQL 연산자 포함)
    - 논리 연산자

  • 연산자의 우선순위
    - 괄호로 묶은 연산이 제일 먼저 연산 처리된다.
    - 연산자들 중에는 부정 연산자(NOT)가 먼저 처리
    - 비교 연산자(=,>,>=,<, <=), SQL 비교 연산자(BETWEEN a AND b, IN (list), LIKE, IS NULL)가 처리
    - 논리 연산자 중에서는 AND, OR의 순으로 처리된다.

 

 


3. 비교 연산자

 


4. SQL 연산자

- SQL 문장에서 사용하도록 기본적으로 예약되어 있는 연산자로서 모든 데이 터 타입에 대해서 연산이 가능한 4가지 종류가 있다.

  • LIKE 연산자에서의 와일드카드(WildCard)
    - 한 개 혹은 0개 이상의 문자를 대신해서 사용하기 위한 특수 문자를 의미
    - "%"  : 0개 이상의 어떤 문자를 의미
    - "_ "  : 1개인 단일 문자를 의미
    ex) “장”씨 성을 가진 선수들의 정보를 조회하는 WHERE 절을 작성한다.

  • IS NULL 연산자 : NULL(ASCII 00)은 값이 존재하지 않는 것으로 확정되지 않은 값을 표현할 때 사용
    - NULL 값과의 수치연산은 NULL 값을 리턴
    - NULL 값과의 비교연산은 거짓(FALSE)을 리턴
    - 어떤 값과 비교할 수도 없으며, 특정 값보다 크다, 적다고 표현할 수 없다.

 


5. 논리 연산자

- 비교 연산자나 SQL 비교 연산자들로 이루어진 여러 개의 조건들을 논리적으 로 연결시키기 위해서 사용되는 연산자라고 생각하면 된다.

 

 


6. 부정 연산자

- 비교 연산자, SQL 비교 연산자에 대한 부정 표현을 부정 논리 연산자, 부정 SQL 연산 자로 구분할 수 있다.

 

 


7. ROWNUM, TOP 사용

  • ROWNUM : 테이블이나 집합에서 원하는 만큼의 행 만 가져오고 싶을 때 WHERE 절에서 행의 개수를 제한하는 목적으로 사용
    - 한 건의 행만 가져오고 싶을 때
      ex) SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM = 1;
      ex) SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM <= 1;
      ex) SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM <2;

    - 두 건 이상의 N 행을 가져오고 싶을 때는 ROWNUM = N; 처럼 사용할 수 없고 아래와 같이 사용
      ex) SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM <= N;
      ex) SELECT PLAYER_NAME FROM PLAYER WHERE ROWNUM <= N+1;  → 행의 한계를 지정할 수 있다.

    - 테이블 내의 고유한 키나 인덱스 값을 만들 수 있다.
       ex) UPDATE MY_TABLE SET COLUMN1 = ROWNUM;
  • TOP 절
    - SQL Server는 TOP 절을 사용하여 결과 집합으로 출력되는 행의 수를 제한할 수 있다.
    - Expression : 반환할 행의 수를 지정하는 숫자이다.
    - PERCENT : 쿼리 결과 집합에서 처음 Expression%의 행만 반환됨을 나타낸다.
    - WITH TIES : ORDER BY 절이 지정된 경우에만 사용할 수 있으며,
                            TOP N(PERCENT)의 마지막 행과 같은 값이 있는 경우 추가 행이 출력되도록 지정할 수 있다.

ex) 두 건 이상의 N 행을 가져오고 싶을 때는
    -
SELECT TOP(N) PLAYER_NAME FROM PLAYER; 처럼 출력되는 행의 개수를 지정할 수 있다.

 

728x90
반응형