SQL Server * = оператор?

В C ++ вы бы

std::cout << boost::12_days_of_christmas;
25
задан slf 11 June 2009 в 21:39
поделиться

6 ответов

Немедленно удалите этот код и замените его левым соединением. Этот код не всегда интерпретируется правильно (иногда SQL Server решает, что это перекрестное соединение) даже в SQL Server 2000 и, следовательно, может давать неправильные результаты! Кроме того, в будущем он устарел.

Я собираюсь добавить, что при настройке на левые соединения вы должны также удалить все эти другие неявные соединения. Синтаксис неявного соединения был устаревшим с 1992 года, нет оправдания тому, что он все еще находится в рабочем коде. А смешивание неявных и явных объединений может дать неожиданные результаты.

26
ответ дан 28 November 2019 в 20:51
поделиться

Не-ANSI синтаксис для внешних объединений ( * = и = * ) находится в официальном списке устаревших функции, которые будут удалены в следующей версии SQL .

Следующая база данных SQL Server Функции двигателя не поддерживаются в следующей версии SQL Server. Делать не использовать эти функции в новых разработка и изменение приложения, которые в настоящее время используют эти как можно скорее.

Функция замены - это ANSI-совместимый синтаксис JOIN .

6
ответ дан 28 November 2019 в 20:51
поделиться

Это сокращенный синтаксис соединения. Взгляните на эту ветку, которая посвящена этой теме.

Сокращенный синтаксис соединения Transact-SQL?

5
ответ дан 28 November 2019 в 20:51
поделиться

Это левое внешнее соединение, = * - правое внешнее соединение.

Например, следующие равны:

  SELECT * FROM Table1 LEFT OUTER JOIN Table2 ON Table1.ID = Table2.FK_ID

  SELECT * FROM Table1, Table2 WHERE Table1.ID *= Table2.FK_ID
11
ответ дан 28 November 2019 в 20:51
поделиться

Я считаю, что это «операторы внешнего соединения, отличные от ANSI». Уровень совместимости вашей базы данных должен быть 80 или ниже.

1
ответ дан 28 November 2019 в 20:51
поделиться

Это старый оператор левого внешнего соединения синтаксиса ANSI (ANSI-89). Я бы рекомендовал не использовать его - синтаксис ANSI более подробный и более читаемый.

0
ответ дан 28 November 2019 в 20:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: