ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 6.1 Special operators and clauses
    데이터베이스 시스템 2024. 10. 22. 12:54

    IN 연산자

    IN 연산자는 WHERE 절에서 사용되어 특정 값이 여러 값 중 하나와 일치하는지 여부를 확인하는 데 사용된다. 아래 그림의 SELECT 문은 IN 연산자를 사용하여 Language 열에 Dutch, Kongo, 또는 Albanian 값이 있는 행들만 선택한다.

    Figure 6.1.1: Using the IN operator

    SELECT *
    FROM CountryLanguage
    WHERE Language IN ('Dutch', 'Kongo', 'Albanian');
    더보기

    ABW   Dutch      T   5.3
    AGO   Kongo      F   13.2
    ALB   Albanian   T   97.9


    Between 연산자

    BETWEEN 연산자는 값이 두 다른 값 사이에 있는지 확인하는 또 다른 방법을 제공한다. 이 연산자는 value BETWEEN minValue AND maxValue로 작성되며, 이는 value >= minValue AND value <= maxValue와 동일하다.

    SELECT Name
    FROM Employee
    WHERE Hireplace >= '2000-01-01' AND HireDate <= '2020-01-01';
    
    SELECT Name
    FROM Employee
    WHERE Hireplace BETWEEN '2000-01-01' AND '2020-01-01';

    LIKE 연산자

    LIKE 연산자는 WHERE 절에서 사용될 때, 두 개의 와일드카드 문자 `%`와 `_`를 사용하여 패턴에 맞는 텍스트를 찾는다.

    • `%`는 임의의 길이의 문자를 매칭한다. 예: `LIKE 'L%t'`는 "Lt", "Lot", "Lift", "Lol cat" 등을 매칭한다.
    • `_`는 정확히 한 글자를 매칭한다. 예: `LIKE 'L_t'`는 "Lot"과 "Lit"을 매칭하지만, "Lt"와 "Loot"은 매칭하지 않는다.

    LIKE 연산자는 기본적으로 대소문자를 구분하지 않는 패턴 매칭을 수행하며, `BINARY` 키워드가 뒤따를 경우 대소문자를 구분하는 패턴 매칭을 수행한다. Ex: LIKE BINARY 'L%t'는 'Left'를 매칭하지만 'left'는 매칭하지 않는다.

    와일드카드 문자 `%` 또는 `_`를 검색하려면, 해당 문자 앞에 백슬래시(`\`)를 붙여야 한다. Ex: LIKE 'a\%'는 "a%"를 매칭한다.


    정규 표현식 (Regular Expressions)

    대부분의 관계형 데이터베이스는 정규 표현식을 사용하여 보다 고급 패턴 매칭을 수행할 수 있는 다른 메커니즘을 제공한다. Ex: MySQL은 REGEXP를 사용하여 텍스트를 정규 표현식과 비교한다. PostgreSQL은 SIMILAR TO를 사용하여 패턴 매칭을 수행한다.


    DISTINCT 절

    DISTINCT 키워드는 SELECT 문과 함께 사용되어 고유하거나 '중복되지 않는' 값만 반환한다.

    예: 아래 그림의 첫 번째 SELECT 문은 두 개의 'Spanish' 행을 반환하지만, 두 번째 SELECT 문은 고유한 언어만 반환하여 'Spanish' 행이 하나만 결과에 포함된다.

    Figure 6.1.3: SELECT DISTINCT example

    SELECT Language
    FROM CountryLanguage
    WHERE IsOfficial = 'F';
    
    SELECT DISTINCT Language
    FROM CountryLanguage
    WHERE IsOfficial = 'F';
    더보기

    Spanish, Balochi, Spanish

    Spanish, Balochi


    ORDER BY 절

    SELECT 문은 테이블에서 행을 선택할 때, 데이터가 특정한 순서로 반환된다는 보장이 없다. ORDER BY 절은 선택된 행들을 하나 이상의 열에 따라 오름차순(알파벳 순서 또는 증가하는 순서)으로 정렬한다. ORDER BY 절과 함께 사용되는 DESC 키워드는 행을 내림차순으로 정렬한다.

     

    Figure 6.1.4: Ordering by columns

    -- Order by Language (ascending)
    SELECT *
    FROM CountryLanguage
    ORDER BY Language;
    
    -- Order by Language (descending)
    SELECT *
    FROM CountryLanguage
    ORDER BY Language DESC;
    
    -- Order by CountryCode, then
    -- Language (ascending)
    SELECT *
    FROM CountryLanguage
    ORDER BY CountryCode, Language;
    더보기

    -- 1
    GAB   Fang    F   35.8
    GAB   Mbete   F   13.8
    FSM   Woleai  F    3.7
    FSM   Yap     F    5.8

    -- 2
    FSM   Yap     F    5.8
    FSM   Woleai  F    3.7
    GAB   Mbete   F   13.8
    GAB   Fang    F   35.8

    -- 3
    FSM   Woleai  F    3.7
    FSM   Yap     F    5.8
    GAB   Fang    F    35.8
    GAB   Mbete   F    13.8

    [출처: zyBooks]

    '데이터베이스 시스템' 카테고리의 다른 글

    6.3 Aggregate functions  (0) 2024.10.23
    6.2 Simple Functions  (0) 2024.10.22
    1.4 Database design and programming  (0) 2024.10.07
    1.3 Query languages  (0) 2024.10.05
    1.2 Database systems  (0) 2024.10.05
Designed by Tistory.