SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

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

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

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
#Вопросы_с_собеседования
Как можно оптимизировать выполнение запроса с использованием коррелированного подзапроса, чтобы улучшить производительность на больших объемах данных?


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

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

Hstore хранит данные в виде одиночных пар, что может быть удобно для простых случаев, но менее мощно для сложных структур.
👍7
This media is not supported in your browser
VIEW IN TELEGRAM
🖥 SQLFlow - отличный инструмент для визуализации SQL-запросов.

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


https://github.com/sqlparser/sqlflow_public/blob/master/install_sqlflow.md
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7😁5❤‍🔥1
Какой запрос позволит получить всех пользователей так, чтобы новые оказались в начале? Дата регистрации - "reg_date".
Anonymous Quiz
61%
SELECT * FROM users ORDER BY reg_date DESC
8%
SELECT * FROM users SORT BY reg_date DESC
20%
SELECT * FROM users ORDER BY reg_date ASC
4%
SELECT * FROM users ORDER ASC BY reg_date
2%
SELECT * FROM users SORT(reg_date)
5%
Посмотреть ответ
👍11🎄4
This media is not supported in your browser
VIEW IN TELEGRAM
⚡️ Marimo — это реактивный ноутбук на Python, который теперь поддерживает SQL.

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

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

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

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

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

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

pip install marimo && marimo tutorial intro

https://github.com/marimo-team/marimo
Please open Telegram to view this post
VIEW IN TELEGRAM
👍2
Что такое горячая миграция?

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

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

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

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

Допустим, у нас есть таблица "users" в базе данных, и мы хотим добавить новое поле "phone_number". Вместо того, чтобы остановить приложение или базу данных, мы можем использовать горячую миграцию для добавления этого поля в существующую таблицу. В процессе горячей миграции, новое поле будет добавлено, а существующие данные будут сохранены.
👍8
#Вопросы_с_собеседования
Как в SQL можно выполнить самосоединение таблицы без использования ключевого слова JOIN?


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

В этом запросе мы используем синтаксис таблицы "FROM employees a, employees b", который подразумевает декартово произведение, но фильтруем результаты с помощью условия WHERE, чтобы оставить только те строки, где должности совпадают, исключая при этом строки, где сравниваются сами с собой. Это необычный способ выполнения самосоединения, обычно предпочтительнее использовать JOIN для большей читаемости и эффективности.
👍9❤‍🔥1
SQL_Pandas.pdf
515.4 KB
🖥 Наглядный гайд с функциями от SQL до Pandas
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤‍🔥2🎄1
✅️ GitHub теперь в Telegram!

Подписывайтесь: @GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
🖥 Как работает 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%';
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5❤‍🔥1🔥1
#Вопросы_с_собеседования

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

Ответ на картинке.
😁8👍4🎄2
#Вопросы_с_собеседования

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

Ответ на картинке.
👍6
#Вопросы_с_собеседования

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

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

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