1. Мегаконкурс в апреле "Приведи друзей на codeby". Дарим деньги, подписку на журнал хакер и выдаем статус "Paid Access". Подробнее ...

    Скрыть объявление

Вопрос по Microsoft SQL Server

Тема в разделе "SQL", создана пользователем Guest, 9 ноя 2003.

Наш партнер Genesis Hackspace
Статус темы:
Закрыта.
  1. Guest

    Guest Гость

    Можно ли сделать так, что бы запрос вроде

    SELECT first.cname, second.cname, first.rating
    FROM Customers first, Customers second
    WHERE first.rating = second.rating;

    не "переделывался" в

    SELECT [first].CNAME, [second].CNAME AS Expr1, [first].RATING
    FROM Customers [first] INNER JOIN
    Customers [second] ON [first].RATING = [second].RATING

    ?
     
  2. Sir Alex

    Sir Alex Гость

    2 Guest

    1. Где это он так "переделывается" (т.е. в какой программе)?
    2. На счет полей: Второе поле превратилось в Expr1 потому, что у Вас два поля с одинкаовым названием, CNAME, CNAME, RATING.
    3. По поводу FROM:

    FROM Customers first, Customers second
    WHERE first.rating = second.rating;
    и
    FROM Customers [first] INNER JOIN
    Customers [second] ON [first].RATING = [second].RATING

    одно и тоже, только написано 2 разными способами...
     
  3. ????

    ???? Гость

    Guest
    Sir Alex абсолютно прав. А происходит данное преобразования для уменьшения скорости обработки запроса. JOIN'ы выполняются быстрее, вот и Query optimizer MS Server'а переделывает.
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей