I've only been programming for about 30 years, so yes still quite young, but during that time the C++/Java style object model has been king, and while it is based on objects, they are definitely not oriented. For orientation you need, at very least, message passing.
When was oriented programming popular and not just a cool novelty that rises up from time to time?
> Doesn't seem like a relation. Seems like you're referring to a single table with no relationship to other tables specified.
A table is represented by a relation[1], yes. A relation isn't a join. A relation is a set of tuples, by literal definition.
Does your confusion here stem from not being familiar with the relational model?
> String manipulation is what an orm does for you.
What string manipulation is required in the ORM phase? You must be thinking of query building, but that's a completely different level of abstraction. Many ORM toolkits also bundle query builders, but you could create an ORM toolkit that expects one to write SQL by hand. They are not intrinsically linked. In fact, most ORM toolkits, even those which come with query builders, do allow you to write SQL by hand if you prefer.
[1] Ignoring the peculiarities of SQL which deviate from the mathematically pure model.