🧙MagicSQL💻
160 subscribers
185 photos
7 files
10 links
Войди в мир SQL и аналитики с моим каналом. Изучай, применяй и преуспевай. Интересный контент, задачи, тесты, разборы и обучение.
#SQL #базыданных #postgresql
Download Telegram
Статистические функции SQL.

Можно ли в SQL проводить статистический анализ? Можно.
Разберем несколько популярных и полезных функций.

corr ( Y column , X column ) - вычисляет коэффициент корреляции

regr_r2 ( Y column , X column ) - вычисляет квадрат коэффициента корреляции

stddev ( column ) - вычисляет стандартное отклонение

variance ( column ) - вычисляет дисперсию
👍4👏1
SELECT 100 + NULL - что получится в результатe?
Anonymous Quiz
0%
0
5%
101
50%
NULL
45%
100
Друзья, привет!

Когда изучаешь SQL часто встает вопрос на чем бы потренироваться или например какой запрос оптимальнее? Есть конечно учебные базы данных, но иногда их объем недостаточен для того, чтобы оценить какой запрос более оптимален для решения с точки зрения производительности системы.

Покажу как создать таблицу и заполнить ее рандомными значениями в 5 000 000 строк.

Цель – создание таблицы events.

Внутри таблицы хотим видеть три поля:
user_id – уникальный id клиента,
event_date – дата события,
event_type – тип события.
Период дат выбираем с '2018-01-01' по '2023-09-06'.
Типы событий выбираем: 'покупка', 'регистрация', 'посещение', 'клик'.

Пользуйтесь и экспериментируйте!
🔥4❤1👏1
Влияние индекса на фильтрацию в SQL при хорошей селективности.

Покажу на примере как в случае частой фильтрации по одному и тому же полю в SQL запросе существенное влияние на ускорение выполнения влияет создание индекса.

Конечно индекс может быть не всегда полезен, но в случае хорошей селективности значений, ускорение может стать пушкой.

Сейчас мы с вами в этом убедимся. Взгляните на скриншоты, где я проводил эксперимент. Думаю все станет однозначно понятно.
👍4
Устроился на новую работу и думал что первые пол года тебя там ни кто особо не будет трогать=).
👍4
Друзья, всем привет. Не вдаваясь в подробности что означает данный запрос какая на ваш взгляд версия более читабельнее и понятнее для вас?
Какая версия читабельнее темная или светлая?
Anonymous Poll
38%
Темная
63%
Светлая
Всем привет.

Такая задачка: Вывести все названия продуктов, в которых встречаются фразы ‘Louisiana’, ‘Sir’ или ‘Chef’. Как нам это сделать?

Конечно же использовать оператор ILIKE. Показываю лайфхак как использовать оператор ILIKE сразу для списка искомых значений.
👍3❤2
Применение CASE в различных частях SQL запроса.

Конструкция CASE это невероятно крутая штука, которая способна закрыть множество задач, связанных с выполнением условных операций.

Но многие не догадываются о всех ее способностях и местах применения в различных частях запроса. Вот например, как вы думаете можно ли создать категории конструкцией CASE в операторе SELECT и в этом же запросе отфильтровать по созданной категории?

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

Ну что ж, посмотрим на это. Оказывается что можно.
❤5👀1
С днем программиста, друзья!

В России День программиста отмечается 13 сентября. Этот праздник был установлен в 2009 году по инициативе Ассоциации программистов России.

Число 13 выбрано в честь 256-го числа, которое является наибольшей степенью числа 2, меньшей 365 (количество дней в году).

256 также символизирует количество различных значений, которые можно представить с помощью 8-битного байта.
👍2🔥2👏2
INNER JOIN в SQL.

Представьте что у нас есть две таблицы table_1 с полем A и table_2 c полем В, и в каждом поле по три строки с значениями 1. Вопрос: Сколько строк с значением 1 получится в результате INNER JOIN?
Anonymous Quiz
50%
3
19%
6
31%
9
0%
12
Оптимизация LIKE в конкретной задаче SQL.

Представьте что нам нужно найти все рекламные источники, начинающиеся на букву 'v'. Первое что придет в голову использовать оператор LIKE.

 SELECT *
FROM events e
WHERE ad_channel LIKE 'v%'

Запрос отработает как надо. Но конкретно в этом примере запрос можно было написать оптимальнее т.к. LIKE тяжеловат для СУБД. Посмотрим как можно было изменить запрос:

 SELECT *
FROM events e
WHERE LEFT (ad_channel, 1) = 'v'

Здесь мы использовали функцию LEFT, при помощи которой достали только первую букву источника и сравнили ее с 'v'.

На скриншотах вы можете увидеть что второй вариант работает шустрее.
👍6
Что такое базы данных NoSQL и какие у них преимущества?

NoSQL (или "нереляционные базы данных") представляет собой подход к управлению данными, который отличается от традиционных реляционных баз данных, таких как PostgreSQL. В то время как реляционные базы данных используют таблицы, столбцы и связи для организации данных, NoSQL базы данных используют другие модели данных, такие как ключ-значение, документы, столбцы или графы.

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

В отличие от PostgreSQL, NoSQL базы данных обычно не поддерживают SQL-запросы и транзакции в том же виде. Тогда как осуществляется доступ к информации?

Например, в базах данных типа ключ-значение, данные доступны по ключу, в документ-ориентированных базах данных, данные хранятся в виде документов и доступ осуществляется через идентификаторы документов и их поля.

Кроме того, NoSQL базы данных обычно предлагают более гибкую схему данных, что означает, что поля и структура данных могут быть изменены без необходимости изменения схемы базы данных. В реляционных базах данных изменение схемы может быть сложным и требовать пересоздания таблиц, что может быть затруднительно при работе с постоянно меняющимися данными.

В целом, NoSQL базы данных предназначены для работы с разнородными, распределенными и масштабируемыми данными, обладают высокой производительностью и гибкостью, но требуют от разработчиков изменения подхода к моделированию данных и выполнению запросов.
👍3