select * from emp where enmae between 'A' and 'Z' -> select * from emp where ename >= 'A' and ename <= 'Z'
동일한 의미입니다.
따라서 두 조건에 만족하는 데이터는 모두 나오게 되겠죠.
문자열 비교에 대해 간단히 설명해 드리면
제일 앞자리부터 제일 뒷자리까지 순차적으로 한자리씩 비교하게 되며
비교하는 양쪽 문자열이 서로 다른 값이 나올 때까지 비교하게 됩니다.
이때 문자 비교는 ASCII 값으로 비교하게 됩니다.
select ascii('a'), ascii('A') from dual
'a' -> 97과 'A' -> 65로 'a' 가 더 큰 값이 됩니다.
만약 짧은 쪽 문자열 마지막 글자까지 비교했는데 같다면
긴 쪽 문자열이 더 크다고 판단합니다.
첨부하신 그림에서 'A' 와 'ALLEN'을 비교하게 되면
첫 자리는 똑같은데 'ALLEN'이 'A'보다 길이가 길어서 'ALLEN'이 큰 값이 되는 것입니다.
따라서 위와 같은 조건으로 검색하게 되면 이름이 'ZARD'라는 사람이 있다면 검색 결과에
나오지 않게 되겠죠.