Skip to content

Latest commit

 

History

History
84 lines (65 loc) · 6.46 KB

SQL.md

File metadata and controls

84 lines (65 loc) · 6.46 KB

Вопросы для собеседования по SQL (Backend-developer)

Junior

1. Что такое Primary Key и зачем он нужен?

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

2. Что такое Foreign Key и зачем он нужен?

Ответ: Foreign Key - это столбец в таблице базы данных, который ссылается на Primary Key в другой таблице. Он используется для создания связей между таблицами и обеспечивает целостность данных. Foreign Key позволяет создавать отношения между таблицами, обеспечивая согласованность данных и возможность выполнения операций совместно.

3. Что такое JOIN и зачем он нужен?

Ответ: JOIN - это операция в языке SQL, которая объединяет данные из двух или более таблиц по определенному условию. Он используется для объединения данных из нескольких таблиц в единую таблицу для выполнения запросов, которые требуют информации из разных источников. JOIN позволяет извлекать связанные данные из разных таблиц и выполнять сложные запросы, такие как выборка данных из нескольких связанных таблиц или аналитические операции.

4. Для чего нужен оператор HAVING?

Ответ: Оператор HAVING используется в SQL для фильтрации результатов запроса, основанных на групповых функциях, таких как SUM, AVG, COUNT и др. Он применяется после оператора GROUP BY и позволяет применять условия к результатам агрегирования. По сути, оператор HAVING работает аналогично оператору WHERE, но применяется к группам строк, а не к отдельным строкам. Таким образом, оператор HAVING используется для ограничения вывода групповых результатов по определенным критериям.

Middle

5. Какие индексы вы знаете в SQL? Какова их роль, и когда их следует использовать?

Ответ:
  • Одиночный индекс (Single Index): Индекс, который создается на одном столбце таблицы. Используется для ускорения поиска и сортировки по этому столбцу.

  • Составной индекс (Composite Index): Индекс, который создается на нескольких столбцах таблицы. Используется для ускорения запросов, которые включают условия на несколько столбцов.

  • Уникальный индекс (Unique Index): Индекс, который гарантирует уникальность значений в столбце или наборе столбцов. Предотвращает вставку дублирующихся значений.

  • Полнотекстовый индекс (Full-Text Index): Индекс, который используется для выполнения полнотекстового поиска по текстовым полям, таким как статьи, сообщения и т. д.

  • Географический индекс (Spatial Index): Индекс, который используется для ускорения запросов, связанных с географическими данными, такими как координаты или границы.

Индексы играют ключевую роль в оптимизации производительности запросов к базе данных. Они помогают ускорить поиск, сортировку и фильтрацию данных. Индексы следует использовать в следующих случаях:

  • При частом использовании запросов, включающих условия WHERE, которые могут быть покрыты индексом.
  • При необходимости гарантировать уникальность значений в столбце или наборе столбцов.
  • При выполнении операций сортировки по определенному столбцу.
  • При работе с полнотекстовым поиском или географическими данными.
  • Однако индексы также имеют свои недостатки, такие как увеличение размера базы данных и замедление операций вставки, обновления и удаления данных.