4 ms·
I take the opposite view, SQL is very high level. It's a declarative language that in theory abstracts you away from the underlying execution environment, it's
by djhworld 8y ago
I take the opposite view, SQL is very high level.
It's a declarative language that in theory abstracts you away from the underlying execution environment, it's up to that engine to work out how to optimally execute the query, you as a programmer should focus on the data you require.
- davnicwil 8y agoThis is all layers of abstraction, I think the GP is saying it's low level in the frame of reference of the data and relationships, which is true because you have to explicitly join everything together 'by hand' even though you could imagine abstractions that could be built on top, making this unnecessary. In the frame of reference of how the queries get executed, yes it's high level. But this is the same thing that could be said for, say, C - it's high level in the frame of reference of CPU instructions, low level in the frame of reference of memory management.
- michelpp 8y ago> I think the GP is saying it's low level in the frame of reference of the data and relationships, which is true because you have to explicitly join everything together 'by hand' even though you could imagine abstractions that could be built on top, making this unnecessary. Data abstractions in SQL are accomplished with views: https://www.postgresql.org/docs/current/sql-createview.html https://www.postgresql.org/docs/current/sql-createview.html Model your most common joins once into a view, then use the view instead of repeating the joins everywhere.