<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Лайвкодинг SQL on IT Ментор | Python методичка</title><link>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/</link><description>Recent content in Лайвкодинг SQL on IT Ментор | Python методичка</description><generator>Hugo</generator><language>ru</language><atom:link href="https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/index.xml" rel="self" type="application/rss+xml"/><item><title>Найди id юнитов, которые были проданы на сумму более 1000 рублей после 10:00 сегодняшнего дня. &gt; "2024-06-03 10:00"</title><link>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/units-sold-after-time/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/units-sold-after-time/</guid><description>&lt;h4&gt;1. Найди id юнитов, которые были проданы на сумму более 1000 рублей после 10:00 сегодняшнего дня. &amp;gt; &amp;#34;2024-06-03 10:00&amp;#34;&lt;/h4&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;-- Создание таблицы Unit
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;CREATE&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;TABLE&lt;/span&gt; Unit (
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Id INT &lt;span style="color:#66d9ef"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;KEY&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Price DECIMAL(&lt;span style="color:#ae81ff"&gt;10&lt;/span&gt;, &lt;span style="color:#ae81ff"&gt;2&lt;/span&gt;)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#75715e"&gt;-- Создание таблицы Sales
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;CREATE&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;TABLE&lt;/span&gt; Sales (
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Id INT &lt;span style="color:#66d9ef"&gt;PRIMARY&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;KEY&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Unit_id INT,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; Sale_time &lt;span style="color:#66d9ef"&gt;TIMESTAMP&lt;/span&gt;,
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt; &lt;span style="color:#66d9ef"&gt;FOREIGN&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;KEY&lt;/span&gt; (Unit_id) &lt;span style="color:#66d9ef"&gt;REFERENCES&lt;/span&gt; Unit(Id)
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;);
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;blockquote class="book-hint warning"&gt;
 &lt;strong&gt;Спойлеры к решению&lt;/strong&gt;
&lt;/blockquote&gt;

&lt;details &gt;&lt;summary&gt;Подсказки&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 &lt;ul&gt;
&lt;li&gt;Нужно выбрать &lt;code&gt;Unit.Id&lt;/code&gt;, у которых сумма продаж превышает &lt;code&gt;1000&lt;/code&gt; рублей.&lt;/li&gt;
&lt;li&gt;Для фильтрации использовать &lt;code&gt;SUM(Price) &amp;gt; 1000&lt;/code&gt; и &lt;code&gt;Sale_time &amp;gt; '2024-06-03 10:00'&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Объединяем таблицы через &lt;code&gt;JOIN&lt;/code&gt; по &lt;code&gt;Unit.Id = Sales.Unit_id&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Используем &lt;code&gt;GROUP BY Unit_id&lt;/code&gt;, чтобы агрегировать суммы.&lt;/li&gt;
&lt;/ul&gt;

 &lt;/div&gt;
&lt;/details&gt;

&lt;details &gt;&lt;summary&gt;Решение&lt;/summary&gt;
 &lt;div class="markdown-inner"&gt;
 &lt;div class="highlight"&gt;&lt;pre tabindex="0" style="color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;"&gt;&lt;code class="language-sql" data-lang="sql"&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;SELECT&lt;/span&gt; u.Id 
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;FROM&lt;/span&gt; Unit u
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;JOIN&lt;/span&gt; Sales s &lt;span style="color:#66d9ef"&gt;ON&lt;/span&gt; u.Id &lt;span style="color:#f92672"&gt;=&lt;/span&gt; s.Unit_id
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;WHERE&lt;/span&gt; s.Sale_time &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#e6db74"&gt;&amp;#39;2024-06-03 10:00&amp;#39;&lt;/span&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;GROUP&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;BY&lt;/span&gt; u.Id
&lt;/span&gt;&lt;/span&gt;&lt;span style="display:flex;"&gt;&lt;span&gt;&lt;span style="color:#66d9ef"&gt;HAVING&lt;/span&gt; &lt;span style="color:#66d9ef"&gt;SUM&lt;/span&gt;(u.Price) &lt;span style="color:#f92672"&gt;&amp;gt;&lt;/span&gt; &lt;span style="color:#ae81ff"&gt;1000&lt;/span&gt;;
&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;Этот SQL-запрос выбирает идентификаторы юнитов (&lt;code&gt;Id&lt;/code&gt;), у которых сумма продаж после 10:00 превышает 1000 рублей. ✅&lt;/p&gt;</description></item><item><title>Реализовать таблицы книг и авторов</title><link>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/%D1%81reate-books-autors-tables/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/%D1%81reate-books-autors-tables/</guid><description>&lt;h4&gt;3. Реализовать таблицы книг и авторов&lt;/h4&gt;
 &lt;strong&gt;Условие задачи:&lt;/strong&gt;
Реализовать SQL-схему базы данных из двух таблиц: books и autors. Нужно использовать связь многие ко многим.</description></item><item><title>Создай таблицы пользователей и заказов</title><link>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/create-users-orders-tables/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://zhukovsd.github.io/python-backend-interview-prep/livecoding/tasks/sql/create-users-orders-tables/</guid><description>&lt;h4&gt;2. Создай таблицы пользователей и заказов&lt;/h4&gt;
 &lt;p&gt;&lt;strong&gt;Условие задачи:&lt;/strong&gt;
Реализовать SQL-схему базы данных из двух таблиц: users и orders.
Таблица users должна хранить пользователей и содержать поля:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;id&lt;/li&gt;
&lt;li&gt;name&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Таблица orders должна хранить заказы пользователей и содержать поля:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;id&lt;/li&gt;
&lt;li&gt;user_id&lt;/li&gt;
&lt;li&gt;order_date&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Поле orders.user_id должно быть внешним ключом, связанным с users.id.&lt;/p&gt;</description></item></channel></rss>