SQL is a set-oriented language because it operates on sets of rows rather than processing rows individually. A single SQL statement can affect multiple rows simultaneously (UPDATE, DELETE, or bulk INSERT), which is the essence of set-oriented processing. This distinguishes SQL from procedural languages that process one record at a time.