• DBA Cabuloso (11/4/2015)


    I can try to explain,

    In the regular DBA job, we query our databases everyday.

    If we use Natural Join, it is more concise, we write less.

    We don't have to declare the ON clause if the fields have the same name. In my database models, very often (almost everytime) the Primary key and the Foreign Key have the same name. So we can JOIN tables faster and more clearly.

    In addition, the Natural JOIN implictly resolves the ambiguity, so, if the two fields are equal, we don't have to choose one to display. And in the Natural Join, if we use SELECT * the resultSet comes with only one ocurrence of the join fields.

    But as I said before, Natural Join should never come into Application code. Because if in the future we add to our tables some fields with the same name, such as (DateAltered) it will have an unexpected behavior. Maybe that's why Microsoft never implemented.

    Don't see any benefit from what you mention above. Besides, I prefer to make sure things are explicitly defined especially in my joins.