If you're a programmer of any kind, sooner or later, you need to understand the relational data model and normalization. They're useful to you in every field of programming; they're one of those magic technologies that can frequently turn 200 lines of code into 10 lines, converting a day-long task into something so simple you can do it off-the-cuff. SQL is by far the most accessible way to use the relational data model, whatever the merits of Tutorial D and Prolog, and once you start normalizing your data, you need joins.
If we were talking about cuckoo hashing, 386 assembly, or FIR filter design, I would agree that it's "one specific technology" that someone could easily pass over with little loss in many programming fields. But not knowing how to do a join is more like not knowing how to open a file or use floating-point math: it's a crippling deficiency in your skills as a programmer, one that will slow you down in a wide variety of tasks.
If we were talking about cuckoo hashing, 386 assembly, or FIR filter design, I would agree that it's "one specific technology" that someone could easily pass over with little loss in many programming fields. But not knowing how to do a join is more like not knowing how to open a file or use floating-point math: it's a crippling deficiency in your skills as a programmer, one that will slow you down in a wide variety of tasks.