2016-02-08 1 views
-2

Я пытаюсь проверить, хранятся ли значения DAY на уровне идентификатора сбыта. Они находятся в двух разных таблицах. Я создал два разных запроса. Может ли кто-нибудь сказать мне, какой из них прав.Объединение двух таблиц. Какой SQL правильный?

select S.sales_id,count(D.ID) from 
    W_SALES_ORDER_LINE_F S, 
    W_DAY_D D 
    where 
    D.ID = S.SCHEDULE_ID 
    group by S.sales_id ; 

ИЛИ

select S.sales_id,count(D.ID) from 
    W_SALES_ORDER_LINE_F S join 
    W_DAY_D D 
    on 
    D.ID = S.SCHEDULE_ID 
    group by S.sales_id ; 

Я пытаюсь улучшить производительность. Поэтому я хочу знать, основываясь на их характеристиках и времени исполнения и т. Д.

+6

Это тот, который дает правильный ответ. –

+3

@Dilip Оба запроса одинаковы, но с другим синтаксисом. Последнее предпочтительнее. – algor

+0

Что вы подразумеваете под «правом»? Один или оба не работают? Что вы ожидаете получить против того, что вы получаете? – Becuzz

ответ

2

Оба эквивалентны, но последний запрос предпочтительнее, так как он соответствует новому стандарту SQL ANSI-92.

1

Оба запроса дадут те же результаты.

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