Re: confusion about using BETWEEN keyword for characters.
Last Name will be selected if the last name begins with "r" or the last name is "s" followed by spaces. This is because the 'r' and 's' constants in your between are expanded to the same size as last_name before the compare. So 'Stein' is greater than 's ' (ie 's' packed with spaces).
If you want names beginning with R or S, you have to tell SQL to only check the first character of the name. ie
SELECT last_name FROM employee WHERE substring(last_name from 1 for 1) BETWEEN 'r' AND 's';