В MySQL Shell два почти идентичных запроса. Один работает, другой нет. Разница является ключевым словом. Это почему?
Рабочий запрос просто получает зарплату по вашему выбору в зависимости от того, какое число лимитов вы используете в подзапросе. Так что «Предел 4» даст вам четвертую самую высокую зарплату
SELECT SALARY
FROM (
SELECT DISTINCT SALARY
FROM TBLEMPLOYEE
ORDER BY SALARY DESC LIMIT 3
) RESULT
ORDER BY SALARY LIMIT 1
Это успешно дает третью самую высокую зарплату.
Если я уберу слово «результат», оно больше не будет работать. Какую функцию выполняет результат? Это псевдоним? Я получаю это:
ОШИБКА 1248 (42000): каждая производная таблица должна иметь свой псевдоним