It's not a strawman, it's reductio ad absurdum. SQL and Python are both languages that are commonly used. It would be (currently; who knows in a few years) laughable if someone said they didn't need to deeply understand Python to be able to correctly write Python at an employable level, modulo experience levels - I don't expect a Junior to know the vagaries of the language, e.g. that bools are aliased to integers.
> Even developers know little SQL unless it's their specific focus.
Yes, and I believe this to be deeply problematic. We don't generally allow people to use a language they don't understand in production, except for SQL.
> Where I live, every college level developer went through multiple semesters of database courses and yet I don't see these people proficient in SQL.
That's horrifying.
Look, while I would love it if everyone writing SQL knew relational algebra, basic set theory, and the ins and outs of their specific RDBMS implementation, I think the below suffices for the majority of work in web dev:
SELECT: extract the columns that are named, optionally with an alias with AS (or simply a space)
FROM: the [main] table to extract columns from
[INNER] JOIN: an additional table to examine, returning only their intersection
LEFT [OUTER] JOIN: an additional table to examine, returning everything in the LHS table, as well as any matches from the RHS table, with NULLs filling in missing data
RIGHT [OUTER] JOIN: the same as LEFT JOIN, but with the logic swapped
FULL [OUTER] JOIN: an additional table to examine, returning the union of both tables, regardless of matches
ON: an expression to use for joining tables, generally consisting of at least one column from each table to match
WHERE: a predicate (or series of predicates, with boolean operators joining them) to use for filtering the result set
ORDER BY: one or more columns to order the result set by, in either ascending (ASC) or descending (DESC) order
GROUP BY: one or more columns (though strictly speaking, this number must match the number of non-aggregated columns in the SELECT) to group the result set by
LIMIT: a limit for the maximum number of rows returned
You're telling me that given a simple educational schema like Northwind Traders, and the documentation for their RDBMS, that someone who already knows a programming language couldn't use the above to figure it out in a fairly short order?