SQL и БД Learning @sql_tg Channel on Telegram

SQL и БД Learning

@sql_tg


№ 5060218708

Изучаем SQL с нуля

По всем вопросам @valentin_mascarov

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning

SQL и БД Learning (Russian)

Добро пожаловать в канал 'SQL и БД Learning'! Этот канал создан для всех, кто хочет изучить язык SQL с нуля. Здесь вы найдете полезные уроки, советы и задания, которые помогут вам освоить базы данных и стать опытным специалистом в этой области. Наш канал предоставляет возможность задавать вопросы и обсуждать интересующие темы с другими участниками. Если у вас есть какие-либо вопросы или предложения, не стесняйтесь обращаться к администратору канала @valentin_mascarov. Мы также предлагаем рекламные возможности для вашего бизнеса на бирже, просто перейдите по ссылке https://telega.in/c/SQl_and_DB_Learning. Присоединяйтесь к нам прямо сейчас и начните свой путь к освоению SQL и баз данных вместе с 'SQL и БД Learning'!

SQL и БД Learning

23 Jan, 16:02


Шпаргалка по SQL (postgres), которая выручает меня на собесах

Смотреть статью

SQL и БД Learning

21 Jan, 17:29


#Вопросы_с_собеседования

Вывести список клиентов, сделавших заказы в период с 1 января 2020 года по 31 декабря 2020 года

Ответ на картинке.

SQL и БД Learning

21 Jan, 08:21


#Вопросы_с_собеседования

Переименуйте таблицу table2 в table3

Ответ на картинке.

SQL и БД Learning

19 Jan, 18:08


SQL — Числовые функции. Подробная шпаргалка.

Смотреть

SQL и БД Learning

17 Jan, 18:56


DROP COLUMN

Чтобы удалить определенный столбец из таблицы, мы сделаем следующее.

SQL и БД Learning

14 Jan, 14:48


#Вопросы_с_собеседования

Получите SQL запросом все возрасты без дублирования

Ответ картинке.

SQL и БД Learning

13 Jan, 18:20


#Вопросы_с_собеседования

Объясните различные типы нормализации

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

Первая нормальная форма (1NF) — нет повторяющихся групп в строках
Вторая нормальная форма (2NF) — каждое неключевое (поддерживающее) значение столбца зависит от всего первичного ключа
Третья нормальная форма (3NF) — каждое неключевое значение зависит только от первичного ключа и не имеет зависимости от другого неключевого значения столбца

SQL и БД Learning

13 Jan, 14:56


LeetCode теперь в Telegram!

LeetCode — это сайт, который позволяет быстро готовиться к техническим собеседованиям по программированию. Там публикуются задачи с собеседований в Google и Microsoft с решениями.

Подписывайтесь: @leetcode

SQL и БД Learning

13 Jan, 12:17


#Вопросы_с_собеседования

Выберите из таблицы workers все записи так, чтобы вместо id было userId, вместо login – userLogin, вместо salary - userSalary

Ответ на картинке.

SQL и БД Learning

11 Jan, 14:11


#Вопросы_с_собеседования

Удержание пользователей в месяц

Контекст: допустим, у нас есть статистика по авторизации пользователей на сайте в таблице logins:

| user_id | date |
|---------|------------|
| 1 | 2018-07-01 |
| 234 | 2018-07-02 |
| 3 | 2018-07-02 |
| 1 | 2018-07-02 |
| ... | ... |
| 234 | 2018-10-04 |

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

Решение:

SELECT
DATE_TRUNC('month', a.date) month_timestamp,
COUNT(DISTINCT a.user_id) retained_users
FROM
logins a
JOIN
logins b ON a.user_id = b.user_id
AND DATE_TRUNC('month', a.date) = DATE_TRUNC('month', b.date) +
interval '1 month'
GROUP BY
date_trunc('month', a.date)

SQL и БД Learning

10 Jan, 17:54


Как полностью очистить таблицу sql

Полностью очистить таблицу, не удаляя её можно с помощью запроса DELETE. Мы указываем имя таблицы, но опускаем блок WHERE. Тогда удаляются абсолютно все записи, вне зависимости от условий.

DELETE FROM wiped_table_name;
-- Мы очистили таблицу wiped_table_name


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

TRUNCATE cars, cups, parrots;
-- Тут можно перечислять сколько угодно таблиц

SQL и БД Learning

10 Jan, 11:33


Друзья, на связи ваш админ.
Я тут сделал бота для знакомств @tinder. Буду рад, если вы оцените и воспользуетесь. Если буду какие-то замечания, пишите, буду благодарен)

SQL и БД Learning

08 Jan, 18:09


Извлекаем имя из адреса электронной почты

Где "YourTable" - это название вашей таблицы, содержащей столбец с адресами электронной почты.

Этот запрос использует функцию "LEFT", чтобы извлечь часть строки до символа "@", а функция "CHARINDEX" используется для нахождения позиции символа "@". Результат запроса будет содержать столбец с именами, извлеченными из адресов электронной почты.

SQL и БД Learning

07 Jan, 11:16


#Вопросы_с_собеседования

В чем разница между кластерными и некластеризованными индексами?

Ответ на картинке.

SQL и БД Learning

07 Jan, 08:40


⚡️ В сети начали массово сливать курсы и книги известных онлайн школ

Вот отсортированная база с тонной материала(постепенно пополняется):

БАЗА (4687 видео/книг):

(363 видео, 87 книги) — Python
(415 видео, 68 книги) — Frontend
(143 видео, 33 книги) — ИБ/Хакинг
(352 видео, 89 книги) — С/С++
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(174 видео, 91 книги) — DevOps
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL/БД
(163 видео, 29 книги) — Linux
(107 видео, 43 книги) — СисАналз
(181 видео, 32 книги) — Go
(167 видео, 43 книги) — Kotlin/Swift
(112 видео, 24 книги) — Flutter
(137 видео, 93 книги) — DS/ML
(113 видео, 82 книги) — GameDev
(183 видео, 37 книги) — UI/UX
(129 видео, 73 книги) — QA
(213 видео, 63 книги) — Rust
(121 видео, 24 книги) — Ruby

