SQL in practice is not a purely mathematical construct: you have to know how to make use of spinning platters, indices, caches, locks, network connections, intricacies of data types and bunch of quirks and bugs of the RDBMS.
I've learned SQL before learning set theory properly. It turned out that I did understand (SQL-related parts of) it, I just didn't know it was called set theory :)
In my experience, this is a regional thing. For my first ten years in the industry (on the east coast), I never met another programmer who called herself an engineer. We were "analysts," "developers," or "programmers." Then I took a job with a local company with a tech office in SV, and everybody, including some of the testers, were "engineers" (hey, even I'm an engineer now!).
And that not everybody should know everything about the subclases.
If you think of yourself as developer(?), and Rick as a mathematician its fine!; the problem comes when Rick think you should behave as a mathematician because you are a programmer or viceversa.
The rest of us working on our sites, platforms, apps and what-have-you usually only see anything resembling math when dealing with things like UI and Interaction models, or typically soft-math areas like rating systems and segmentation.
Possibly inflammatory, but perhaps a better question would be: why do most programmers work so hard at pretending they're engineers?