Выбор данных выполняется командой SELECT. Ниже приведен примерный список используемых ею конструкций и ключевых слов, полный же список зависит от реализации СУБД:
· AS - определяет временный синоним источника данных или столбца;
· FROM - указывает источники данных как таблицы, представления, другие выборки. По необходимости здесь можно указать соединение источников - каким образом запись одного источника сопоставляется с записью другого;
· WHERE - позволяет указать условия по которым нужно производить отбор данных. Если хоть одно из перечисленных условий не выполняется, запись не попадает в выборку. Здесь также можно указать соединение источников;
· ORDER BY - позволяет отсортировать выборку по указанным полям;
· ASC, DESC - задают направление сортировки;
· GROUP BY - позволяет разбить выборку на группы по указанному полю. Все записи, имеющие одно и то же значение в указанном поле, будут принадлежать одной группе;
· HAVING - позволяет задать условие включения группы в выборку. Набор возможных условий как у WHERE плюс возможность использования агрегатных функций;
· FOR UPDATE - позволяет заблокировать выбранные данные для изменения;
· DISTINCT - позволяет включить в выборку только уникальные записи. Конечно это замедляет запрос, но бывает необходимо при использовании агрегатных функций.
Это наверно самая сложная команда, поэтому ее изучение лучше разбить на несколько частей. Здесь рассмотрим эту команду в общем, а соединения, группировку данных и подобное более детально чуть позже. Пусть имеется следующая таблица с указанными данными.
-- создание таблицыcreate table tblname (id integer,num double precision, constraint pk_tblname primary key (id)); -- вставка данныхinsert into tblname values(1,2.0);insert into tblname values(2,3.3);insert into tblname values(3,6.6);insert into tblname values(4,2.0);insert into tblname values(5,3.3);insert into tblname values(6,6.6);commit;