Скачивать ничего не нужно — все выложили в Telegram

SQL и БД Learning

06 Jan, 16:33


Количество вхождений строки в поле в MySQL

Есть таблица items со следующими данными:

id desc
1 val test test val
2 val test
3 test test test
4 valvalvalvalval

Напишите MySQL запрос, который подсчитает количество вхождений значения ‘val‘ для каждого desc.

Ожидаемый результат:
2
1
0
5


Решение:


SELECT
ROUND (
(LENGTH (desc) - LENGTH (
REPLACE (desc, ‘val‘,‘‘)
)) / LENGTH(‘val‘)) AS c
FROM items;

SQL и БД Learning

05 Jan, 19:09


Какая разница между TRUNCATE TABLE table_name и DELETE FROM table_name?

Фактически обе эти команды вызовут удаление всех строк из таблицы под названием table_name, но вот произойдет это совсем по-разному:

1. При вызове команды TRUNCATE таблица полностью сбрасывается и создается снова, в то время как команда DELETE удаляет каждую строку таблицы по отдельности. Из-за этого TRUNCATE отрабатывает значительно быстрее.

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

3. В отличие от DELETE команда TRUNCATE не транзакционная. То есть, если в момент ее вызова, таблица table_name будет заблокирована какой-либо транзакцией — может возникнуть ошибка.

SQL и БД Learning

31 Dec, 14:48


Любимые подписчики, поздравляю вас с наступающим новым годом! Пусть в 2025 году исполнятся все ваши самые заветные желания🎄🎄🎄🎄

SQL и БД Learning

30 Dec, 19:58


Полезные TreeMap визуализации для MSSQL, Postgres и MySQL

Смотреть статью

SQL и БД Learning

27 Dec, 18:01


#Вопросы_с_собеседования

При выборке из таблицы workers получите первые 5 символов поля description

Ответ на картинке.

SQL и БД Learning

25 Dec, 18:54


Как оператор GROUP BY обрабатывает поля с NULL?

Учитывая, что NULL в SQL — просто отсутствие значения, то все значения NULL при группировке попадают в одну группу. Например, пусть есть таблица:

name score
Alex 5
Sam 1
Sam 11
NULL 4
NULL 3

Тогда запрос
SELECT name, SUM (score) AS sc
FROM table
GROUP BY name;
выдаст:

name sc
Alex 5
Sam 12
NULL 7

SQL и БД Learning

25 Dec, 14:37


⚡️Слита База из 1000+ топовых IT-курсов

👩‍💻 Все языки: @main_it_baza

🖥 Python: @python_baza

👩‍💻 Frontend: @frontend_baza

👩‍💻 Backend: @backend_baza

🎨 Дизайн: @design_baza

📊 Архив: @archive_baza

Всё лучшее про IT бесплатно — уже на Базе 🚀

SQL и БД Learning

25 Dec, 13:47


История учебы Васи и конечный автомат на SQL

Смотреть статью

SQL и БД Learning

24 Dec, 18:20


Дублирование данных для создания ограничений (контролей) на уровне БД

Смотреть статью

SQL и БД Learning

22 Dec, 20:33


#Вопросы_с_собеседования

При выборке из таблицы workers запишите год, месяц и день в отдельные поля с помощью EXTRACT

Ответ на картинке.

SQL и БД Learning

20 Dec, 20:09


#Вопросы_с_собеседования

При выборке из таблицы workers прибавьте к дате 1 день и отнимите 2 часа, 3 минуты

Ответ на картинке.

SQL и БД Learning

18 Dec, 19:23


Как хранить сеть дорог в БД для построения маршрута?

Смотреть статью

SQL и БД Learning

17 Dec, 11:17


7 распространенных ошибок в SQL-запросах, которые делал каждый (почти)

Источник

SQL и БД Learning

15 Dec, 14:51


#Вопросы_с_собеседования

Выберите из таблицы workers все записи, в которых сумма дня и месяца меньше 10-ти

Ответ на картинке.

SQL и БД Learning

12 Dec, 14:55


🖥 Как работает like в SQL

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

Шаблон запроса:

SELECT column_name(s) FROM table_name WHERE column_name LIKE pattern;

Пример:

SELECT * FROM customers WHERE last_name LIKE 'Sm%';

Этот запрос вернет все строки из таблицы customers, в которых last_name начинается с букв "Sm".

Оператор LIKE чувствителен к регистру символов, то есть "A" и "a" будут восприниматься как разные символы. Однако, для того чтобы выполнить поиск, игнорируя регистр символов, можно использовать функцию UPPER или LOWER, например:

SELECT * FROM employees WHERE UPPER(first_name) LIKE '%JOHN%';

SQL и БД Learning

12 Dec, 12:06


✅️ GitHub теперь в Telegram!

Подписывайтесь: @GitHub

SQL и БД Learning

12 Dec, 10:09


🖥 Наглядный гайд с функциями от SQL до Pandas

SQL и БД Learning

11 Dec, 11:25


#Вопросы_с_собеседования
Как в SQL можно выполнить самосоединение таблицы без использования ключевого слова JOIN?


В SQL можно выполнить самосоединение таблицы, используя подзапросы в условии WHERE, вместо явного использования JOIN. Это позволяет сравнивать строки внутри одной и той же таблицы без использования синтаксиса JOIN. Вот пример с таблицей employees, где мы хотим найти пары сотрудников с одинаковыми должностями.

В этом запросе мы используем синтаксис таблицы "FROM employees a, employees b", который подразумевает декартово произведение, но фильтруем результаты с помощью условия WHERE, чтобы оставить только те строки, где должности совпадают, исключая при этом строки, где сравниваются сами с собой. Это необычный способ выполнения самосоединения, обычно предпочтительнее использовать JOIN для большей читаемости и эффективности.

SQL и БД Learning

10 Dec, 17:16


Что такое горячая миграция?

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

Преимущества горячей миграции

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

Пример горячей миграции в SQL

