-- ----------------------------------------------------------------- -- Задания -- ----------------------------------------------------------------- -- 11.16 Выборка данных из других источников -- Выборка из подзапроса select genus_name from ( select * from genus ); -- Выборка анбора дат с интервалом в 2 месяца select date from generate_series('2020-01-01'::date, '2024-06-01'::date, '2 month'::interval) date; -- select * from (values ('The Shawshank Redemption', 9.3, 1994), ('The Godfather', 9.2, 1972), ('The Dark Knight', 9.1, 2008), ('Inception', 8.8, 2010) ) t(movie, imdb_rating, year); -- ----------------------------------------------------------------- -- 11.18 Фильтрация данных table family; select * from family where family_name='Дроздовые'; select * from family where family_name='Дроздовые' or family_name='Синицевые'; select * from family where family_name in ('Дроздовые', 'Синицевые'); select * from family where family_name like '%а%'; select * from family where family_name like '%а%' or family_name like '%с%'; select * from family where family_name ilike '%а%'; -- ----------------------------------------------------------------- -- 11.19 Особое значение NULL, coalesce select family_id, family_name, coalesce(description, 'не заполнено') as description from family; select * from family where description is null; select * from family where description is null or family_name like '%Д%'; -- ----------------------------------------------------------------- -- 11.20 Сортировка данных select * from family order by family_id; select * from family order by description nulls first; select * from family order by sescription nulls last; select family_name from family where family_name like 'Д%' order by family_name; -- ----------------------------------------------------------------- -- 11.21 Ограничение количества результатов запроса table species; select * from species order by species_name, description limit 10 offset 10; select species_id, species_name from species where primary_color ilike '%бел%' order by species_name limit 5; -- ----------------------------------------------------------------- -- 11.22 Измененяем данные в БД select 'Птичка: ' || species_name птичка from species order by species_name; -- или через функцию format select format('Птичка: %s', species_name) as 'птичка' from species order by species_name; -- Обновить записа update species set species_name='Древесный дрозд' where species_name='Дрозд лесной'; -- Удалить таблицу. Но команда упадет с ошибкой если таблицы нет или если -- на таблицу ссылается другая таблица. drop table something; -- Удалить таблицу. Но команда упадет если на таблицу ссылается другая таблица. drop table if exists something; -- Удалить таблицу. drop table if exists something cascade;