Выбор ответа Junior Язык запросов обновлено

ПЕРВЫЕ без сортировки

Вопрос

Запрос «ВЫБРАТЬ ПЕРВЫЕ 1 Ц.Цена ИЗ РегистрСведений.Цены КАК Ц ГДЕ Ц.Номенклатура = &Товар» должен вернуть последнюю цену. В чём ошибка?

Попробуйте сами

Выберите вариант, и откроется разбор.

Показать ответ и разбор

Коротко

Правильный ответ: Без УПОРЯДОЧИТЬ ПО порядок не гарантирован; лучше СрезПоследних. СУБД не обязана возвращать строки в каком-то порядке без явной сортировки.

Варианты ответа

  1. ПЕРВЫЕ нельзя использовать с таблицами регистра сведений
  2. Без УПОРЯДОЧИТЬ ПО порядок не гарантирован; лучше СрезПоследнихправильный ответ
  3. ПЕРВЫЕ 1 по умолчанию и так возвращает последнюю запись
  4. Нужно писать ПОСЛЕДНИЕ 1, чтобы получить свежую цену

Разбор

СУБД не обязана возвращать строки в каком-то порядке без явной сортировки. Последнюю цену дают сортировка по периоду по убыванию или, правильнее, виртуальная таблица СрезПоследних. ПЕРВЫЕ работает с любыми таблицами, а ключевого слова ПОСЛЕДНИЕ нет.

Ответьте сами, а не прочитайте

В тренажёре вопрос попадёт в повторения и вернётся, когда начнёт забываться. Плюс билеты с зачётом: 20 вопросов, не больше 2 ошибок.