The Recognition Approach
A practical framework for learning, reading, reasoning about, and verifying SQL.
SQL competence is not one skill. It is a collection of related abilities: recognizing familiar structures, recalling syntax, reading existing queries, predicting behavior, verifying results, testing assumptions, and practicing until those abilities transfer to unfamiliar problems.
I developed The Recognition Approach as a practical way to separate those abilities so they can be taught, practiced, and strengthened deliberately.
The idea grew from a simple observation: people are often asked to learn SQL as though expertise means remembering a large inventory of syntax. But experienced SQL practitioners frequently work another way. They encounter a problem, recognize its underlying shape, and connect that shape to structures they have seen before.
Pattern recognition itself is not a new human ability, nor is the idea that experienced programmers recognize familiar structures. The Recognition Approach is my framework for applying that principle deliberately to SQL learning and extending it beyond query writing into reading, prediction, verification, adversarial testing, and repeated practice.
Seven abilities, not one
Treating these abilities separately makes it possible to identify what a learner already understands, what still needs practice, and what kind of practice will actually help.
Recognition
Identify the underlying shape of a SQL problem and connect it to structures, relationships, and solution patterns seen before.
Recall
Produce the syntax or structure needed to construct a query when starting from a blank editor.
Reading
Reconstruct what existing SQL actually does, including SQL written by another developer, generated by a tool, or produced by AI.
Prediction
State what a query should do and what result it should produce before relying on execution as the answer.
Verification
Test whether a query satisfies its intended purpose rather than assuming that valid syntax or plausible output means the query is correct.
Adversarial testing
Use NULLs, duplicates, ties, missing rows, boundaries, partial periods, unexpected relationships, and other difficult conditions to expose hidden assumptions.
Deliberate practice
Exercise these abilities repeatedly and independently until they become transferable skills rather than solutions remembered from a particular example.
Why the distinction matters
A learner can be strong in one SQL ability and still need development in another.
Recognition is not recall
Seeing the solution pattern when it appears is different from reproducing it from memory on demand.
Reading is not writing
Understanding an existing query requires a different kind of reasoning than constructing one from scratch.
Execution is not proof
A query can run successfully and return plausible results while still answering the wrong question.
SQL in an AI-assisted world
The ability to produce SQL is becoming easier to outsource. SQL can be suggested by an IDE, retrieved from an existing codebase, adapted from documentation, generated by AI, or written by another person on a team.
That makes reading and verification more important, not less. Someone still has to determine what the query means, what assumptions it makes, whether those assumptions match the data, and whether the result actually answers the intended question.
The Recognition Approach therefore treats SQL fluency as more than syntax production. It emphasizes the ability to recognize structure, interrogate behavior, predict outcomes, and produce evidence for a conclusion.
The framework in published work
The Recognition Approach is expressed across a growing body of Baldwin Apps books and software, with different properties developing different parts of the framework.
SQL Patterns: The Recognition Approach
Introduces recognition-based SQL learning: identifying reusable
query shapes and connecting new problems to familiar structures
instead of treating every query as an isolated syntax exercise.
View SQL Patterns →
SQL Puzzles & Brain Teasers
Extends the learning system through problem solving, reasoning,
transfer, and deliberate practice.
View SQL Puzzles & Brain Teasers →
SQL Queries for Bad Data
Develops the adversarial side of SQL reasoning by examining
queries against incomplete, malformed, misleading, and difficult
data conditions.
View SQL Queries for Bad Data →
How to Read SQL
Extends the framework into systematic query reading, prediction,
testing, and verification through the Cross-Examination Method.
The work is available in English, Spanish, Brazilian Portuguese,
and Canadian French.
View How to Read SQL →
SQL Bubble Pop
Turns technical skill development into interactive practice,
providing another environment for repetition, recognition, and
applied SQL learning.
Download SQL Bubble Pop →