quiz_1.sql 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677
  1. -- -----------------------------------------------------------------
  2. -- Задания
  3. -- -----------------------------------------------------------------
  4. -- 11.16 Выборка данных из других источников
  5. -- Выборка из подзапроса
  6. select genus_name from (
  7. select * from genus
  8. );
  9. -- Выборка анбора дат с интервалом в 2 месяца
  10. select date
  11. from generate_series('2020-01-01'::date,
  12. '2024-06-01'::date,
  13. '2 month'::interval) date;
  14. --
  15. select * from (values
  16. ('The Shawshank Redemption', 9.3, 1994),
  17. ('The Godfather', 9.2, 1972),
  18. ('The Dark Knight', 9.1, 2008),
  19. ('Inception', 8.8, 2010)
  20. ) t(movie, imdb_rating, year);
  21. -- -----------------------------------------------------------------
  22. -- 11.18 Фильтрация данных
  23. table family;
  24. select * from family where family_name='Дроздовые';
  25. select * from family where family_name='Дроздовые' or family_name='Синицевые';
  26. select * from family where family_name in ('Дроздовые', 'Синицевые');
  27. select * from family where family_name like '%а%';
  28. select * from family where family_name like '%а%' or family_name like '%с%';
  29. select * from family where family_name ilike '%а%';
  30. -- -----------------------------------------------------------------
  31. -- 11.19 Особое значение NULL, coalesce
  32. select family_id, family_name, coalesce(description, 'не заполнено') as description from family;
  33. select * from family where description is null;
  34. select * from family where description is null or family_name like '%Д%';
  35. -- -----------------------------------------------------------------
  36. -- 11.20 Сортировка данных
  37. select * from family order by family_id;
  38. select * from family order by description nulls first;
  39. select * from family order by sescription nulls last;
  40. select family_name from family where family_name like 'Д%' order by family_name;
  41. -- -----------------------------------------------------------------
  42. -- 11.21 Ограничение количества результатов запроса
  43. table species;
  44. select * from species order by species_name, description
  45. limit 10 offset 10;
  46. select species_id, species_name from species where primary_color ilike '%бел%'
  47. order by species_name
  48. limit 5;