Допустим, у нас есть таблица "users" в базе данных, и мы хотим добавить новое поле "phone_number". Вместо того, чтобы остановить приложение или базу данных, мы можем использовать горячую миграцию для добавления этого поля в существующую таблицу. В процессе горячей миграции, новое поле будет добавлено, а существующие данные будут сохранены.

SQL и БД Learning

10 Dec, 14:45


В ClickHouse джоины всегда считались слабым местом. Но система развивается, производительность и функциональность джоинов совершенствуется.

На вебинаре «Надо ли бояться джоинов в современном ClickHouse?» вы узнате:
- Как работают разные типы джоинов в ClickHouse: INNER, LEFT, RIGHT, CROSS
- Какие подходы к организации таблиц для выполнения джоинов – оптимальны
- Как использовать функциональность JOIN и ARRAY JOIN для сложных аналитических запросов
- Как настроить параметры ClickHouse для повышения производительности джоинов

Cпикер: Алексей Железной: старший инженер данных и руководитель курса «ClickHouse для инженеров и архитекторов БД».

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

Бонус для участников! Скидка 5% на любой курс OTUS и гайд «Как не положить ClickHouse: примеры из практики»

10 декабря, 18:30 МСК, Бесплатно

Записаться на событие - https://otus.pw/AYzZ/?erid=LjN8JwQEo

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

SQL и БД Learning

09 Dec, 14:59


А вы тоже все еще выбираете направление для своей карьеры в 2025 году?

🙄 Маркетинг или программирование?
🙄 Логистика или финансы?
🙄 … или аналитика?

2024 год показал: аналитика — профессия будущего. Принимать решения на коленке больше никто не хочет, даже в условиях турбулентности. Темп роста рынка — более 30% в год! Джуны со знанием SQL, Python и BI-систем получают от 100 000 рублей, а уверенные мидлы — более 250 000. Кстати, аналитика – тоже IT-профессия.

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

🔮 Предлагаем вам пройти бесплатный тест на профориентацию, он займет всего 3 минуты и сразу выдаст результаты. Представляйте себя на месте любимых киногероев, отвечайте на вопросы и узнайте, какой вы аналитик! 🧚‍♀️

Кстати, в конце теста вас ждет промокод на скидку до 30 000 рублей на обучение аналитике в школе Changellenge >> Education, чтобы начать погружаться в любимое направление было еще приятнее!

Пройдите бесплатный тест до 15 декабря и узнайте, какой вы аналитик 🪄

Пройти тест »

SQL и БД Learning

09 Dec, 14:01


⚡️ Marimo — это реактивный ноутбук на Python, который теперь поддерживает SQL.

Вот его основные возможности:

▪️Запуск одной ячейки приводит к автоматическому запуску всех зависимых ячеек.

▪️Вы можете запускать свои ноутбуки как скрипты Python, параметры которых задаются через аргументы командной строки.

▪️Встроенная поддержка SQL и удобная панель для работы с данными делают Marimo мощным инструментом для анализа информации.

▪️Ноутбуки Marimo сохраняются в формате .py, что позволяет легко управлять версиями через Git.

Важно отметить, что поддержка SQL была добавлена недавно. Это позволяет вам писать запросы и получать результаты в виде датафреймов.

pip install marimo && marimo tutorial intro

https://github.com/marimo-team/marimo

SQL и БД Learning

09 Dec, 12:04


В ClickHouse джоины всегда считались слабым местом. Но система развивается, производительность и функциональность джоинов совершенствуется.

На вебинаре «Надо ли бояться джоинов в современном ClickHouse?» вы узнате:
- Как работают разные типы джоинов в ClickHouse: INNER, LEFT, RIGHT, CROSS
- Какие подходы к организации таблиц для выполнения джоинов – оптимальны
- Как использовать функциональность JOIN и ARRAY JOIN для сложных аналитических запросов
- Как настроить параметры ClickHouse для повышения производительности джоинов

Cпикер: Алексей Железной: старший инженер данных и руководитель курса «ClickHouse для инженеров и архитекторов БД».

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

Бонус для участников! Скидка 5% на любой курс OTUS и гайд «Как не положить ClickHouse: примеры из практики»

10 декабря, 18:30 МСК
Бесплатно

Записаться на событие: https://clck.ru/3F8Ays

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

SQL и БД Learning

07 Dec, 15:48


😁

SQL и БД Learning

04 Dec, 17:32


Погружение в базы данных

Смотреть статью

SQL и БД Learning

04 Dec, 14:40


Научитесь проектировать отказоустойчивые хранилища для распределённых систем

Узнайте на открытом вебинаре, как минимизировать риски, настроить репликацию и автоматическое восстановление. Разберём актуальные практики с примерами на Cassandra, MongoDB и Ceph.

🔴 Регистрируйтесь на открытый вебинар «Обеспечение отказоустойчивости хранилищ» 10 декабря в 20:00 мск. Участникам — скидка на участие в курсе «Highload Architect»: https://clck.ru/3F2kq9

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

SQL и БД Learning

02 Dec, 14:51


🖥 SQLFlow - отличный инструмент для визуализации SQL-запросов.

Легкий и простой интрумент для визуализация связей и структур БД, поддерживающий более 20 разных БД.


https://github.com/sqlparser/sqlflow_public/blob/master/install_sqlflow.md

SQL и БД Learning

01 Dec, 17:04


Сравнение JSONB с hstore

Оба типа данных поддерживают хранение пар "ключ-значение", но JSONB имеет более сложную структуру, позволяющую включать массивы и вложенные объекты.

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

SQL и БД Learning

28 Nov, 18:07


#Вопросы_с_собеседования
Как можно оптимизировать выполнение запроса с использованием коррелированного подзапроса, чтобы улучшить производительность на больших объемах данных?


Один из эффективных способов оптимизации — преобразование коррелированного подзапроса в JOIN. Коррелированный подзапрос выполняется для каждой строки внешнего запроса, что может быть неэффективно на больших наборах данных. Использование JOIN позволяет базе данных обрабатывать данные более эффективно, сокращая общее время выполнения за счет однократного выполнения операции соединения и оптимизации плана запроса.

