Je viens de lire sur une jointure naturelle / utilisation - SQL92 caractéristiques qui sont (malheureusement?) manquantes du répertoire actuel de SQL Server. P>
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!)? P>
4 Réponses :
Je n'utilise jamais J'utilise le Join Natural Code> 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. P>
à l'aide de code> 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 code> peut supporter, donc je le convertit à l'équivalent sur la syntaxe code> après tout. p>
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é. p>
Ê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. P>
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.
Souhaitez-vous envisager un SGBD qui était vraiment relationnel?: P>
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 p> blockQuote>
Source: " L'importance de la colonne Noms "de Hugh Darwen P>
C'est une question de commodité. non indispensable strong>, 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 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 em> (lecture: sucre syntaxique) est mauvais pour votre santé. Vous n'en avez pas besoin de toute façon. Em> p> Qu'est-ce qui est sympa dans le Je ne suis pas d'accord avec " seulement (...) " em>. Ou l'argument, que vous pourriez avoir besoin de conditions plus complexes. D'un point de vue différent, pourquoi utiliser 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 ... p> 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" p> Donc, alors que j'utilise personnellement Joindre en utilisant code> dans le code sérieux, écrit par des programmeurs sages autres que moi. Mais je me digresse). Joindre en utilisant la syntaxe code>, est-ce que cela fonctionne non seulement sur Noms de colonne forts >, mais aussi sur alias de colonne strong>, par exemple: p> rejoindre sur code>? Pourquoi ne pas être pur et déplacer toutes les conditions au où code> clause p> rejoindre sur code> 99% du temps, je ne ressens pas Schadenfreude quand il n'y a pas de jointure à l'aide de code> ou jointure naturelle code>. < / p> p>