What's Really Happening with SQL for Testers Right Now
SQL is the quietest high-return skill in QA hiring right now. As teams automated the UI layer, the bugs that survive to production increasingly live in data — wrong joins, silent nulls, broken migrations, stale caches, and reporting mismatches. Interview loops have responded: a live SQL exercise now appears in a large share of mid and senior QA interviews, including for roles whose job title says nothing about data. It is also the skill that most often decides between two otherwise similar candidates, because it is objectively testable in fifteen minutes.
What we'd actually recommend
Get genuinely comfortable with joins, GROUP BY with HAVING, and window functions, in that order, and practise on a schema with deliberately messy data. The specific habit that pays: after every functional test you run, verify the database state rather than just the UI confirmation message. That single practice will find duplicate-write bugs, partial-rollback bugs, and timezone bugs that no UI assertion ever catches — and it gives you concrete stories to tell in interviews, which is what actually converts.
The pitfall: practising SELECT queries on clean, tiny datasets
Most candidates learn SQL from tutorials with five perfectly-populated rows, then freeze on the interview question that involves nulls. `LEFT JOIN` plus a `WHERE` clause on the right-hand table silently becomes an inner join; `COUNT(column)` skips nulls while `COUNT(*)` does not; `NOT IN` against a set containing a null returns nothing at all. These three appear constantly in real interview exercises precisely because they separate people who used SQL against production data from people who completed a course.
