SQL Pro - всё об SQL Реклама: @anothertechrock Контент канала: 1. Разбор вопросов с собеседований 2. Трюки SQL 3. Видео 4. Тесты 5. Задачи на логику 6. Юмор
❔ Вопрос с собеседования
Как работает SQL-триггер?
Ответ: Когда происходит событие, СУБД автоматически вызывает триггер, который затем выполняет набор операторов SQL, определенных в триггере. Триггеры определяются для каждой таблицы и создаются с помощью оператора CREATE TRIGGER. Они могут запускаться до или после наступления события и выполняться один раз для каждой затронутой строки либо один раз для каждого оператора.
➡️ SQL Pro | #собеседование
Большой тест по SQL для тестировщиков из 44 вопроса - https://qarocks.ru/test_post/big-sql-quiz/
Проходите и пишите, у кого 44 из 44:)
P.S если найдете ошибки в ответах, присылайте - попросим исправить)
Оптимизация запросов в PostgreSQL
Автор: Генриэтта Домбровская
Год издания: 2022
#postgresql #ru
Скачать книгу ⬇️
PostgreSQL 14 изнутри
Автор: Егор Рогов
Год издания: 2022
#postgresql #ru
Скачать книгу ⬇️
SQL Cookbook
Авторы: Anthony Molinaro, Robert de Graaf
Год издания: 2021
#sql #en
Скачать книгу ⬇️
Как контейнеризация меняет аналитику данных?
Docker — не просто модное слово, а инструмент, который упрощает развертывание аналитических решений, повышает их масштабируемость и ускоряет работу с данными.
💥 На открытом вебинаре 24 апреля в 20:00 мск разберём:
— Как работает Docker и почему он важен для аналитиков.
— Как с его помощью развернуть BI-платформы и ELT-пайплайны.
— Какие команды и практики нужно освоить для эффективной работы.
Спикер Андрей Поляков — старший разработчик сервисов платежных систем в международной компании.
➡️ Открытый урок проходит в преддверии старта курса «Data Warehouse Analyst». Всем участникам — скидка на обучение. Подробности и регистрация
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
PostgreSQL 17: архитектура и тюнинг SQL-запросов
Погрузись в архитектуру и прокачай оптимизацию запросов одной из самых популярных open source СУБД – PostgreSQL.
🌐 В программе курса:
🤩 Разберем, как работают СУБД вообще и PostgreSQL в частности: что такое MVCC, ACID, WAL, LRU, PPC/TPC и другие фундаментальные понятия архитектуры баз данных
🤩 Получите свой собственный выделенный облачный PostgreSQL-сервер (8 vCPU, 12G RAM, 100G NVMe) – БЕСПЛАТНО на время обучения предоставляется
🤩 Получите теорию и практику EXPLAIN и EXPLAIN ANALYZE на разных типа запросов
🤩 Изучите архитектуру хранения данных в PostgreSQL, типы и особенности индексов, а также получите полезные советы и трюки оптимизации БД
🗓 Старт курса: 24 апреля. Продолжительность: 5 недель обучения (четверг, 18:00 МСК).
Изучить программу и записаться можно здесь.
🤩Кто мы: R&D-центр Devhands, основатель школы Алексей Рыбак.
Автор курса — Николай Ихалайнен, эксперт по СУБД (ex-Percona), со-основатель MyDB, энтузиаст открытого ПО.
Реклама. ИП Рыбак А.А. ИНН 771407709607 Erid: 2VtzquiQ76e
Как ускорить аналитику в системах с массивами данных?
Работаете с MPP-базами, но не понимаете, куда уходит производительность? Запросы выполняются медленно, а данные распределяются неравномерно?
На открытом вебинаре 9 апреля в 20:00 мск разберем:
- Как устроены MPP-системы и их компоненты.
- Почему параллельная обработка запросов ускоряет аналитику.
- Как находить и устранять узкие места в производительности.
Применим знания на примерах Greenplum, Amazon Redshift, Teradata и других систем.
Успейте зарегистрироваться и получите скидку на большое обучение «Data Warehouse Analyst»
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
SQL. Сборник рецептов
Автор: Энтони Молинаро
Год издания: 2022
#sql #ru
Скачать книгу ⬇️
Ваша карьера в аналитике данных может выйти на новый уровень
DWH — это основа качественной аналитики. Без правильно спроектированного хранилища данные хаотичны, отчеты несистемны, а решения принимаются вслепую.
📍 На открытом уроке 26 марта в 20:00 мск разберем, какие существуют подходы к построению хранилищ, как они влияют на скорость обработки данных и какие задачи решают.
После урока вы:
- Разберетесь в ключевых архитектурах DWH.
- Научитесь выбирать подходящую под задачи бизнеса.
- Поймете, как архитектура влияет на масштабируемость и производительность.
Спикер Алексей Железной — Senior Data Engineer с большим опытом и широким технологическим стеком.
➡️ Регистрируйтесь и получите скидку на большое обучение «Data Warehouse Analyst»
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Ловите подборку квизов и не только по SQL.
Основы SQL:
Тест на знание основ SQL
Тест по основам SQL
Тест на знание SQL:
Часть 1
Часть 2
Часть 3
Тест по базовым командам SQL:
Основы SQL: базовые команды
Основы SQL: тест на знание базовых команд
Тест по запросам и операторам SQL
Тест на глубину понимания SQL
Тест по SQL: проверьте свои знания и навыки
Вопросы по SQL, которые часто задают на собеседовании. Часть1
Вопросы по SQL, которые часто задают на собеседовании. Часть2
Топ-5 SQL вопросов на собеседовании тестировщика
SQL вопросы на собеседовании тестировщика
30 вопросов на собеседовании по SQL в 2024 году
25 сложных вопросов на собеседовании по SQL
10 задач для собеседования по SQL-запросам
10 вопросов по SQL с собеседований на аналитика данных
10 вопросов на собеседовании по SQL JOIN с ответами и примерами
Хорошего дня всем!😉
#подборка
Что выведет этот код? 👉
SELECT category_name, AVG(price)
FROM category c JOIN product p ON c.category_id = p.category_id
GROUP BY category_name HAVING AVG(price) > 200;
Друзья, мы тут сделали тестовую базу данных и добавили данные в неё. Следующие задачки и тесты будут на основе этой БД.
Код генерации базы данных и INSERT данных по ссылке ТУТ.
P.S для компиляции кода можно использовать например https://onecompiler.com/mysql/
🚗 Как найти кратчайший маршрут с помощью Apache Spark и GraphFrames
Разбираем кейс на реальных данных из OpenStreetMap — ищем оптимальный маршрут
🔍 Что делаем
1. Загружаем граф дорог города с помощью OSMnx
2. Сохраняем вершины и ребра с координатами, скоростями и геометрией
3. Загружаем всё в Spark
4. Находим кратчайший путь с помощью GraphFrames
📍 1. Скачиваем карту и строим граф улиц
import osmnx as ox
# Загрузка данных о дорогах Москвы
G = ox.graph.graph_from_place("Moscow", network_type="drive")
# Отображение дорог на карте
moscow_gdf = ox.geocoder.geocode_to_gdf("Moscow")
fig, ax = ox.plot.plot_graph(G, show=False, close=False, bgcolor="#111111", edge_color="#ffcb00", edge_linewidth=0.3, node_size=0)
moscow_gdf.plot(ax=ax, fc="#444444", ec=None, lw=1, alpha=1, zorder=-1)
# Настройка границ карты
margin = 0.02
west, south, east, north = moscow_gdf.union_all().bounds
margin_ns = (north - south) * margin
margin_ew = (east - west) * margin
ax.set_ylim((south - margin_ns, north + margin_ns))
ax.set_xlim((west - margin_ew, east + margin_ew))
plt.show()
with open('Moscow.geojson', 'w') as file:
file.write(moscow_gdf.to_json())
nodes = G.nodes(data=True)
with open('nodes.csv', 'a') as file:
file.write("id,lat,lonn")
for (node, data) in nodes:
file.write("%d,%f,%fn" % (node, data.get("y"), data.get("x")))
edges = G.edges(data=True)
def decode_maxspeed(maxspeed):
match maxspeed:
case str():
match maxspeed.lower():
case "ru:urban": return 60
case "ru:rural": return 90
case "ru:living_street": return 20
case "ru:motorway": return 110
case _: return int(maxspeed)
case list(): return min(list(map(decode_maxspeed, maxspeed)))
case _: return maxspeed
with open('edges.csv', 'a') as file:
file.write("src,dst,maxspeed,length,geometryn")
for (src, dst, data) in edges:
maxspeed = decode_maxspeed(data.get("maxspeed", 999))
length = float(data.get("length"))
geometry = shapely.wkt.dumps(data.get("geometry"))
file.write("%d,%d,%d,%f,%sn" % (src, dst, maxspeed, length, geometry))
from pyspark.sql import SparkSession
spark = SparkSession.builder
.config("spark.jars.packages", "graphframes:graphframes:0.8.4-spark3.5-s_2.12")
.master("local[*]")
.appName("GraphFrames")
.getOrCreate()
nodes = spark.read.options(header=True).csv("nodes.csv")
edges = spark.read.options(header=True).csv("edges.csv")
# Вычисление времени прохождения рёбер
edgesT = edges.withColumn("time", edges["length"] / edges["maxspeed"])
# Построение графа
from graphframes import *
g = GraphFrame(nodes, edgesT)
src = "257601812"
dst = "5840593081"
paths = g.shortestPaths(landmarks=[dst])
paths.filter(F.col("id") == src).show(truncate=False)
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Читать полностью…
MySQL Cookbook
Автор: Sveta Smirnova
Год издания: 2022
#sql #en
Скачать книгу ⬇️
Ловите подборку квизов по SQL💻
Основы SQL:
Тест на знание основ SQL
Тест по основам SQL
Тест на знание SQL:
Часть 1
Часть 2
Часть 3
Тест по базовым командам SQL:
Основы SQL: базовые команды
Основы SQL: тест на знание базовых команд
Тест по запросам и операторам SQL
Тест на глубину понимания SQL
Тест по SQL: проверьте свои знания и навыки
Надеемся на отличные результаты.💪
Хорошего дня всем!😉
#подборка #тесты
Годнота подьехала. Вопросы по SQL, которые часто задают на собеседовании и ответы на них
#годнота❓
Изучаем SQL
Автор: Алан Болье
Год издания: 2021
#sql #ru
Скачать книгу ⬇️
SQL Pocket Guide: A Guide to SQL Usage
Автор: Alice Zhao
Год издания: 2021
#sql #en
Скачать книгу ⬇️
SQL для чайников
Автор: Аллен Тейлор
Год издания: 2020
#sql #ru
Скачать книгу ⬇️
🔥 Пять статей: SQL собеседование🗓
Добавляйте в сохраненное и читайте:
SQL вопросы на собеседовании тестировщика — данная статья рассматривает некоторые вопросы, с которыми можно столкнуться во время собеседования по SQL, а также приводит ответы на них.
Топ-5 SQL вопросов на собеседовании тестировщика — разбираем еще пятерку вопросов по SQL, которые вам могут задать на собеседовании на позицию QA-специалиста.
10 вопросов по SQL с собеседований на аналитика данных — разбираем вопросы по SQL, которые может задать интервьюер аналитику данных.
10 вопросов на собеседовании по SQL JOIN с ответами и примерами — в этой статье рассматриваются наиболее распространенные вопросы на собеседовании по SQL JOIN и ответы на них.
10 задач для собеседования по SQL-запросам. Бывает, на собеседовании просят составить SQL-запрос для заданных условий. В этой статье вы найдете примеры запросов для часто встречающихся задач.
#пятьстатей #sql
5 обязательных книг по SQL
1️⃣ “SQL: быстрое погружение”. Автор - Уолтер Шилдс
Эта книга поожет вам разобраться как в основах SQL, так и в расширенных возможностях этого языка. Читатели, уже имеющие опыт работы с SQL, могут пользоваться книгой Шилдса как справочником.
🔴 Скачать
2️⃣ “MySQL Cookbook”. Авторы - Света Смирнова, Алкин Тезуйсал
Книга пригодится всем, кто работает с MySQL как в личных проектах, так и на профессиональном уровне. Как бы опытны вы ни были, возможно, с какими-то задачами, рассмотренными в этой книге, вы просто не сталкивались. При этом книга будет интересна и новичкам.
🔴 Скачать
3️⃣ “SQL Cookbook”. Авторы - Энтони Молинаро, Роберт де Грааф
Сборник рецептов с удобной структурой: постановка задачи, решение с кодом и детальное объяснение. Авторы рассматривают особенности конкретных СУБД: Oracle, DB2, SQL Server, MySQL и PostgreSQL.
🔴 Скачать
4️⃣ “Изучаем SQL”. Автор - Алан Болье
Книга охватывает большинство тем, необходимых для начинающего разработчика в области баз данных. При этом она не перегружена теорией: все знания применяются на практике в ходе изучения.
🔴 Скачать
5️⃣ “SQL для чайников”. Автор - Аллен Тейлор
Эта книга поможет разобраться в проектировании, управлении и защите базы данных. Автор подробно описывает средства защиты данных от кражи, случайного или вредоносного повреждения, а также от потери из-за сбоев оборудования и дает рекомендации по устранению ошибок в работе.
🔴 Скачать
Что вернет этот запрос?
SELECT product_name, price, DENSE_RANK() OVER (ORDER BY price DESC) AS rank
FROM product;
SELECT order_id FROM order_table o
JOIN customer c ON o.customer_id = c.customer_id WHERE c.country_code = 'RU'
UNION ALL
SELECT order_id FROM order_detail WHERE product_id IN (SELECT product_id FROM product WHERE category_id = 1);
SQL: быстрое погружение
Автор: Уолтер Шилдс
Год издания: 2022
#sql #ru
Скачать книгу ⬇️
Знание DWH и dbt – это must have для уровня middle/senior-аналитика и инженера как на российском, так и на международном рынке.
Хотите освоить эти инструменты?
Попробуйте симулятор Data Warehouse Analytics Engineer на базе dbt для инженеров и аналитиков данных.
Уникальный формат обучения:
⚡️ максимум прикладных практических навыков
⚡️ браузерная IDE для запуска проектов dbt
⚡️ геймифицированные задания с подробным описанием и подсказками
⚡️ экспресс-квизы для быстрого запоминания
Вас ждут более 100 задач из разных бизнес-сфер, которые вы возьмете в портфолио, например:
✅ Статистика поездок на самокатах - вы сможете выстроить аналитический пайплайн из таблиц и представлений, который выдает общую и дневную статистику поездок с учетом данных пользователей, и покрыть его тестами качества данных и документацией
✅ Аналитика ивентов приложения - вы разработаете SQL-пайплайн, который будет инкрементально очищать и обрабатывать таблицу событий из мобильного приложения, обогащать ее данными поездок и пользователей и в конечном итоге представлять продуктовые метрики
✅ Анализ финансовых данных - поможете финансовым аналитикам обработать данные в Excel с помощью SQL, dbt и аналитической in-memory базы данных DuckDB, не передавая данные в сеть
✅ Создание аналитической платформы - выступите в роли инженера аналитики и развернёте аналитические dbt-пайплайны с планировщиком, мониторингом и централизованным git-репозиторием для всей команды аналитиков
Первые 4 задачи доступны в демо-доступе бесплатно.
➡️Получить демо-доступ сейчас
Реклама. ООО "Инженеркатех" ИНН 9715483673
Со следующей недели начинаем публиковать больше задачек и туториалов. Вернулись в работу.
Пишите в комментариях какие темы или книги или вопросы вы бы хотели, чтобы мы раскрыли.