2026, 새로운 도약을 시작합니다.

제가 잘못 알고 있나요? 채택완료

select * from shop_member where mb_id between 'a' and 'b'

이렇게 쿼리문을 날리면 아이디가 a로 시작하는거나 b로 시작하는거

모두 나와야하는거 아닌가요?

a로 시작하는 것만 나오네요...ㅠ

답변 2개

채택된 답변
+20 포인트

between절은 범위를 검색하는 거고 질문 내용대로 찾으시려면

like절 쓰셔야 합니다

SELECT * FROM shop_member WHERE mb_id LIKE 'a%' OR LIKE 'b%';

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

네..그렇습니다.
a부터 b까지 자료를 뽑아내야하지요.
그런데 a만 나온다는 거지요.
select * from shop_member where mb_id between 'a' and 'g'
이렇게 날리면 a,b,c,d,e,f 까지만 나와요~ㅎ

댓글을 작성하려면 로그인이 필요합니다.

a로 시작하는 것만 나오네요...ㅠ

<----당연하죠

mb_id between 'a' and 'b' ==> mb_id >= 'a' and  mb_id <= 'b' 이렇게 되는데

아이디가 b한글자로만 되어있다면 당연히 출력 됩니다

그러나 아이디가 bbbb, b1234, basdfg, best1234 이런 것은 b보다 크죠 그러니 당연히 안 나옵니다

따라서 mb_id between 'a' and 'c' 이렇게 해야 a, b로 시작하는 아이디가 나옵니다

( c한글자로만 된 아이디는 없으니 c로 시작하는 아이디는 출력 되지않습니다)

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

아 그렇겠네요. 조언 감사합니다.

댓글을 작성하려면 로그인이 필요합니다.

답변을 작성하려면 로그인이 필요합니다.

로그인
🐛 버그신고