Запит SQL для обчислення другої найвищої зарплати в таблиці бази даних має назву Emp

  1. вибрати * з(
  2. вибрати name, salary, dense_rank()
  3. вище (порядок за описом зарплати)ранг від Emp)
  4. де rank = & num;
  5. Щоб обчислити другу за величиною зарплату, використовуйте num = 2.
  6. Щоб обчислити третю за величиною зарплату, використовуйте num = 3.
  7. і так далі…

SELECT MAX (column_name) FROM table_name WHERE column_name NOT IN (SELECT Max (column_name) FROM table_name); Спочатку ми вибрали максимальне значення з цього стовпця в таблиці, а потім знову здійснили пошук максимального значення в цьому стовпці, виключивши максимальне значення, яке вже було знайдено, тому в результаті вийшло друге максимальне значення.

Використання функції DENSE_RANK() Ранжування у функції DENSE_RANK() є цілими значеннями, починаючи з 1. У наведеному вище запиті замініть значення N на потрібний нам розряд зарплати. Наприклад, замініть N на 2, щоб отримати другу найвищу зарплату в таблиці.

І отримати доступ до всіх наших столиків. Тепер ми маємо доступ до таблиць. І таблиця співробітників, над якою ми працювали. Тож давайте швидко виставимо столи. тут.