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
Что такое горячая миграция?

Горячая миграция
- это процесс обновления базы данных без остановки работы системы. В 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
Как оператор 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
👍15🎄2😁1
#Вопросы_с_собеседования

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

Ответ на картинке.
👍9
Полезные TreeMap визуализации для MSSQL, Postgres и MySQL

Смотреть статью
👍3
Любимые подписчики, поздравляю вас с наступающим новым годом! Пусть в 2025 году исполнятся все ваши самые заветные желания🎄🎄🎄🎄
Please open Telegram to view this post
VIEW IN TELEGRAM
🎄27❤‍🔥8🔥4
Какая разница между TRUNCATE TABLE table_name и DELETE FROM table_name?

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

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

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

3. В отличие от DELETE команда TRUNCATE не транзакционная. То есть, если в момент ее вызова, таблица table_name будет заблокирована какой-либо транзакцией — может возникнуть ошибка.
👍8
Количество вхождений строки в поле в 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;
👍7
Какой из следующих SQL запросов выберет первые 10% записей таблицы, отсортированные по колонке "sales" в порядке убывания?
Anonymous Quiz
30%
SELECT * FROM table WHERE sales > (SELECT MAX(sales) FROM t) * 0.1 ORDER BY sales DESC;
11%
SELECT * FROM table WHERE sales > (SELECT MIN(sales) FROM t) * 0.1 ORDER BY sales DESC LIMIT 10%;
14%
SELECT * FROM t WHERE sales > (SELECT AVG(sales) FROM t) * 0.1 ORDER BY sales DESC LIMIT 10;
46%
SELECT * FROM t ORDER BY sales DESC LIMIT 10%
👍16
#Вопросы_с_собеседования

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

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