책 내용 질문하기
p.140
도서
2027 한 권으로 끝내는 시나공 SQLD + 시험장에 들고 가는 킬러 문항 32제
페이지
140
조회수
99
작성일
2026-08-09
작성자
진*
첨부파일

select addr_nm -- 생략 -- where addr_num like '%/%%' escape '/';



결과

서울시 여의도% 한화빌딩


여기서 결과가 1개만 나오는데요. 139페이지 addr 테이블에서

%가 포함된 행이 1002, 1003 2개가 출력되어야 하는게 아닌가요?


like '%/%%' escape '/'; 이 의미는 어떤 의미인가요?



답변
2026-08-10 07:52:56

안녕하세요.
먼저 꼼꼼히 확인해 주셔서 감사합니다. 질문하신 대로 이 쿼리의 결과는 2건이 나오는 것이 맞습니다.
해설의 결과 표기에 누락이 있었습니다. 아래 정오표를 참고해 주시기 바랍니다.


https://cafe.naver.com/f-e/cafes/31619577/articles/55?referrerAllArticles=false


like '%/%%' escape '/'의 의미를 설명드리면 다음과 같습니다.
ESCAPE '/'는 역슬래시(/) 뒤에 오는 문자를 와일드카드가 아닌 원래 문자 그대로 인식하라는 지정입니다.
즉 패턴 '%/%%'를 앞에서부터 끊어 보면,


첫 번째 % : 일반 와일드카드(임의의 문자열)
/% : ESCAPE 문자(/) 뒤의 %이므로 와일드카드가 아닌 실제 % 문자를 의미
마지막 % : 다시 일반 와일드카드(임의의 문자열)


정리하면 이 패턴은 '앞뒤에 어떤 문자열이 오든, 문자열 중간에 실제 % 기호를 포함하는 행'을 찾으라는 의미입니다.
따라서 139페이지 addr 테이블에서 실제 %가 포함된 1002, 1003 두 행이 모두 출력되어야 합니다.

  • 서*재
    2026-08-10 07:52:56

    안녕하세요.
    먼저 꼼꼼히 확인해 주셔서 감사합니다. 질문하신 대로 이 쿼리의 결과는 2건이 나오는 것이 맞습니다.
    해설의 결과 표기에 누락이 있었습니다. 아래 정오표를 참고해 주시기 바랍니다.


    https://cafe.naver.com/f-e/cafes/31619577/articles/55?referrerAllArticles=false


    like '%/%%' escape '/'의 의미를 설명드리면 다음과 같습니다.
    ESCAPE '/'는 역슬래시(/) 뒤에 오는 문자를 와일드카드가 아닌 원래 문자 그대로 인식하라는 지정입니다.
    즉 패턴 '%/%%'를 앞에서부터 끊어 보면,


    첫 번째 % : 일반 와일드카드(임의의 문자열)
    /% : ESCAPE 문자(/) 뒤의 %이므로 와일드카드가 아닌 실제 % 문자를 의미
    마지막 % : 다시 일반 와일드카드(임의의 문자열)


    정리하면 이 패턴은 '앞뒤에 어떤 문자열이 오든, 문자열 중간에 실제 % 기호를 포함하는 행'을 찾으라는 의미입니다.
    따라서 139페이지 addr 테이블에서 실제 %가 포함된 1002, 1003 두 행이 모두 출력되어야 합니다.

· 5MB 이하의 zip, 문서, 이미지 파일만 가능합니다.
· 폭언, 욕설, 비방 등은 관리자에 의해 경고없이 삭제됩니다.