2009-05-13 5 views
4

Dans MySQL, vous pouvez utiliser le mot-clé USING dans une jointure lorsque vous vous connectez sur des colonnes provenant de tables différentes portant le même nom. Par exemple, ces requêtes aboutissent au même résultat:SQL Server équivalent de MySQL UTILISATION

SELECT * FROM user INNER JOIN perm USING (uid) 
SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid 

Existe-t-il un raccourci équivalent dans SQL Server?

Répondre

13

Nope, doivent utiliser:

SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid 
5

Non, SQL Server ne supporte pas ce genre de raccourci.

Je tiens à souligner que même si c'était le cas, les raccourcis comme ceux-ci ne sont pas une bonne idée. J'ai récemment travaillé sur une base de données où les développeurs ont pensé que ce serait une bonne idée d'utiliser les raccourcis *= and =* pour RIGHT JOIN et LEFT JOIN. Bonne idée jusqu'à ce que quelqu'un a mis à niveau le niveau de Compatibilité SQL à 90. Ensuite, il est devenu une très mauvaise idée.

Alors, apprenez de nous. Les raccourcis sont mauvais. Un peu de frappe supplémentaire n'a jamais tué personne.

+0

Voulez-vous dire '* =' et '= *'? SO utilise des astérisques pour le formatage. –

+0

Oui, je voulais dire * = et = * - Merci Matt –

+0

@MattSolnit 'USING (uid)' n'est pas un raccourci pour 'ON user.uid = perm.uid' Donc vous ne pouvez pas dire, que l'utilisation de' USING' est une bonne ou une mauvaise idée – Vexator

1

En outre, je voudrais ajouter ne pas utiliser de caractères génériques, "*" dans votre instruction select - spécifiez explicitement le nom de la colonne.

+0

Vrai mais j'allais juste pour une courte requête pour illustrer l'utilisation de l'UTILISATION. Les détails de SELECT ici ne sont pas pertinents. – Dinah

Questions connexes