SQL и БД Learning

28 Nov, 15:05


🌎 PostgreSQL и ClickHouse — два мира, два подхода к индексации!

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

👨‍🏫 Спикер: Алексей Железной — Senior Data Engineer с более чем 5-летним опытом разработки и проектирования пайплайнов для обработки, хранения и визуализации данных.

📅 Дата: 2 декабря в 20:00 МСК

🎁 Бонус: Участники вебинара получат скидку на обучение на курсе «ClickHouse для инженеров и архитекторов БД»

👉 Регистрируйтесь на открытый урок по ссылке: ссылка

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

SQL и БД Learning

28 Nov, 11:17


#Вопросы_с_собеседования
Что такое определяемая пользователем функция?

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

SQL и БД Learning

27 Nov, 18:48


🎉 Интерактивная SQL шпаргалка

SQL и БД Learning

27 Nov, 15:01


🔥 Почему Cassandra становится выбором лидеров в мире больших данных?

На открытом вебинаре 4 декабря в 20:00 мск мы расскажем все о ее возможностях!

Cassandra — это не просто база данных. Это мощный инструмент для работы с большими объемами данных, масштабирования и обеспечения высокой доступности. Узнайте, почему она настолько популярна и как используется в разных отраслях.

💡 Реальные кейсы, примеры внедрения, уникальные преимущества — вебинар поможет вам понять, как именно Cassandra может улучшить управление данными и сэкономить ресурсы.

Вебинар пройдет в рамках курса «Cassandra для разработчиков и администраторов», все посетители получат welcome-скидку на обучение.

🔗 Ссылка на регистрацию: https://clck.ru/3EsEca

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

SQL и БД Learning

27 Nov, 08:53


😁 Когда огромный SQL-запрос сработал с первой попытки

SQL и БД Learning

26 Nov, 17:58


#Вопросы_с_собеседования
Как выполнить сопоставление без учёта регистра с использованием регулярных выражений в PostgreSQL?


Чтобы выполнить сопоставления без учета регистра с использованием регулярного выражения, мы можем использовать выражение POSIX (~*) из операторов сопоставления с образцом. Например:
'interviewbit' ~* '.*INTervIewBit.*'

SQL и БД Learning

26 Nov, 15:00


Как с помощью простой шаблонизации выстроить гибкий CI/CD-пайплайн с самого начала?

Расскажем на открытом уроке как эффективно использовать шаблоны:
1. Для минимизации времени на создание
2. Чтобы избежать переделки в будущем 

Практика: Создание адаптируемых пайплайнов с использованием шаблонов

👉 Регистрация и подробности о курсе CI/CD на основе GitLab
https://otus.pw/f5Hh/?erid=LjN8KUssd

#реклама
О рекламодателе

SQL и БД Learning

26 Nov, 14:01


Установка значения по умолчанию для NULL

Предположим, у вас есть таблица Users с полями Name и Email. Некоторые строки имеют NULL в поле Email. Вы хотите выбрать все имена и электронные адреса, но для строк с NULL в Email вы хотите установить значение по умолчанию, например, 'no-е[email protected]'.

SQL и БД Learning

24 Nov, 16:28


#Вопросы_с_собеседования
Что такое "SQL инъекция" и как её можно предотвратить?

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

Для предотвращения SQL инъекций следует использовать параметризованные запросы, при которых вводимые пользователем данные обрабатываются как параметры, а не как часть SQL-кода. Это изолирует эти данные от самого запроса, предотвращая их интерпретацию как часть SQL-команды. Также важно проводить валидацию и санитизацию вводимых данных, ограничивая возможность ввода потенциально опасных символов или конструкций.

SQL и БД Learning

22 Nov, 13:07


#Вопросы_с_собеседования
В чем заключается основной недостаток удаления данных из существующей таблицы с помощью команды DROP TABLE?

