In my database class, students write solutions as group exercises against the Oracle 11g XE database and then they port the solution individually to the MySQL 5.5 database. One of the students copied over a query like the one below to MySQL (a query used to track the expected number of row returns).
SELECT COUNT(*) FROM (SELECT DISTINCT k.kingdom_id , kki.kingdom_name , kki.population FROM kingdom_knight_import kki LEFT JOIN kingdom k ON kki.kingdom_name = k.kingdom_name AND kki.population = k.population);
It got an error they didn’t understand:
ERROR 1248 (42000): Every derived TABLE must have its own alias
Providing a dt
query alias fixes the problem in
MySQL for the following query. The fact that it was just an alias
was a revelation to the student. That’s because Oracle databases
don’t require aliases …