🚀 Вопросы с собеседования на позицию 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



#задание_из_собеседования #tinkoff #intern #analytic