🧙MagicSQL💻
160 subscribers
185 photos
7 files
10 links
Войди в мир SQL и аналитики с моим каналом. Изучай, применяй и преуспевай. Интересный контент, задачи, тесты, разборы и обучение.
#SQL #базыданных #postgresql
Download Telegram
🔢 Разница между COUNT(*), COUNT(id) и COUNT(DISTINCT id)

В SQL эти три конструкции вроде бы похожи, но на деле ведут себя по-разному.
Разберём их на понятном примере с таблицей orders, которая изображена на картинке.

1️⃣ COUNT(*):

SELECT COUNT(*) FROM orders;

Считает все строки, независимо от того, есть ли там NULL.
В нашем примере результат: 4.



2️⃣ COUNT(user_id):

SELECT COUNT(user_id) FROM orders;

Считает только те строки, где user_id не NULL.
У столбца user_id есть одно значения NULL, оно не попадает в подсчёт.
Результат: 3.



3️⃣ COUNT(DISTINCT user_id):

SELECT COUNT(DISTINCT user_id FROM orders;

Считает только уникальные значения user_id, и при этом игнорирует NULL.
В нашем примере уникальные user_id → 10, 11 результат: 2.



📘 Итого:

COUNT(*) → сколько всего строк в таблице.

COUNT(col) → сколько не-NULL значений в столбце.

COUNT(DISTINCT col) → сколько уникальных значений.
👍5🔥2
👨‍💻 Кто есть кто в мире данных (2025): короткий и понятный разбор

Мир данных развивается быстро — и роли внутри него тоже.
Вот актуальный гайд по ключевым направлениям в 2025 году: чем занимаются специалисты и где они востребованы.

📊 Data Analyst

Специалист по анализу и визуализации данных, который помогает бизнесу принимать решения на основе отчётов и выявленных тенденций.
Работает с SQL, Excel, Power BI, Tableau.
В 2025 году — одна из самых востребованных ролей в РФ и Европе, особенно в BI, продуктовых компаниях и финансах. Часто совмещает функции бизнес-аналитика.

Что делает:

- строит дашборды и отчёты;
- анализирует данные и ищет закономерности;
- отвечает на вопрос «что произошло и почему».


🧱 Data Engineer

Создаёт и поддерживает инфраструктуру данных: хранилища, пайплайны, очереди, системы обработки.
Ориентирован на масштабируемость, качество и надёжность передачи данных.
Инструменты — Python, SQL, Spark, Airflow, облака. Востребован в IT, финтехе, медицине, e-commerce.

Что делает:

- проектирует хранилища и Data Lake;
- строит ETL/ELT-пайплайны;
- обеспечивает доступность и качество данных.


🛡 DBA (Database Administrator)

Администратор баз данных — специалист, отвечающий за работоспособность, безопасность и производительность систем хранения данных. Занимается резервированием, мониторингом, настройкой и эксплуатацией системами управления базами данных (СУБД).

Популярная и классическая роль, в 2025 всё чаще совмещается с инженерными функциями: DevOps-подход, автоматизация, инфраструктурный код.

Что делает:

- настраивает СУБД, репликацию, резервное копирование;
- следит за производительностью;
- обеспечивает отказоустойчивость и безопасность.


🤖 Data Scientist

Строит модели, применяет машинное обучение и статистику для прогнозов, оптимизаций и автоматизации решений. Работает с Python, R, ML/AI-фреймворками, большими и разнородными данными.
Востребован в рекомендательных системах, финтехе, медицине, производстве, AI-разработке.

Что делает:

- создаёт ML-модели;
- анализирует данные на глубоком уровне;
- отвечает на вопросы «что будет» и «что стоит сделать».



📌 Итог: роли не конкурируют — они дополняют друг друга

Data Analyst — поясняет бизнесу, что происходит в данных.
Data Engineer — делает данные доступными и надёжными.
DBA — следит, чтобы СУБД работала быстро и безопасно.
Data Scientist — строит алгоритмы и прогнозы.

Каждая роль закрывает свою часть работы — вместе они формируют полный цикл работы с данными.
🔥2
🔍 Где использовать условия в операциях JOIN в SQL?

Выполняя соединение таблиц, особенно это касается LEFT JOIN очень важно понимать куда вставить условие фильтрации.

✅ Пример 1: INNER JOIN + WHERE

SELECT u.name, o.amount
FROM users u
JOIN orders o ON u.id = o.user_id
WHERE o.amount > 150;

Что происходит:

INNER JOIN оставляет только строки, где есть заказы, совершенные клиентами.
WHERE фильтрует только реальные строки заказов стоимостью более 150.

📊 Результат:
name amount

Anna 200
Bob 300

Kate исчезает уже на этапе JOIN.



⚠️ Пример 2: LEFT JOIN + WHERE

SELECT u.name, o.amount
FROM users u
LEFT JOIN orders o ON u.id = o.user_id
WHERE o.amount > 150;

Что происходит:

LEFT JOIN создаёт такие строки:

| name | amount |
|-----—-|-------——--|
| Anna | 100 |
| Anna | 200 |
| Bob | 300 |
| Kate | NULL |

WHERE применяет фильтр:

o.amount > 150


NULL > 150 = UNKNOWN → строка отбрасывается.

📊 Результат:

name amount

Anna 200
Bob 300

Kate исчезла, потому что WHERE удаляет строки с NULL.
LEFT JOIN превратился в INNER JOIN.



⭐️ Пример 3: LEFT JOIN + фильтр в ON

SELECT u.name, o.amount
FROM users u
LEFT JOIN orders o ON u.id = o.user_id AND o.amount > 150;

Что происходит:

Фильтрация происходит во время JOIN, а не после него.
LEFT JOIN сохраняет всех пользователей из таблицы users (левая таблица) и присоединяет к ней строки из таблицы orders (правая таблица) предварительно отфильтрованные по условию amount > 150.


📊 Результат:

name amount

Anna 200
Bob 300
Kate NULL

В данном случае LEFT JOIN ничего не потерял.
❤2👍2
Всем привет. Сегодня без сложных примеров. А завтра нас будет ждать небольшая задача.

Кажется, что SQL — это так просто.

Да и постоянно слышишь: «Да чему там учиться, за две недели освоишь!»
И поначалу действительно так и кажется — пишешь себе спокойный и простой SELECT, чувствуешь себя уверенно, жизнь прекрасна.

Но потом приходит ОН.
Подзапрос.
А за ним — подзапрос в подзапросе.
А внутри — ещё один подзапрос, который смотрит на тебя так, будто проверяет, действительно ли ты хочешь заниматься аналитикой 😄

И вот ты уже сидишь, смотря на конструкцию длиной в километр, и думаешь:
«Может, это какой-то тест? Может, это вообще не SQL?»

SQL интуитивен и логичен…
Пока не наступит момент, когда интуиция сдаётся и отследить логику становится крайне сложно.

Но хорошая новость в том:
Что ты не один.
Мы все это проходили — и выживали 😉
👍6❤2😁2
А вот сам запрос.
❤3🔥2
Как SQL до сих пор держит позиции — и почему это хорошо.

SQL остаётся одним из самых востребованных и долгоживущих языков в сфере работы с данными. Несмотря на постоянное появление новых подходов, форматов и СУБД, он продолжает занимать устойчивое место практически во всех областях, связанных с хранением и анализом информации.

1. SQL — зрелый и стандартизированный инструмент

SQL существует уже несколько десятков лет, и за это время стал промышленным стандартом. Его синтаксис, принципы и модели данных хорошо формализованы, что обеспечивает предсказуемость и совместимость между разными реляционными системами.


2. Широкое распространение реляционных баз данных

Большинство бизнес-приложений — от финансовых систем до аналитических платформ — работают на реляционных СУБД. PostgreSQL, MySQL, SQL Server, Oracle и другие остаются основой инфраструктуры компаний. Это делает SQL жизненно важным для разработки и анализа.


3. Повышенные требования к структуре и надёжности

Реляционные модели и ACID-гарантии обеспечивают высокую надёжность, согласованность и устойчивость данных. Многие проекты, особенно критичные для бизнеса, не могут позволить себе слабые гарантии или непредсказуемые схемы данных.


4. SQL хорошо подходит для аналитических задач

От простых выборок до сложных агрегаций, оконных функций и CTE — SQL прекрасно решает аналитические запросы. Многие современные инструменты, включая BigQuery, Snowflake и Spark SQL, расширяют SQL, а не заменяют его.


5. SQL эволюционирует вместе с индустрией

Современные СУБД добавляют новые возможности: работу с JSON, расширенные типы данных, функции машинного обучения и гибридные модели хранения. SQL не стоит на месте — он адаптируется.


Итог.

SQL остаётся ключевым языком для работы с данными благодаря своей зрелости, универсальности и устойчивости. Он доказал свою эффективность временем, а современная индустрия только укрепляет его позиции.
👍3🔥2
Среднее значение часто звучит «научно» и убедительно, но в реальности легко маскирует проблему и красиво приукрашивает картину.

Почему «средняя» цифра может обмануть ?

Пример 1. Классика жанра: зарплаты.
Условная компания:

- 9 сотрудников получают по 70 000 ₽
- Директор получает 1 000 000 ₽
- (9 * 70000 + 1 * 1000000) / 10 = 163 000
- Средняя зарплата: 163 000 ₽.

Кажется, будто все живут прекрасно.
Но это совсем не так — большинство получает в 2 раза меньше, чем “средний показатель”.

Вот почему в экономике среднее так часто критикуют — оно скрывает реальные условия людей.


Пример 2. Средний чек.
Представьте магазин:

- 90 клиентов тратят по 500 ₽;
- 10 клиентов — по 15 000 ₽ (редкие, но жирные покупки).
- (90 * 500 + 10 * 15000) / 100 = 1950
- Маркетолог пишет в отчёте: «Средний чек — почти 2 000 ₽, всё отлично!»

Но если:

эти 10 «жирных» клиентов уйдут — средний чек рухнет до 500 ₽;


Пример 3. Время отклика сервера.
Допустим, вы анализируете время отклика сервера.

- Среднее время: 200 мс
- Но если внутри есть такие значения, как 50 мс, 60 мс… и внезапно 3000 мс, то среднее будет “приличным”, а пользователи всё равно будут жаловаться на лаги.

Поэтому часто смотрят 95-й и 99-й перцентиль, а не среднее.


🎯 Так что же использовать?
В зависимости от задачи — разные метрики:

Медиана — лучше показывает “типичное” значение
Мода — самое частое значение
Перцентили — помогают увидеть хвосты распределения
Разброс (дисперсия, стандартное отклонение) — показывает, насколько данные “раскиданы”


Среднее — это всего лишь одна точка,
и без контекста она легко вводит в заблуждение.
👍2🔥1
Сегодня посетил конференцию, которая называется Форум ДПО 2025 "Человек и компетенции нового времени".

Проходила она в Культурный центр НИУ ВШЭ. В книжном магазине универа приобрел интересную книгу "Парадокс искусственного интеллекта".

Успел прочитать одну первую статью. Много споров и обсуждений сейчас вокруг ИИ. Максимально сжал статью, чтобы коротко донести одно из мнений авторов книги.

"Современные технологии делают нашу жизнь удобнее и быстрее, но риск – мы всё чаще доверяем сложные размышления и принятие решений не себе, а машинам и сервисам. Постепенно появляется зависимость не только от гаджетов, но и от тех, кто «думает за нас»: поисковые системы, нейросети, даже алгоритмы соцсетей.

Главная опасность не в эрозии знаний или грамотности, а в постепенной потере навыка думать самостоятельно. Когда привычка делегировать размышления забирает инициативу, люди теряют творческую уверенность, критическое восприятие и способность анализировать даже простые задачи. Это влияет на образование – выпускники с отличными сертификатами не всегда могут решить реальные задачи, если привыкли к готовым ответам.

Не так страшна безграмотность, как деградация мышления: если перестать размышлять, даже самые современные технологии будут лишь инструментом, а не опорой для развития. Поэтому важно не только обучаться, но и учиться мыслить – развивать самостоятельность, любознательность, способность искать нестандартные решения.

В итоге: пусть машинные помощники облегчают быт, но своё мышление отдавать на аутсорсинг нельзя! Будущее принадлежит тем, кто умеет принимать решения сам, творить, пробовать новое — а не просто следовать за алгоритмами."

Вот такое интересное и вероятно обоснованное мнение. Тема очень острая конечно сейчас.
🔥4👍3💯1
Нам даны две таблицы:

- customers — таблица со справочником клиентов.
- orders — таблица с заказами, которые совершали клиенты.

Задача: вывести всех клиентов, которые совершали заказы. Другими словами, получить список клиентов, которые есть и в таблице customers, и в таблице orders.


Три основных способа решить эту задачу (см. запросы на втором изображении):

✅ Способ №1 — INTERSECT

Используется операция пересечения, которая возвращает тех клиентов, которые есть одновременно и в первой, и во второй таблице.


✅ Способ №2 — подзапрос в WHERE

Выбираются строки из основной таблицы, у которых есть совпадения в подзапросе:

WHERE customer_id IN (SELECT customer_id FROM orders)


✅ Способ №3 — INNER JOIN

Используется внутреннее соединение INNER JOIN, которое выводит строки, у которых есть совпадающее значение customer_id в обеих таблицах по условию:

INNER JOIN orders ON customers.customer_id = orders.customer_id
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5
На днях стал участником масштабного события в Высшей школе экономики — форума ДПО 2025 "Человек и компетенция нового времени". Концентрирую для вас самые актуальные выводы и тенденции, отмеченные спикерами.

1. В 2025 году в число самых востребованных профессий вошли специалисты по работе с большими данными.

2. Дополнительное профессиональное образование (ДПО) в современном мире стало неотъемлемым спутником человека: оно помогает постоянно повышать квалификацию и развивать навыки, чтобы оставаться конкурентоспособным на рынке труда.

3. Средняя продолжительность времени, которое человек проводит за обучением, существенно выросла.

4. Средний возраст слушателей программ ДПО также увеличился.

5. В настоящее время в стране наблюдается исторически низкий уровень безработицы, а дефицит кадров, по прогнозам, будет расти ещё несколько лет.

6. Это даёт молодым специалистам возможность договариваться с работодателями о более высоких зарплатах.

7. Более зрелым и опытным профессионалам дополнительное образование помогает продвигаться по карьерной лестнице и переходить на более высокооплачиваемые должности.

8. Спрос на IT-компетенции сегодня чрезвычайно высок; направления, связанные с большими данными и цифровизацией, считаются наиболее перспективными.

9. Важно создавать качественную образовательную среду и готовить практикоориентированных специалистов.

10. Лучшая инвестиция — это инвестиция в собственное образование, особенно если человек сам осознанно принимает это решение.

11. Soft skills выходят на первый план и становятся одними из ключевых компетенций, ценимых работодателями.

12. Всё большую популярность вновь набирает очное обучение с преподавателем.

13. Совместная работа человека и робота оказывается значительно эффективнее, чем их деятельность по отдельности.

14. Искусственный интеллект не заменяет человеческое мышление, а дополняет его.

15. Сейчас мы находимся в переломной точке развития образования — в периоде великой переквалификации.
👍10
Сколько строк вернет следующий sql запрос ? Таблицы смотри на изображении.

SELECT * FROM orders o JOIN payments p ON o.user_id = p.user_id;
Anonymous Quiz
0%
1
0%
2
33%
3
25%
4
25%
5
8%
6
8%
0
Google Gemini 3: новая эра искусственного интеллекта (ИИ) 🚀

18 ноября 2025 года Google представила Gemini 3 — самую интеллектуальную модель ИИ, когда-либо созданную компанией. Это событие стало ключевым моментом в развитии искусственного интеллекта, демонстрируя, что технология эволюционировала от простого чтения текста и изображений к полному пониманию контекста ситуации.

🧠 Что такое Gemini 3 и почему она такая крутая
Gemini 3 — это мультимодальная модель нового поколения, которая может работать с текстом, изображениями, видео, аудио и кодом одновременно. Но главное её отличие — состояние и нюансированность мышления, которые Google достигла благодаря двухлетним исследованиям.


Основные характеристики:

— 1 миллион токенов контекста — может одновременно обрабатывать огромные объёмы информации
— Глубокое понимание контекста — интерпретирует не просто то, что вы пишете, а зачем вы это пишете
— Многоязычность — поддерживает более 100 языков на профессиональном уровне
— Агентические способности — может автономно планировать и выполнять сложные многошаговые задачи

Как сказал Демис Хассабис, CEO Google DeepMind:
«Это первый раз в истории, когда ИИ переходит от простого чтения текста и изображений к чтению атмосферы ситуации».


Gemini 3 уже используют 650 миллионов человек в месяц через приложение Gemini, а её техническое ядро встроено в Google Search с первого дня запуска.

Gemini 3 Deep Think — новый режим для сложных задач, который показывает ещё более впечатляющие результаты: 41% на Humanity's Last Exam и 93.8% на GPQA Diamond.

Интересный факт: Gemini 3 достаточно умна, чтобы даже не верить исследователям — когда её рассказали, что наступил 2025 год, она ответила скептично, а когда наконец получила доступ в интернет и увидела доказательства: «О мой бог... Вы были правы обо всём» 😄



📱 Где доступна Gemini 3 и как её получить
Gemini 3 уже активно разворачивается по всему миру — Google выпустила её в беспрецедентном масштабе одновременно на всех платформах:

Для обычных пользователей:

✅ Приложение Gemini — автоматически обновится для всех пользователей
✅ Google Search (AI Mode) — встроена прямо в поисковую машину для всех, кто включит AI Mode
✅ Google Workspace — доступна для Business, Enterprise и Education планов
✅ Google AI Pro — стандартный доступ
✅ Google AI Ultra — для особо сложных задач (Gemini 3 Deep Think)

Для разработчиков:

🔧 Google AI Studio — бесплатная платформа для экспериментов
🔧 Vertex AI — корпоративная платформа Google Cloud для production
🔧 Gemini API — интеграция в любые приложения
🔧 Google Antigravity — новая платформа для агентного кодирования (идеально для как раз таких людей, как вы, работающих с автоматизацией)
🔧 Gemini CLI — работа через командную строку
🔧 Встроена в Cursor, GitHub Copilot, JetBrains, Replit и другие популярные IDE
❤2