SQL Server эквивалент использования MySQL - PullRequest
4 голосов
/ 13 мая 2009

В MySQL вы можете использовать ключевое слово USING в соединении, когда вы объединяете столбцы из разных таблиц с одинаковыми именами. Например, эти запросы дают одинаковый результат:

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

Есть ли эквивалентный ярлык в SQL Server?

Ответы [ 3 ]

13 голосов
/ 13 мая 2009

Нет, нужно использовать:

SELECT * FROM user INNER JOIN perm ON user.uid = perm.uid
5 голосов
/ 13 мая 2009

Нет, SQL Server не поддерживает этот вид ярлыков.

Я хотел бы отметить, что даже если это так, ярлыки, подобные этим, не являются хорошей идеей. Недавно я работал над базой данных, где разработчики подумали, что было бы неплохо использовать ярлыки *= and =* для RIGHT JOIN и LEFT JOIN. Хорошая идея, пока кто-то не повысил уровень совместимости SQL до 90. Тогда это стало крайне плохой идеей.

Итак, учитесь у нас. Ярлыки плохие. Небольшой дополнительный набор текста никого не убил.

1 голос
/ 13 мая 2009

Кроме того, я бы добавил, чтобы не использовать дикие символы, "*" в вашем операторе выбора - явно укажите имя столбца.

...