728x90
매일 SQLD 기출 문제 풀기 챌린지
문제 42.
다음 주어진 데이터에 대해서 LIKE문을 사용하여 결과값에 "_" 가 들어간 문자열을 찾는 SQL문으로 올바른 것은?
[ TEST42 ]
USERID | USERNAME |
1 | __H |
2 | _B_ |
3 | ___ |
4 | D__ |
[ RESULT ]
USERID | USERNAME |
1 | __H |
2 | _B_ |
3 | ___ |
4 | D__ |
① SELECT * FROM SQLD31 WHERE NAME LIKE '%H';
② SELECT * FROM SQLD31 WHERE NAME LIKE '%#_%';
③ SELECT * FROM SQLD31 WHERE NAME LIKE '%@_%' ESCAPE '@';
④ SELECT * FROM SQLD31 WHERE NAME LIKE '%_%' ESCAPE '_';
해설해보기
위의 결과는 TEST42 테이블에서
USERNAME에 언더바(_)가 포함된 사람의
모든 행을 출력하는것을 의미한다.
like와 함께 쓰인 와일드카드(%)는 개수 상관없이 아무거나 와도 된다는 의미이며,
like와 함께 쓰인 언더바(_)는 1개의 자릿수를 나타내고, 이 자리에 뭐가 와도 관계없다는 의미이다.
③, ④ 에 사용된 escape 옵션
escape[특정문자]
특정 문자 바로 다음에 나오는 와일드카드(%) 혹은 언더바(_)는
특수문자로 사용되었다는 것을 알려주는 옵션이다.
특수문자나 공백문자등을 like로 검색하고 싶을 때 escape 옵션을 사용해야한다.
따라서 정답은
③
반응형
'SQL 문제 풀기 > 2. SQLD 기출 : 2024.3.01~2024.4.25' 카테고리의 다른 글
<SQLD 44> 조인에 대한 기출문제 (0) | 2024.04.13 |
---|---|
<SQLD 43> in 연산자 대한 기출문제 (0) | 2024.04.12 |
<SQLD 41> NULL 값 비교에 대한 기출문제 (0) | 2024.04.10 |
<SQLD 40> 서브쿼리에 대한 기출문제 (0) | 2024.04.09 |
<SQLD 39> 데이터 분석 함수에 대한 기출문제 (0) | 2024.04.08 |