|
|
|
|
|
by mattmanser
305 days ago
|
|
It's because it's logically in the wrong order, it should be: FROM Users
WHERE Type = 'Foo'
SELECT id, name
They use the right order in a lot of ORMs and as I was a SQL expert (but not master), I found it so jarring at first.You probably have the reverse problem, it doesn't fit your mental model which is in fact the right logical model. It gets even worse when you add LIMIT/TOP or GROUP BY. SQL is great in a lot of ways, but logically not very consistent. And UPDATE now I think about it, in SQL Server you get this bizarreness: UPDATE u
SET u.Type = 'Bar'
FROM Users u
JOIN Company c on u.companyId = c.id
WHERE c.name = 'Baz'
|
|
The semantics of SQL and a standard programming language are quite different as they are based on different computing/data model.