11
votes

SQL Server - Manque de jointure naturelle / x Joindre Y en utilisant (champ)

Je viens de lire sur une jointure naturelle / utilisation - SQL92 caractéristiques qui sont (malheureusement?) manquantes du répertoire actuel de SQL Server.

Est-ce que quiconque vient d'un SGBM qui a appuyé cela sur SQL Server (ou un autre SGDM non justificatif) - étaient-ils aussi utiles qu'elles sonnent, ou une boîte de vers (qui sonne également possible!)?


0 commentaires

4 Réponses :


17
votes

Je n'utilise jamais Join Natural Parce que je n'aime pas la possibilité que la jointure puisse faire quelque chose que je n'éteigne pas simplement parce que certains noms de colonne existent dans les deux tables.

J'utilise le à l'aide de Joindre la syntaxe de temps en temps, mais aussi souvent, il est souvent possible que j'ai besoin d'une condition de jointure plus complexe que à l'aide de peut supporter, donc je le convertit à l'équivalent sur la syntaxe après tout.


0 commentaires

1
votes

Je ne vois pas la valeur de l'utilisation de l'utilisation ou de la syntaxe naturelle - comme vous l'avez rencontrée, uniquement sur la mise en œuvre de manière constante, il est donc préférable d'obtenir le point de vue de la portabilité.

Être explicite est également meilleur pour la maintenance, en plus de la limitation des alternatives pour faire face aux situations. Je préférerais aussi que mon codebase soit cohérent.


1 commentaires

La jointure naturelle a le bon effet secondaire d'appliquer des noms appropriés des colonnes. Sinon, vous vous retrouvez avec des opérations de jointure, vous n'avez jamais voulu. Mais si vous nommez vos colonnes correctement, c'est un raccourci très pratique et naturel.



9
votes

Souhaitez-vous envisager un SGBD qui était vraiment relationnel?:

dans le tutoriel d [un véritable relationnel langue], le seul opérateur "rejoindre" est appelé join, et cela signifie "naturel rejoindre "... il ne devrait y avoir aucune autre sorte de rejoindre ... Peu de gens ont eu le expérience d'utiliser un bon langue relationnelle. De ceux qui avoir, je soupçonne fortement qu'aucun des ils se sont déjà plongés de certains inconvénient perçu dans le couplage colonnes selon leurs noms

Source: " L'importance de la colonne Noms "de Hugh Darwen


0 commentaires

2
votes

C'est une question de commodité. non indispensable , mais il devrait avoir sa place, par exemple en interrogation interactive (chaque frappe nous rapproche de la RSI, de toute façon), ou certains cas simples de SQL écrits à la main même dans code de production / em> (oui, j'ai écrit ça. Et même vu Joindre en utilisant dans le code sérieux, écrit par des programmeurs sages autres que moi. Mais je me digresse).

J'ai trouvé cette question quand À la recherche de confirmation que SS manque cette fonctionnalité et je l'ai eu. Je ne suis déconcerté que par la quantité de haine contre cette syntaxe, que j'attribue au syndrome des raisins acides. Je me sens amusé lors de la conférence avec une tonalité condescendante Sweets (lecture: sucre syntaxique) est mauvais pour votre santé. Vous n'en avez pas besoin de toute façon.

Qu'est-ce qui est sympa dans le Joindre en utilisant la syntaxe , est-ce que cela fonctionne non seulement sur Noms de colonne , mais aussi sur alias de colonne , par exemple: xxx

Je ne suis pas d'accord avec " seulement (...) ". Ou l'argument, que vous pourriez avoir besoin de conditions plus complexes. D'un point de vue différent, pourquoi utiliser rejoindre sur ? Pourquoi ne pas être pur et déplacer toutes les conditions au clause xxx

Je pouvais maintenant aller en colère et argumenter, comment c'est la voie la plus propre Pour exprimer une jointure, et vous pouvez immédiatement commencer à ajouter plus de conditions dans la clause WH où vous avez habituellement besoin de toute façon, bla bla bla ...

Vous ne devez pas manquer cette syntaxe particulière, mais Il n'y a rien à être heureux de ne pas l'avoir ( "ESTEW, qui était proche. Tellement bon de ne pas avoir de rejoindre. J'étais épargné beaucoup de douleur"

Donc, alors que j'utilise personnellement rejoindre sur 99% du temps, je ne ressens pas Schadenfreude quand il n'y a pas de jointure à l'aide de ou jointure naturelle . < / p>


0 commentaires