Uttrycket
name between 'A' and 'B'
motsvarar
name>='A' and name<='B'
Så 'Argentina' är>='A' och <='B' och det uppfyller villkoret. Men 'Bolivia' är INTE <='B'. 'Bolivia'>'B'. Den tittar inte bara på den första bokstaven:den ser på hela strängen. Vilket säkert är så det borde vara:om det inte gjorde det här skulle det inte finnas något sätt att säga att du ville ha ett sortiment som inkluderade 'Smith' men inte 'Smithers'.
För att uppnå det du vill kan du säga:
substr(name,1,1) between 'A' and 'B'
eller:
name like 'A%' or name like 'B%'
eller:
name>='A' and name<'C'