Trong mã định danh chuẩn SQL cần được đặt trong dấu ngoặc kép (" ). Và cơ sở dữ liệu Oracle tuân thủ tiêu chuẩn ở đó.
Dấu ngoặc kép (' ) dành cho các hằng số ký tự, ví dụ:như bạn đã làm trong semester='Spring' , họ có thể không được sử dụng cho các định danh như tên cột, tên bảng hoặc bí danh cột.
Vì vậy, bạn cần sử dụng:
classes.limit-classes.class_size as "seats_available"
Tuy nhiên, bạn không thực sự cần dấu ngoặc kép, vì mã định danh của bạn không chứa bất kỳ ký tự không hợp lệ nào, vì vậy
classes.limit-classes.class_size as seats_available
cũng sẽ hoạt động tốt
Không liên quan, nhưng:các số không nên được đặt trong dấu ngoặc kép 2017 là một hằng số, '2017' là một hằng số chuỗi. Vì vậy, bạn nên sử dụng where year = 2017 thay vào đó