2. Какие виды команд ты знаешь? Назови примеры команд каждого вида и их задачу.
3. Отличие DROP, DELETE, TRUNCATE.
4. Назови основные типы данных в SQL. За основу возьми любую БД.
5. Назови "нестандартные" типы данных, которые ты знаешь.
6. Различие строковых типов данных CHAR, VARCHAR, TEXT.
7. Назовите логические виды JOIN и для чего они нужны.
8. Назовите физические виды JOIN и их принцип работы.
9. Как определить, что функция является оконной?
10. Назови виды оконных функций.
11. В чем разница между RANK и DENSE_RANK?
12. Как определяется окно строк в оконной функции? Объясни, как понимаешь принцип работы оконной функции.
13. Как применял оконные функции на практике? Расскажи пример из жизни. (Если такого примера нет, посмотри "Алгоритм поиска" (Сделай пост на данную тему и не забудь вставить ссылку на него)).
14. Как ты понимаешь, для чего нужно оптимизировать запросы?
15. В чем различия команд EXPLAIN и EXPLAIN ANALYZE?
16. Расскажи алгоритм того, как бы ты оптимизировал запрос.
17. Что делают команды VACUUM, ANALYZE и VACUUM ANALYZE?
18. Что такое spill таблиц?
19. Что выведет следующая команда:
Есть 2 таблицы: в первой 10 строк, во второй 100 строк. Назови максимальное и минимальное количество возвращаемых строк при разных видах JOIN. (Данные могут быть любые.)
Есть 2 таблицы: в первой 10 строк, во второй 100 строк. Назови максимальное и минимальное количество возвращаемых строк при разных видах JOIN. (Без NULL-значений и индексы не повторяются в рамках одной таблицы, т.е. в двух таблицах данные могут как повторяться, так и нет.)
В таблице 100 млн строк, необходимо удалить 90 млн. Как ты это сделаешь и почему?
Является ли следующая команда транзакцией?
SELECT*FROMt1WHEREid>5;
32. Есть запрос, который работает ночью и строит отчет. Ежедневно он работал нормально и создавал отчет за 2 часа. Сегодня утром ты пришел на работу, а отчета нет. Смотришь свой пайплайн, а он все еще крутится на чтении запроса. Что могло произойти?
33. Как быстро посчитать количество строк в таблице, имеющей нормальную структуру, например, в 3 НФ, где много колонок и пусть в ней даже JSON'овский сырец хранится? Структура таблицы пусть будет следующая:
34. Что такое и для чего нужен подзапрос? Что такое коррелируемый и не коррелируемый подзапрос? В чем отличиие СТЕ от подзапроса?
35. Для чего нужна временная таблица, если есть CTE?
36. Для чего нужна команда UNION и в чем её различие с UNION ALL? Какая команда работает быстрее и почему? Какие еще операции над множествами ты знаешь и что они делают?
37. Расскажи про условия в SQL. Для чего нужна конструкция CASE, как она записывается и в каких конструкциях запроса её можно использовать?
38. Различие между конструкциями WHERE, HAVING, QUALIFY?
39. С помощью каких команд выдается права доступа?
40. Чем отличаются типы данных JSON и JSONb?
41. Что будет делать, если в плане запроса увидели Nested Loop?
42. Как эффективно удалить дубликаты строк в большой таблице?
43. Для чего нужна контрукция constraints?