It surprises me that no SQL database to my knowledge has polymorphic joins as a first-class feature.
A polymorphic join is where a fk contains not just an id but an indicator of which table it refers to. So you could have a "tags" table, that can attach tags to any of a variety of other tables. Rails handles this by including the table name as a string.
This seems a reasonable thing to want to do, and it seems that the database could handle it by combining the fields from the target tables in the result.
I also think migrations ought to be a first-class feature…