Записи выборки считаются одинаковыми, если значения соответствующих полей одинаковы. Поэтому для демонстрации distinct на нашей таблице нужно исключить первичный ключ (поле id) из выборки.
-- есть одинаковые записиSELECT t.num FROM tblname t; -- только уникальные записиSELECT DISTINCT t.num FROM tblname t;
Конструкция ORDER BY позволяет последовательно отсортировать сразу по нескольким столбцам. Столбцы, по которым происходит сортировка, желательно проиндексировать.
-- сортировка записей по полю numSELECT * FROM tblname ORDER BY num -- восходящая сортировкаSELECT * FROM tblname t ORDER BY t.num ASC -- нисходящая сортировкаSELECT * FROM tblname ORDER BY t.num DESC
Выборка по условию
Конструкция WHERE позволяет ограничить множество выбираемых записей. Ниже приведено несколько примеров.
SELECT * FROM tblname t WHERE t.id > 3 -- следующие примеры возвращают одни и те же записиSELECT * FROM tblname t WHERE t.id=2 or t.id=4; SELECT * FROM tblname t WHERE t.id in (2,4); SELECT * FROM tblname t WHERE t.id in( -- для Oracle: select 2 as c from dual select 2 as c union -- для Oracle: select 4 as c from dual select 4 as c ); -- для Oracle SELECT t.* FROM tblname t, ( -- для Oracle: select 2 as c from dual select 2 as c union -- для Oracle: select 4 as c from dual select 4 as c ) t2WHERE t.id=t2.c;