Информация об изменениях

Сообщение Re[6]: В SQL не хватает подвариантов join? от 22.02.2017 18:04

Изменено 22.02.2017 18:17 _ilya_

Re[6]: В SQL не хватает подвариантов join?
Здравствуйте, _ABC_, Вы писали:

_AB>Вот это "видимо" крайне сомнительно. Крайне. Я это к тому, что не надо обвинять инструмент, который ты не знаешь и делать выводы по нему.


Я просто не вижу простого решения присоединить таблицу и если есть соответствие, то выбрать только одно значение а не все (с учетом моей заданной сортировки). В классическом SQL, разные подварианты SQL серверов видимо имеют такие возможности. Но чтобы на всех платформах было просто и лаконично — выбрать например все продажи и максимальную цену из чека... Чего проще, то? Выливается в то что например спецы по Oracle которым много денег платят, не отвечают за MS SQL, а если в MS SQL такой запрос писать без временных таблиц, а на сильно тормозящих вложенных подзапросах, то все выливается в мегафейл. Тут и к оптимизатору SQL сервера тоже вопросы... написано 2 запроса — через left join и через вложенный запрос. Разница по скорости — порядок, а результат и замысел естественно один ибо запрос одинаков по сути и возвращает всегда одинаковый результат.
Re[6]: В SQL не хватает подвариантов join?
Здравствуйте, _ABC_, Вы писали:

_AB>Вот это "видимо" крайне сомнительно. Крайне. Я это к тому, что не надо обвинять инструмент, который ты не знаешь и делать выводы по нему.


Я просто не вижу простого решения присоединить таблицу и если есть соответствие, то выбрать только одно значение а не все (с учетом моей заданной сортировки). В классическом SQL, разные подварианты SQL серверов видимо имеют такие возможности. Но чтобы на всех платформах было просто и лаконично — выбрать например все продажи и максимальную цену из чека... Чего проще, то — все из первой и при наличии связи например max(price) из связанной?
Вся такая не лаконичность и разность платформ, выливается в то, что например спецы по Oracle которым много денег платят, не отвечают за MS SQL, а если в MS SQL такой запрос писать без временных таблиц, а на сильно тормозящих вложенных подзапросах, то все выливается в мегафейл. Тут и к оптимизатору SQL сервера тоже вопросы... написано 2 запроса — через left join и через вложенный запрос. Разница по скорости — порядок, а результат и замысел естественно один ибо запрос одинаков по сути и возвращает всегда одинаковый результат.