SQLсервер в Linux -самостоятельное освоение пакета

         

Использование секций LIMIT и OFFSET



Листинг 4.45. Использование секций LIMIT и OFFSET

booktown=# SELECT isbn, title, publication

booktown-# FROM editions NATURAL JOIN books AS b (book_id)

booktown-# ORDER BY publication DESC

booktown-# LIMIT 5;

isbn | title | publication

0596000855 | Programming Python | 2001-03-01

0451457994 | 2001: A Space Odyssey | 2000-09-12

0451198492 | 2001: A Space Odyssey | 1999-10-01

044100590X | Dune | 1999-10-01

0929605942 | The Tell-Tale Heart | 1998-12-01

(5 rows)

booktown=# SELECT isbn, title, publication

booktown-# FROM editions NATURAL JOIN books AS b (book_id)

booktown-# ORDER BY publication DESC

booktown-# LIMIT 5

booktown-# OFFSET 2;

isbn | title | publication

0451198492 | 2001: A Space Odyssey | 1999-10-01

044100590X | Dune | 1999-10-01

0929605942 | The Tell-Tale Heart | 1998-12-01

0441172717 | Dune | 1998-09-01

1885418035 | The Tell-Tale Heart | 1995-03-28

(5 rows)

Второй запрос в листинге 4.45 содержит секцию OFFSET, вследствие чего начало отсчета смещается на две записи вниз. Последние три записи в итоговом наборе первого запроса совпадают с первыми тремя записями итогового набора второго запроса. Секция ORDER BY обеспечивает единый порядок следования записей в итоговых наборах обоих запросов.



Содержание раздела