SQL Academy: всё о реляционных БД и SQL
11.9K subscribers
184 photos
1 video
2 files
30 links
По всем вопросам и коммерческим предложениям писать @LadanovNick

Купить рекламу: https://telega.in/c/sqlacademyofficial

Чат студентов SQL Academy
https://t.me/sqlacademyorg
Download Telegram
Вам было бы интересно пройти тестовой собеседование по SQL от специалистов, работающих в топовых IT компаниях, и получить рекомендации после него?
Anonymous Poll
19%
Да, готов даже заплатить 3k
4%
Да, готов даже заплатить 5k
77%
Разве что за бесплатно
3🔥7🤯3👍2❤1
Мини-квиз по работе с датой и временем в SQL

Вопрос 1: Что делает следующий запрос?

SELECT DATE_FORMAT('2024-08-16', '%W, %M %d, %Y');


a) Возвращает дату в формате 16 августа 2024
b) Возвращает дату в формате 2024-08-16
c) Возвращает дату в формате Friday, August 16, 2024
d) Возвращает дату в формате 2024-16-08

Правильный ответ: c) Возвращает дату в формате Friday, August 16, 2024

Вопрос 2: Какой результат вернет следующий запрос, если текущая дата 2024-08-16?


SELECT DATEDIFF('2024-12-31', CURDATE());


a) 137
b) 100
c) 31
d) 365

Правильный ответ: a) 137

Вопрос 3: Какой результат вернет следующий запрос?

SELECT DATE_ADD('2024-02-28', INTERVAL 1 DAY);


a) 2024-02-29
b) 2024-03-01
c) 2024-03-02
d) Ошибка из-за неверной даты

Правильный ответ: b) 2024-03-01

Вопрос 4: Что произойдет, если выполнить следующий запрос?

SELECT TIMESTAMPDIFF(HOUR, '2024-08-16 08:00:00', '2024-08-16 20:00:00');


a) Вернет количество дней между двумя датами
b) Вернет количество секунд между двумя датами
c) Вернет количество часов между двумя датами
d) Вернет количество минут между двумя датами

Правильный ответ: c) Вернет количество часов между двумя датами
1🔥33👍25❤6🥰1🤩1
Кто же эти красивые люди🧐?

Это наши менторы, люди имеющие огромный опыт за спиной и готовые помочь вам с mock-собеседованиями.

Узнать больше информации о них и записаться можно тут:
https://sql-academy.org/ru/mentors
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍13❤6🔥2🥰2👏1😁1
Попробуй решить ❓

Дана таблица:

| OrderID | CustomerID | OrderDate | Amount |
|---------|------------|------------|--------|
| 1 | 101 | 2024-01-01 | 100 |
| 2 | 102 | 2024-01-02 | 200 |
| 3 | 101 | 2024-01-05 | 150 |
| 4 | 103 | 2024-01-07 | 300 |
| 5 | 101 | 2024-01-17 | 50 |
| 6 | 104 | 2024-01-15 | 400 |
| 7 | 102 | 2024-01-20 | 100 |
| 8 | 103 | 2024-01-21 | 200 |


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

SELECT CustomerID, SUM(Amount) AS TotalAmount
FROM Orders
WHERE OrderDate BETWEEN '2024-01-01' AND '2024-01-15'
GROUP BY CustomerID
HAVING COUNT(*) > 1;


Варианты ответа:
1. CustomerID = 101, TotalAmount = 250
2. CustomerID = 101, TotalAmount = 300
3. CustomerID = 102, TotalAmount = 200
4. CustomerID = 103, TotalAmount = 500

Решение в комментариях 😊
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍26❤8🔥4
С днем знаний 🎉🙂

Осень — идеальное время, чтобы начинать учиться! 📚

Чтобы учёба была ещё приятнее, мы дарим вам промокод 1SEPTEMBER на скидку 30%! 🤑 Успейте активировать до 5 сентября! ⏳

Также до 5 сентебря при покупке mock-собеседования
мы дарим вам премиум 🎁

Вперёд к новым знаниям! ✨
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍12❤3😢2👎1🔥1😍1
🚀 Вопросы с собеседования на позицию intern аналитика в Тинькофф: разбор SQL 🚀

Сегодня мы разберем некоторые интересные вопросы по SQL, которые могут встретиться на собеседовании в Тинькофф. 📊🔍

1️⃣ Может ли измениться результат запроса, если в LEFT JOIN поменять местами таблицы ?

Да, если поменять местами таблицы в LEFT JOIN, результат запроса кардинально изменится. Все потому, что LEFT JOIN берет все строки из "левой" таблицы, дополняя их данными из "правой". Смена местами меняет логику: теперь "правая" становится "левой" и наоборот. Это влияет на то, какие строки и как будут включены в результат. 🔄

2️⃣ 5 + NULL это сколько?

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

3️⃣ Какие функции умеют возвращать значения из предыдущих/последующих строк для заданной строки таблицы ?

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

ℹ️LEAD(): Получает данные из строки после текущей, позволяя смотреть вперед на заданное количество строк.

ℹ️ LAG(): Доступ к данным из строки перед текущей, предоставляя возможность анализировать предыдущие значения.

ℹ️ FIRST_VALUE() и LAST_VALUE(): Возвращают первое и последнее значение в наборе строк соответственно, идеально для сравнения текущих значений с крайними в диапазоне.

ℹ️ NTH_VALUE(): Дает значение из конкретной позиции в окне, полезно для нахождения конкретных точек данных в последовательности.

Для тех, кто хочет углубиться в тему оконных функций:
https://sql-academy.org/ru/guide/windows-functions
Please open Telegram to view this post
VIEW IN TELEGRAM
1👍45🔥5❤4🤩3⚡1
🚀 Вопросы с собеседования на позицию intern аналитика в Тинькофф: разбор SQL (часть 2) 🚀

Сегодня мы разберем некоторые интересные вопросы по SQL, которые могут встретиться на собеседовании в Тинькофф. 📊🔍

1️⃣ Можно ли делать JOIN таблицы саму на себя? 🤔

Абсолютно! Это называется self-join и полезно для работы с иерархическими данными или для сравнения строк в таблице. Вот пример запроса:


SELECT a.name AS EmployeeName, b.name AS ManagerName
FROM employees a
JOIN employees b ON a.manager_id = b.id;

Здесь мы используем одну и ту же таблицу employees для поиска имени сотрудника и его менеджера. Псевдонимы a и b помогают нам различать два использования таблицы.

2️⃣ Какой из операторов: SELECT, FROM, WHERE, GROUP BY - выполняется последним? 🧐

И тут главный герой - SELECT! 🌟 Хотя он стоит на первом месте по синтаксису, логически данные выбираются после всех фильтраций и группировок. Так что, порядок такой:

1. FROM ➡️ 2. WHERE ➡️ 3. GROUP BY ➡️ 4. SELECT.

3️⃣ Минимальное и максимальное количество записей в FULL JOIN таблицы на 10 и 100 строк? 📊

С FULL JOIN всё интересно:

🔹Минимум? 100 строк, если каждая из 10 нашла свою пару.

🔹Максимум? 1000 строк, если каждая строка из одной таблицы сопоставляется с каждой строкой из другой таблицы, то получаем кросс-продукт (декартово произведение) этих таблиц, что означает, что каждая строка из таблицы на 10 строк будет соединена с каждой строкой из таблицы на 100 строк.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤28👍20🔥6⚡1🥰1🤩1