Natural join in SQL Server

No, and thank the lucky stars

I can’t believe that you’d want the engine to guess the JOIN for you

Related links:

  • SQL Server – lack of NATURAL JOIN / x JOIN y USING(field)
  • is NATURAL JOIN any better than SELECT FROM WHERE in terms of performance ?

Edit, to explain why

  • The JOIN (whether USING or ON) is clear and explicit
  • I should be able to name my columns for the entity stored in the table, without worrying about what a column is called in another table, without NATURAL JOIN side effects

Quoting Bill Karwin in this excellent answer:

I never use NATURAL JOIN because I don’t like the possibility that the
join could do something I don’t intend just because some column name
exists in both tables.

Leave a Comment

Hata!: SQLSTATE[HY000] [1045] Access denied for user 'divattrend_liink'@'localhost' (using password: YES)