• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Вопрос по Microsoft SQL Server

  • Автор темы Guest
  • Дата начала
Статус
Закрыто для дальнейших ответов.
G

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

?
 
S

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 разными способами...
 
?

????

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

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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!