Хотя команда DROP TABLE позволяет полностью удалить данные из существующей таблицы, у не` есть недостаток — она удаляет полную структуру таблицы из базы данных. Из-за этого нам нужно заново создать таблицу для хранения данных.

SQL и БД Learning

21 Nov, 17:46


#Вопросы_с_собеседования
Как вы оптимизируете запросы SQL в больших базах данных для улучшения производительности, и какие факторы вы учитываете при анализе и улучшении эффективности запроса?


Для оптимизации SQL-запросов в больших базах данных, важно учитывать следующие факторы: использование индексов для ускорения поиска данных; избегание излишних операций соединения таблиц, особенно в случае больших наборов данных; оптимизация подзапросов и обеспечение их эффективности; использование агрегатных функций и временных таблиц для сокращения объёма обрабатываемых данных; анализ плана выполнения запроса для выявления узких мест. Также важно регулярно обновлять статистику базы данных для точной оценки планов выполнения и использовать подходящие методы кэширования для повторно используемых запросов.

SQL и БД Learning

21 Nov, 15:00


Вебинар «Анализируем транзакции в реальном времени» 

Приходите на бесплатный вебинар и узнайте, как обрабатывать высокие транзакционные и аналитические нагрузки в гибридной in-memory СУБД. 

Дата и время: 28 ноября, 16:00.

Программа

🔹 Ускорение аналитических расчетов и аналитика на самых свежих данных с помощью HTAP-систем.

🔹 Основные архитектурные характеристики гибридных транзакционно-аналитических СУБД (HTAP). 

🔹 Повышение отказоустойчивости транзакционно-аналитических решений, настройка под разные профили нагрузки и интеграция с другими компонентами ИТ-ландшафта. 

Проведем демонстрацию возможностей продукта Tarantool Column Store в работе с объектами и данными.

Расскажем, как формировать отчетность в реальном времени и рассчитывать агрегаты в антифрод-системах с помощью продукта Tarantool Column Store.  

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

SQL и БД Learning

21 Nov, 14:18


#Вопросы_с_собеседования
Объясните, как SQL обрабатывает запрос с множественными JOIN операторами, содержащими условия как на INNER, так и на LEFT JOIN, и как это влияет на производительность запроса. Приведите пример.

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

SELECT A.*, B.*, C.*
FROM A
INNER JOIN B ON
A.id = B.a_id
LEFT JOIN C ON
A.id = C.a_id
WHERE A.some_column = 'some_value';


В этом запросе сначала выполняется INNER JOIN между таблицами A и B, а затем LEFT JOIN с таблицей C. Результат может быть значительно отличаться, если поменять порядок JOIN, и это может повлиять на производительность запроса.

SQL и БД Learning

20 Nov, 14:53


👩‍💻 Обучение программированию с нуля

Друзья, появился новый канал по обучению разных IT технологий.

Изучение Python
Изучение JavaScript
Изучение HTML/CSS
Изучение Java
Изучение C/С++
Изучение С#
Изучение SQL

👉 Подписывайся на TechVibe, будет интересно.

SQL и БД Learning

20 Nov, 13:36


#Вопросы_с_собеседования
Какая разница между реляционной базой данных и графовой базой данных, и какая из них лучше для работы с социальными сетями?


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

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

SQL и БД Learning

20 Nov, 11:26


Хотите анализировать данные на уровне профи?

Присоединяйтесь к открытому вебинару 25 ноября в 20:00 МСК и узнайте, как интегрировать ClickHouse с популярными BI-инструментами — DataLens и Power BI.

📚Что вас ждёт?
- Практическое погружение в интеграцию данных.
- Создание интерактивных дашбордов для анализа.
- Кейсы использования BI в реальном бизнесе.

Почему это важно?
BI-инструменты — это основа эффективного принятия решений. После вебинара вы сможете работать с данными быстрее и увереннее.

🔴Регистрируйтесь сейчас! Участники вебинара получат скидку на большое обучение «ClickHouse для инженеров и архитекторов баз данных»: https://clck.ru/3EigNR

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

SQL и БД Learning

20 Nov, 09:26


#Вопросы_с_собеседования
Объясните, что такое фантомное чтение в транзакциях баз данных, и какие меры могут быть приняты для его предотвращения?

Фантомное чтение — это явление в базах данных, когда транзакция повторно читает данные и обнаруживает строки, которых раньше не было, из-за изменений, внесенных другой недавно завершенной транзакцией. Это может привести к неконсистентности данных, если одна транзакция основывается на предыдущем чтении, которое было сделано до внесения изменений.

Для предотвращения фантомного чтения можно использовать строгие уровни изоляции транзакций, например, уровень сериализуемости, который гарантирует, что транзакции выполняются так, как если бы они происходили в отдельной последовательности, а не параллельно. Это может быть достигнуто с помощью механизмов блокировки строк, предотвращающих другие транзакции от внесения изменений в строки, которые используются текущей транзакцией, или с помощью многоуровневых версий снимков данных (MVCC), которые предоставляют каждой транзакции консистентный снимок базы данных на определенный момент времени.

SQL и БД Learning

19 Nov, 18:01


SQL-запросы: основные команды для управления базами данных

Смотреть статью

SQL и БД Learning

17 Nov, 15:01


#Вопросы_с_собеседования
Каковы различия между INNER JOIN и OUTER JOIN в SQL, и в каких сценариях каждый из них является наиболее подходящим для использования? Приведите примеры, где использование OUTER JOIN (LEFT, RIGHT или FULL) предпочтительнее по сравнению с INNER JOIN.

Основное различие между INNER JOIN и OUTER JOIN заключается в обработке несоответствующих строк в соединяемых таблицах. INNER JOIN возвращает только те строки, которые имеют соответствующие значения в обеих таблицах. Если совпадений нет, строки не включаются в результат. Напротив, OUTER JOIN (LEFT, RIGHT, FULL) включает все строки из одной (LEFT или RIGHT) или обеих таблиц (FULL), даже если совпадений нет, добавляя NULL значения для отсутствующих данных.

Пример, где OUTER JOIN предпочтительнее:
Использование LEFT JOIN для получения списка всех сотрудников и их проектов, включая сотрудников без проектов. Здесь INNER JOIN исключил бы сотрудников, не работающих над проектами, тогда как LEFT JOIN позволит включить их в результат с NULL в столбцах, связанных с проектами.

SQL и БД Learning

16 Nov, 15:37


Ультимативная дорожная карта для изучения SQL и баз данных в 2023 году + источники для знаний

Смотреть статью

SQL и БД Learning

15 Nov, 12:00


Пример

Следующий запрос выбирает все данные строк из таблицы users где age имеет значения 18,19 и 21.

SQL и БД Learning

14 Nov, 12:29


Почему данный код выведет ошибку?

SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
WHERE city_m = 'EU:Oslo';

Код выдаст ошибку, так как в данном случае alias нельзя использовать в операторе WHERE.

Порядок выполнения упомянутого SELECT запроса следующий:
1. FROM
2. WHERE
3. SELECT

Соответственно при выполнении команды WHERE, alias, задаваемый в SELECT еще неизвестен.

Для PostgreSQL или MySQL данную проблему можно решить, например, следующим образом:

```WITH ct AS (
SELECT id, name, CONCAT ('EU:', city) AS city_m
FROM customers
)
SELECT ct.*
FROM ct
WHERE ct.city_m = 'EU:Oslo';

SQL и БД Learning

13 Nov, 06:13


#Вопросы_с_собеседования

Для каких числовых типов недопустимо использовать операции сложения/вычитания?

Ответ:
В качестве операндов операций сложения и вычитания нельзя использовать числовой тип BIT. BIT - целочисленный тип данных, который может принимать значения 1, 0 или NULL.

SQL и БД Learning

10 Nov, 20:46


#Вопросы_с_собеседования

Выберите из таблицы workers записи с id равным 1, 2, 3, 7, 9, и логином, равным 'user', 'admin', 'ivan' и зарплатой больше 300

Ответ на картинке.

SQL и БД Learning

07 Nov, 09:29


