본문 바로가기
SQL 문제 풀기/2. SQLD 기출 : 2024.3.01~2024.4.25

<SQLD 42> like 연산자에 대한 기출문제

by HYEHYE_SON 2024. 4. 11.
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 옵션을 사용해야한다.

따라서 정답은

 

 

반응형