Script.sql 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. insert into author (name, description) values (
  2. 'Михаил Шолохов',
  3. 'Великий русский советский писатель, журналист и киносценарист.'
  4. ), (
  5. 'Лусиану Рамальо',
  6. 'Автор замечательных книг по языку программирования Python.'
  7. );
  8. insert into author (name) values (
  9. 'Жюль Верн'
  10. );
  11. insert into book_category (name) values (
  12. 'Художественная литература'
  13. ), (
  14. 'Литература по программированию'
  15. );
  16. insert into book (name, author_id, description, cover, category_id) values (
  17. 'Тихий Дон',
  18. 1,
  19. 'Одно из наиболее значительных, масштабных и талантливых произведений русскоязычной литературы, принесшее автору Нобелевскую премию.',
  20. 'https://cdn.rroom.io/17558b4d-59dd-4f8e-b2c7-51b0d7da5216.png',
  21. 1
  22. ), (
  23. 'Python. К вершинам мастерства',
  24. 2,
  25. 'Лучшая книга по углубленному изучению Python.',
  26. 'https://cdn.rroom.io/2bee8345-a535-4fe3-add9-8db804ea89ae.png',
  27. 2
  28. ), (
  29. 'Судьба человека',
  30. 1,
  31. 'Пронзительный рассказ о временах Великой Отечественной войны, одно из первых произведений советской литературы, в котором война показана правдиво и наглядною.',
  32. 'https://cdn.rroom.io/271755e5-046f-4842-85cf-4e22cb17b294.png',
  33. 1
  34. );
  35. -- Получение информации
  36. select * from author;
  37. select name, description from book;
  38. -- Alias
  39. select name as book_name, description from book;
  40. select upper(name) as book_name from book;
  41. show search_path;
  42. table book_category;
  43. select |/225;
  44. -- Фильтрация данных
  45. select * from author where author_id=1;
  46. select * from author where name='Михаил Шолохов' and author_id=200;
  47. -- Создание временной таблицы
  48. create temp table author_without_checks (
  49. author_id bigint generated always as identity primary key,
  50. name varchar(150) not null,
  51. description text
  52. );
  53. insert into author_without_checks (name) values ('какой-то автор');
  54. select * from author_without_checks;
  55. select * from author;
  56. select * from book;
  57. -- Добавим данные в таблицу author
  58. insert into author (name, description) values
  59. ('Александр Пушкин', 'Русский поэт, драматург и прозаик, рассматривается как основоположник современного русского литературного языка.'),
  60. ('Александр Беляев', 'Русский писатель-фантаст, один из основоположников советской научно-фантастической литературы.');
  61. insert into book (name, author_id, category_id) values
  62. ('Они сражались за Родину', 1, 1),
  63. ('Поднятая целина', 1, 1),
  64. ('Донские рассказы', 1, 1),
  65. ('Наука ненависти', 1, 1),
  66. ('Капитанская дочка', 4, 1),
  67. ('Руслан и Людмила', 4, 1),
  68. ('Евгений Онегин', 4, 1),
  69. ('Метель', 4, 1),
  70. ('Пиковая дама', 4, 1),
  71. ('Сказка о рыбаке и рыбке', 4, 1),
  72. ('Голова профессора Доуэля', 5, 1),
  73. ('Остров погибших кораблей', 5, 1),
  74. ('Последний человек из Атлантиды', 5, 1),
  75. ('Властелин мира', 5, 1),
  76. ('Человек-амфибия', 5, 1),
  77. ('Продавец воздуха', 5, 1),
  78. ('Ариэль', 5, 1),
  79. ('Светопреставление', 5, 1),
  80. ('Вечный хлеб', 5, 1),
  81. ('Золотая гора', 5, 1),
  82. ('Земля горит', 5, 1),
  83. ('Путешествие к центру Земли', 3, 1),
  84. ('Дети капитана Гранта', 3, 1),
  85. ('Двадцать тысяч льё под водой', 3, 1),
  86. ('Вокруг Луны', 3, 1),
  87. ('Вокруг света за 80 дней', 3, 1),
  88. ('Таинственный остров', 3, 1),
  89. ('Пятнадцатилетний капитан', 3, 1),
  90. ('Зелёный луч.', 3, 1),
  91. ('В стране мехов', 3, 1);
  92. select count(*) from book;
  93. select book_id, name, author_id
  94. from book
  95. order by name limit 10 offset 30;
  96. table book;