Исходя из таблиц хозяев и питомцев, нужно вернуть имя хозяина, его питомца и разницу между их возрастами. Но при этом нужно предусмотреть, что у хозяина может питомец может потеряться.
В этой задаче:
• CASE — для ситуаций, если у хозяина нет питомца
• LEFT JOIN — выбираем все записи из таблицы хозяев
• ORDER BY — сортируем по имени хозяина и разнице возрастов с питомцами
🔥 — если узнал новое
🤝 — если решил сам
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥40👍12🤝7👎3😁1
This media is not supported in your browser
VIEW IN TELEGRAM
Practice SQL — образовательный сайт для обучения и практики SQL-запросов, предлагающий задачи и проверки в реальном времени.
📌 Оставляю ссылочку: sql-practice.com
➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥27👍11🤝5
Правильное использование этих ограничений помогает избежать нежелательных ситуаций, например, нескольких пользователей с одинаковыми id или ссылки на несуществующих записей в других таблицах, отсутствия обязательных данных.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥38🤝13👍8
Это введение в основы компьютерных наук, созданный профессором Гарвардского университета Дэвидом Маленки. Он охватывает ключевые концепции программирования и алгоритмов и является одним из самых популярных онлайн-курсов по программированию.
Ссылочка на плейлист: YouTube🖤
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥5🤝4❤1
This media is not supported in your browser
VIEW IN TELEGRAM
TutorialsPoint — это обширная платформа с уроками по множеству технологий, где курс по MySQL предлагает пошаговое руководство по основам работы с базами данных, написанию запросов и управлению данными.
📌 Оставляю ссылочку: tutorialspoint.com
➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥7👍4
Сегодня поговорим про два метода фильтрации выборки, в чем их разница и когда использовать нужный метод:
•
WHERE
— фильтрует строки на основе заданного условия. Работает перед агрегацией и предназначен для исключения неподходящих строк.•
HAVING
— фильтрует сгруппированные записи, работает с агрегатными функциями после WHERE
. Нужен именно для фильтрации групп, а не строк, как WHERE
.🔥 — если узнал новое
🤝 — если уже пользовался
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🤝28🔥16👍6👎2
Media is too big
VIEW IN TELEGRAM
Репозиторий PostgreSQL Patterns Library!
Он идет с коллекцией шаблонов и практик для оптимизации запросов и работы с базами данных PostgreSQL, направленный на повышение производительности и упрощение разработки.
➡️ SQL Ready | #репозиторий
Он идет с коллекцией шаблонов и практик для оптимизации запросов и работы с базами данных PostgreSQL, направленный на повышение производительности и упрощение разработки.
Оставляю ссылочку: Github📱
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4👍3👎1
👍8🔥4😁2
Materialized Views — решение для сложных аналитических запросов!
Материализованные представления — это отдельная структура, скажем с данными о продажах за последний месяц, использование которой позволяет разгрузить основную таблицу и значительно ускорить сложные аналитические запросы.
Синтаксис создания представления:
Далее мы по сути пишем обычный запрос с учетом данных, которые нам понадобятся в нашем представлении:
Теперь выберем записи о продажах за последний месяц:
Из минусов materialized views — необходимость их постоянного обновления, иначе данные могут быть неактуальными:
➡ SQL Ready | #практика
Материализованные представления — это отдельная структура, скажем с данными о продажах за последний месяц, использование которой позволяет разгрузить основную таблицу и значительно ускорить сложные аналитические запросы.
Синтаксис создания представления:
CREATE MATERIALIZED VIEW daily_sales_summary AS
Далее мы по сути пишем обычный запрос с учетом данных, которые нам понадобятся в нашем представлении:
SELECT
DATE_TRUNC('day', order_date) AS sale_day,
SUM(amount) AS total_sales
FROM orders
Теперь выберем записи о продажах за последний месяц:
WHERE created_at > NOW - INTERVAL '30 days'
DATE_TRUNC
используем для округления момента продажи до дня, чтобы затем группировать продажи по дням:GROUP BY DATE_TRUNC('day', order_date);
Из минусов materialized views — необходимость их постоянного обновления, иначе данные могут быть неактуальными:
REFRESH MATERIALIZED VIEW daily_sales_summary;
Materialized views
физически сохраняются на диске и занимают место. Используйте этот инструмент, если ваши аналитические запросы действительно сложные и выполняются медленно. Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🔥4❤2
This media is not supported in your browser
VIEW IN TELEGRAM
SQL Murder Mystery — это интерактивная игра, в которой нужно использовать SQL-запросы для расследования виртуального убийства.
📌 Ссылочка: mystery.knightlab
➡️ SQL Ready | #ресурс
Игрокам предоставляется доступ к базе данных с информацией о преступлении, и они должны применять свои навыки работы с SQL для поиска улик, анализа данных и выявления преступника.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥11👍5