En el estándar SQL, los identificadores deben estar entre comillas dobles (" ). Y la base de datos de Oracle cumple con el estándar allí.
Comillas simples (' ) son para constantes de caracteres, p. como hiciste en semester='Spring' , pueden no usarse para identificadores como nombres de columnas, nombres de tablas o un alias de columna.
Entonces necesitas usar:
classes.limit-classes.class_size as "seats_available"
Sin embargo, en realidad no necesita las comillas dobles, ya que su identificador no contiene caracteres no válidos, por lo que
classes.limit-classes.class_size as seats_available
funcionará igual de bien
Sin relación, pero:los números no estar entre comillas simples 2017 es una constante numérica, '2017' es una constante de cadena. Entonces deberías usar where year = 2017 en cambio