El "SELECT SINGLE" sirve para hacer una consulta cuando tienes los campos claves, de tal forma que te devolverá solo un registro. Esté registro podrás guardarlo en una estructura, o si por el contrario deseas solo un campo, podrás coger el campo deseado y guardarlo en una variable.
El "UP TO 1 ROWS" se utiliza cuando haces una consulta pero no accedes con toda la clave, con lo que dicha consulta te devolverá varios registros o lineas. Si de todas estas lineas recogidas solo te interesa la 1º, utilizarás esta sentencia. Por ejemplo si quieres recoger las 5 primeras lineas, pondrás UP TO 5 ROWS,...
Espero haberte aclarado un poco más.