2015-06-17 2 views
2

Это мой SQL запрос:В чем разница между присоединиться к синтаксису в T-SQL

SELECT 
    last_name, 
    department_name 
FROM 
    employees e, 
    departments d 
WHERE 
    e.department_id = d.department_id; 

И:

SELECT 
    last_name, 
    department_name 
FROM 
    employees e INNER JOIN 
    departments d ON e.department_id = d.department_id; 

В чем разница между этим?
И что является лучшим и быстрым запросом в SQL Server?

+2

Это неявные и явные обозначения соединений, ничего общего с T-SQL или PL/SQL. – potashin

+0

@suslov нет никакого различия между этим? и равна? – Behzad

+2

[Плохие привычки пинать: использование JOIN-проектов старого стиля] (http://sqlblog.com/blogs/aaron_bertrand/archive/2009/10/08/bad-habits-to-kick-using-old-style-joins. aspx) - этот стиль стиля * в стиле старого стиля * (ваш пример # 1) был заменен синтаксисом * надлежащего * ANSI 'JOIN' в стандарте ANSI - ** 92 ** SQL (** больше, чем 20 лет ** назад), и его использование ** обескуражено ** –

ответ

6

В чем разница между этим?

AFAIK, как делают INNER JOIN, сначала один, используя Implicit JOIN syntax а второй с использованием explicit join syntax

я бы не ожидал никакой разницы в производительности между ними, но во втором стиле запроса с использованием explicit join syntax гораздо более рекомендуется по первому, потому что это легкость чтения и очищает идею от того, что вы пытаетесь выполнить. Кроме того, первый стиль письма - это старый стиль.

+1

Да, ваше право. И, кстати, оба являются просто SQL, а не T-SQL или PL/SQL. – Ionic

3

Относительно производительности или результата не должно быть разницы. С SQL-сервером оптимизатор запросов фактически преобразует ваш запрос в наилучший найденный план выполнения. Оба запроса будут в конечном итоге соответствовать одному и тому же плану выполнения.

При использовании SQL-сервера запустите их с включенной опцией «План выполнения отображения».

Это скажет вам, как они выполняются (если есть какая-либо разница) и относительная разница в производительности.

Как говорили другие, предпочтительнее, но по синтаксису не являются характеристиками.

+1

Неплохое предложение, но на самом деле оно не отвечает на вопрос. Для этого нужны комментарии. – Air

Смежные вопросы