Поиск значений в таблице, которые не совпадают с другой таблицей

Для выполнения поиска значений в таблице, которые не совпадают с другой таблицей в SQL, можно использовать операторы JOIN, NOT IN и NOT EXISTS.

1. JOIN - используется для объединения двух таблиц по заданному условию. Для поиска значений, которые не совпадают, можно использовать LEFT JOIN или RIGHT JOIN, а затем выбрать строки с NULL значениями в столбцах таблицы-присоединения.

2. NOT IN - спользуется для выбора значений из одной таблицы, которые не содержатся в другой таблице.

3. NOT EXISTS - используется для проверки наличия значений в подзапросе и выбора строк, которые не имеют соответствия в другой таблице.

SQL и БД Learning

06 Nov, 18:26


#Вопросы_с_собеседования

Для каких числовых типов недопустимо использовать операции сложения/вычитания?

Ответ:
В качестве операндов операций сложения и вычитания нельзя использовать числовой тип BIT. BIT - целочисленный тип данных, который может принимать значения 1, 0 или NULL.

SQL и БД Learning

06 Nov, 14:55


Обучаем аналитиков платформы данных и берём в команду ⚡️

Регистрируйся на онлайн-интенсив в Открытые школы Т1!

От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.

Лучшим участникам предложим оффер в Т1 — крупнейшую ИТ-компанию страны по версии RAEX и CNews Analytics 2023 🔝.

Зачем участвовать?

⚙️Получить поддержку наставников. В нашей команде — передовые специалисты в области разработки хранилищ данных и аналитических систем, которые помогут прокачать навыки. Карьерные треки для выпускников Открытых школ позволяют быстрее вырасти в мидла в Т1.

⚙️ Работать в классной компании, где есть все айтишные бонусы (ДМС, удалёнка и крутые офисы, спорт и обучение).

⌛️ Быстрое обучение: 1 месяц.
💻 Гибкий формат: все этапы онлайн, занятия по вечерам.

Бигтех ждёт тебя, подавай заявку до 8 ноября!

#реклама
О рекламодателе

SQL и БД Learning

06 Nov, 08:39


#Вопросы_с_собеседования

В чем разница между командами Delete, Truncate и Drop?

• Команда Delete — это команда DML , он используется для удаления строк из таблицы. Его можно откатить.
Truncate — это команда DDL, она используется для удаления всех строк из таблицы и освобождения пространства, содержащего таблицу. Ее нельзя откатить.
Drop — это команда DDL, она удаляет все данные вместе со структурой таблицы (в отличие от команды truncate, которая удаляет только строки). Все строки, индексы и привилегии таблиц также будут удалены.

SQL и БД Learning

05 Nov, 07:06


#Вопросы_с_собеседования

Выберите все записи, где первая буква City начинается с любой буквы от "a" до "f"

Ответ на картинке.

SQL и БД Learning

04 Nov, 09:38


#Вопросы_с_собеседования

Дана таблица tbl и поля nmbr со следующими значениями: 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1

Напишите запрос, чтобы установить 2 вместо 0 и установить 3 вместо 1.

SQL и БД Learning

01 Nov, 07:25


#Вопросы_с_собеседования

При выборке из таблицы workers получите последние 5 символов поля description

Ответ на картинке.

SQL и БД Learning

31 Oct, 17:18


#Вопросы_с_собеседования

Напишите SQL-запрос, который найдет суммарное количество заказов и общую сумму продаж для каждого месяца за последние 6 месяцев, и отобразит результаты только для тех месяцев, в которых было совершено более 100 заказов?

В этом примере мы используем функцию DATE_TRUNC для округления даты до месяца. Затем мы считаем общее количество заказов с помощью функции COUNT и общую сумму продаж с помощью функции SUM. Затем мы используем выражение HAVING для фильтрации только тех месяцев, где количество заказов превышает 100. Наконец, мы сортируем результаты по месяцам с помощью выражения ORDER BY.

SQL и БД Learning

31 Oct, 14:54


Обучаем IT-специалистов и берём в команду ⚡️

Лучшим участникам предложим оффер в Т1 — крупнейшую по выручке ИТ-компанию страны по версии RAEX и CNews Analytics 2023🔝.

Зачем участвовать?

🔹 Уникальный рыночный опыт. Т1 одни из первых на рынке, кто внедряет технологии для управления данными. 

🔹 Попасть в число лучших. Проекты Т1 ежегодно получают лучшие награды на ИТ-конкурсах: Global CIO, Национальная банковская премия и др.

🔹 Поддержка. Тебя ждёт команда опытных профессионалов, которые помогут расти и развиваться.

Выбирай:
📁 аналитик платформы данных (DWH) 
🖥  разработчик платформы данных (DWH) 

От тебя нужен только опыт работы от 6 месяцев в проектах разработки хранилищ данных и желание попасть в команду Т1.

Быстрое обучение: 1 месяц
📱 Гибкий формат: онлайн по вечерам (от 8 часов в неделю на вебинары и практику)

Подавай заявку до 2 ноября! 

#реклама
О рекламодателе

SQL и БД Learning

31 Oct, 07:09


Соединяем 3 таблицы по одному одинаковому столбцу

В этом примере используется оператор JOIN для объединения таблицы table1 со столбцом column_name таблицы table2, а также с таблицей table3. Здесь column_name - это общий столбец, по которому происходит соединение таблиц.

SQL и БД Learning

28 Oct, 13:07


Узнаем дату последнего редактирования БД с поомщью SQL

Здесь мы используем системную таблицу sys.databases, которая содержит информацию о всех базах данных в SQL Server. Колонка modify_date указывает на дату и время последнего изменения базы данных.

SQL и БД Learning

27 Oct, 15:04


#Вопросы_с_собеседования

Как вставить нескольких строк одним запросом?

В данном примере мы одним SQL-запросом добавим 3 записи.

SQL и БД Learning

26 Oct, 17:26


#Вопросы_с_собеседования

Даны две таблицы: таблица category и таблица sub_category с полями id и name. Достаньте одним запросом названия категорий и подкатегорий.

