LIKE 조건식

    LIKE 조건식은 문자열의 패턴을 검색할 때 사용하는 조건식이다. 예를 들어, 사원 테이블에서 사원이름이 ‘A’로 시작되는 사원을 조회하는 쿼리를 작성한다면 다음과 같이 LIKE 조건식을 사용한다.

    입력

        SELECT emp_name
          FROM employees
         WHERE emp_name LIKE 'A%'
         ORDER BY emp_name;
    

    결과

        EMP_NAME
        -------------------------------
        Adam Fripp
        Alana Walsh
        Alberto Errazuriz
        Alexander Hunold
        Alexander Khoo
        Alexis Bull
        Allan McEwen
        Alyssa Hutton
        Amit Banda
        Anthony Cabrio
         
        10개의 행이 선택됨
    

    LIKE ‘A%’의 의미는 사원명 첫 글자는 ‘A’로 시작하되 나머지는 어떤 글자가 와도 상관없이 모두 조회하라는 의미다.

    입력

        SELECT emp_name
          FROM employees
         WHERE emp_name LIKE 'Al%'
         ORDER BY emp_name;
    

    결과

        EMP_NAME
        -------------------------------
        Alana Walsh
        Alberto Errazuriz
        Alexander Hunold
        Alexander Khoo
        Alexis Bull
        Allan McEwen
        Alyssa Hutton
         
        7개의 행이 선택됨.
    

    Al로 시작되는 모든 사원을 조회한 쿼리다. ‘%’는 앞, 뒤, 중간 어디나 올 수 있으며 조건식을 검색할 때 대소문자를 구분한다는 점을 주의하자. ‘%’와는 다르게 ‘_’(밑줄, 언더스코어)는 나머지 글자 전체가 아닌 한 글자만 비교한다.

    입력

        CREATE TABLE ex3_5 (
               names VARCHAR2(30));
    

    결과

        table EX3_5이(가) 생성되었습니다.
    

    입력

        INSERT INTO ex3_5 VALUES ('홍길동');
    
        INSERT INTO ex3_5 VALUES ('홍길용');
    
        INSERT INTO ex3_5 VALUES ('홍길상');
    
        INSERT INTO ex3_5 VALUES ('홍길상동');
    
    
        SELECT *
          FROM ex3_5
         WHERE names LIKE '홍길%';
    

    결과

        NAMES
        ---------
        홍길동
        홍길용
        홍길상
        홍길상동
    

    입력

        SELECT *
          FROM ex3_5
         WHERE names LIKE '홍길_';
    

    결과

        NAMES
        --------
        홍길동
        홍길용
        홍길상
    

    결과를 보면 알 수 있듯이, ‘홍길상동’의 경우 ‘%’를 사용했을 때는 조회되었으나, ‘_’를 사용했을 때는 한 글자만 비교하므로 검색되지 않았다.

    신간 소식 구독하기
    뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.