Select single fetches first matching record. If more than one matching records are there then only the first matching record will be considered other records will not be taken into account. Whereas select up to 1 rows will fetch all the matching records from the database. (Again it will assign only One Record to the internal table/Work area)

Related questions