Ответ на картинке.

SQL и БД Learning

23 Oct, 17:29


#Вопросы_с_собеседования

При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.

Ответ на картинке.

SQL и БД Learning

23 Oct, 15:09


⁉️ Столкнулись с тормозящим кодом?

Асинхронность и потоки в Python — это два инструмента, которые могут сделать ваши программы быстрее, но где же разница? Если вам важно оптимизировать выполнение запросов и IO-операций, не пропустите бесплатный открытый урок 12 ноября в 20:00 мск!

Мы рассмотрим вытесняющую и кооперативную многозадачность, обсудим процессы и потоки на уровне ОС. Вы узнаете, что такое race conditions и как их избежать, а также получите практическое понимание, как работает asyncio в Python.

👨‍💻🛠👨🏻‍💻 Урок для Python-разработчиков, Data Scientists и ML-инженеров, которые работают с базами данных, API и многозадачностью.

🔴 Запишитесь на урок и получите скидку на курс «Python для аналитики»: https://clck.ru/3E9PcC

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

SQL и БД Learning

23 Oct, 11:09


Узнаем кол-во всех ячеек в таблице с помощью SQL

Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).

Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.

SQL и БД Learning

23 Oct, 09:12


⚡️Выйти на стабильный доход в 150+ тысяч рублей можно всего за 3 месяца обучения в IT.

Сегодня переход в сферу IT — это не просто модный тренд, а реальная возможность изменить свою жизнь.

Ребята из онлайн-академии StepByStep в своем канале проводят бесплатный интенсив, благодаря которому можно погрузиться в мир IT и освоить самую востребованную профессию 2025 года – системный аналитик.

Гарантия трудоустройства после обучения.

Не упусти такую возможность: https://t.me/+qx0XwYfEoF0zZjcy

SQL и БД Learning

22 Oct, 18:09


#Вопросы_с_собеседования

Добавьте в таблицу table1 поле status

Ответ на картинке.

SQL и БД Learning

22 Oct, 14:56


Как создать свой Telegram-бот и начать зарабатывать уже сегодня?

Научим делать самые полезные и прибыльные боты на нашем бесплатном онлайн-практикуме и расскажем про то, как обучиться профессии промт-инженера с доходом 500.000 руб.

По итогам эфира вы узнаете:
— Как написать код для создания ботов;
— Кто такой промт-инженер и чем он занимается;
— Кому в действительности нужны его услуги и сколько за это платят;
— Кто может стать промт-инженером и какой порог входа;

Кликай на ссылку и забирай подробную информацию вместе с классными бонусами.

erid: LjN8K1kow
ООО Зерокодер, ИНН 9715401631

SQL и БД Learning

22 Oct, 08:36


Сработает ли данный запрос?

Ответ:
Вопрос нацелен на то, чтобы сбить с толку кандидата. На практике при операции join в большинстве случаев выполняется жесткое сопоставление одного поля в одной таблице с другим полем во второй. Например, t.field1 = tt.field1. В данном же случае запрос отработает.

В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.

SQL и БД Learning

21 Oct, 17:42


Сработает ли данный запрос?

Ответ:
Запрос не отработает. Конструкция HAVING не может использоваться при удалении строк. Она используется только при операции SELECT и чаще всего вместе с группировкой строк (GROUP BY). Эта задачка рассчитана на новичков. Опытный SQLщик сразу ответит на вопрос.

SQL и БД Learning

21 Oct, 14:55


Бесплатное IT-образование в 2024

Отобрали для вас полезные телеграм-каналы, которые помогут освоить программирование и другие IT-направления

Выбирайте нужное и подписывайтесь:

🖥 Базы Данных & SQL: @SQL
⚙️ Backend: @BackendPortal
📱 GitHub: @git_developer
🤓 Книги айти: @portalToIT
👩‍💻 Python: @PythonPortal
👩‍💻 Java: @Java_Iibrary
👩‍💻 C#: @KodBlog
👩‍💻 С/С++: @Cpportal
👩‍💻 Frontend: @FrontendPortal
👩‍💻 Golang: @juniorGolang
👩‍💻 PHP: @PHPortal
👩‍💻 Моб. разработка: @MobDev
👩‍💻 Разработка игр: @GameDevgx
👩‍💻 DevOps: @loose_code
🖥 Data Science: @DataSciencegx
🤔 Хакинг & ИБ: @cybersecinform
🐞 Тестирование: @QAPortal
📱 Маркетинг: @MarketingPortal
🖥 Дизайн: @PortalToDesign

➡️ Сохраняйте себе, чтобы не потерять

SQL и БД Learning

21 Oct, 09:18


#Вопросы_с_собеседования

Как скопировать данные из одной таблицы в другую?

Ответ на картинке.

SQL и БД Learning

18 Oct, 18:14


Функция EXTRACT()

Функция EXTRACT() извлекает часть из заданной даты.

В нашем примере функция извлекает месяц из даты.

Синтаксис:
EXTRACT(part FROM date).

SQL и БД Learning

18 Oct, 14:58


🔥Крупнейшая региональная IT–конференция Merge ждет вас в Сколково 15-16 ноября
 
Что ждет участников конференции Merge:

🔺 6 тематических направлений: Разработка, Управление, Маркетинг, HR, Тренды, IT-рынки
🔺 150+ докладов от топовых спикеров российских и международных компаний
🔺 2000+ участников из 60+ городов
🔺 Мастер-классы, воркшопы, BoF-сессии, круглые столы, панельные дискуссии

Мероприятие будет полезно разработчикам, QA, тимлидам, Project/Product-менеджерам, маркетологам, аналитикам, редакторам, PR-специалистам, HR-менеджерам, а также тем, кто только начинает свой путь в IT. 

По промокоду KR10 - скидка 10% на билеты.
Все подробности о Merge на сайте.

#реклама
О рекламодателе

SQL и БД Learning

18 Oct, 08:36


Сработает ли данный запрос?

Ответ:
Здесь всё очень просто. При вставке строчек в таблицу количество полей при объявлении не соответствует количеству вставляемых значений в конструкции values. Это должен знать даже начинающий SQL-разработчик.

SQL и БД Learning

17 Oct, 06:53


Узнаем размер файла с помощью SQL

В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию DATALENGTH, которая вернет размер данных в байтах.

Где MyFileColumn - это столбец таблицы, в котором хранится файл, MyTable - это имя таблицы, а ID = 1 - это условие выборки конкретной записи из таблицы.

SQL и БД Learning

16 Oct, 07:31


Узнать объем памяти базы данных с помощью SQL

Нужно заменить 'имя_базы_данных' на название вашей базы данных. Результатом будет суммарный размер всех таблиц в базе данных, выраженный в байтах.

SQL и БД Learning

15 Oct, 17:11


Узнаем вместимость БД

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

SQL и БД Learning

14 Oct, 17:26


Поиск по префиксу или тайные операторы PostgreSQL

Читать статью

SQL и БД Learning

14 Oct, 15:00


Любая крупная БД рано или поздно начинает испытывать проблемы с производительностью.

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

Как же их отслеживать и оптимизировать?

Узнаете на открытом вебинаре «Как оптимизировать производительность запросов в PostgreSQL?»

Вы узнаете:
- как оптимизация запросов влияет на скорость обработки данных
- что влияет на производительность запросов
- как правильно использовать индексы для повышения производительности
- как выявлять медленные запросы с помощью инструментов мониторинга

Будет интересно: аналитикам, инженерам и разработчикам БД, бэкенд-специалистам, тимлидам и проект-менеджерам.

Спикер: Алексей Железной, преподаватель OTUS и старший инженер данных.

Бонус! Всем участникам – скидка 5% на любой курс OTUS и полезные гайды.

16 октября, 18:30 МСК, Бесплатно

Записаться на событие - https://otus.pw/mEhS/?erid=LjN8K6foZ

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.

SQL и БД Learning

14 Oct, 13:41


#Вопросы_с_собеседования

Отработает ли данный запрос?

Ответ:
Нет, не отработает. Опытный data-инженер знает, что row_number() — это часть аналитической функции, которая не может быть применена сама по себе. Аналитические функции используются только в конcтрукциях SELECT или ORDER BY.

SQL и БД Learning

12 Oct, 17:23


#Вопросы_с_собеседования
Как SQL-запрос с использованием операторов JOIN может быть оптимизирован для ускорения выполнения, если одна из таблиц содержит миллионы записей, а другая – только несколько сотен? Опишите три различных подхода к оптимизации

Использование Индексов: Создание индексов на столбцах, участвующих в JOIN, может значительно ускорить процесс, особенно на столбцах большой таблицы. Если JOIN выполняется по столбцу, который является первичным ключом или имеет уникальный индекс, это обычно обеспечивает наилучшую производительность.

Оптимизация Порядка JOIN: Порядок, в котором таблицы соединяются в запросе, может влиять на производительность. Лучше начинать с таблицы с наименьшим количеством строк (в данном случае, таблицы с несколькими сотнями записей), что может уменьшить количество обрабатываемых данных на более ранней стадии выполнения запроса.

Использование Подзапросов или CTE (Common Table Expressions): В некоторых случаях, использование подзапросов или CTE для предварительной фильтрации данных перед выполнением JOIN может быть эффективным. Например, можно сначала выделить необходимые данные из меньшей таблицы с помощью подзапроса или CTE, а затем выполнить JOIN с большей таблицей. Это может сократить количество обрабатываемых данных и ускорить выполнение запроса.

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

SQL и БД Learning

12 Oct, 14:22


EdgeDB — open-source БД с декларативной схемой, встроенной системой миграции и языком запросов нового поколения

curl https://sh.edgedb.com --proto '=https' -sSf1 | sh

EdgeDB — это БД, поддерживающая сложные иерархические запросы; EdgeDB собрала в себе лучшее реляционных БД, графовых БД и ORM.

🖥 GitHub
🟡 Доки

SQL и БД Learning

11 Oct, 09:02


🤝SQL vs Polars vs Pandas

SQL и БД Learning

10 Oct, 11:17


Spice — унифицированный интерфейс запросов SQL и портативная среда выполнения для быстрого извлечения данных из любой БД, хранилища данных или озера данных


curl https://install.spiceai.org | /bin/bash
spice init spice_qs
cd spice_qs
spice run


Spice — open-source портативная среда выполнения, предлагающая унифицированный интерфейс SQL для получения данных из любой базы данных и не только.
Spice написана на Rust для максимальной производительности.

🖥 GitHub
🟡 Доки

SQL и БД Learning

10 Oct, 07:58


🖥 sqlite-vec

Чрезвычайно маленькое и "достаточно быстрое" расширение для векторного поиска SQLite, которое работает в любом месте!

Проект преемник sqlite-vss.

- Храните и запрашивайте float, int8 и двоичные векторы в виртуальных таблицах vec 0.
- Написан на чистом C, без зависимостей, работает везде, где работает SQLite (Linux/ macOS /Windows, в браузере с WASM, Raspberry Pis и т.д.)
- Предварительная фильтрация векторов с rowid В подзапросах (...)

Github

SQL и БД Learning

09 Oct, 18:14


JupySQL — позволяет выполнять SQL-запросы в Jupyter/IPython с помощью %sql и %%sql

pip install jupysql duckdb-engine

JupySQL — это форк ipython-sql с множеством исправленных ошибок и массой новых возможностей

JupySQL позволяет выполнять SQL-запросы и строить графики для больших наборов данных в Jupyter с помощью команд %sql, %%sql и %sqlplot.
JupySQL совместим со всеми основными БД (PostgreSQL, MySQL, SQL Server и др.), хранилищами данных (типа Snowflake, BigQuery, Redshift) и движками (SQLite и DuckDB).

🖥 GitHub
🟡 Доки

SQL и БД Learning

09 Oct, 10:54


Решаем загадку Джиндоша на SQL в пять строчек

Смотреть статью

11,374

subscribers

727

photos

8

videos