Вопросы по SQL на собеседовании

Вы готовитесь к собеседованию с разработчиком SQL? Тогда вы пришли в нужное место. Это руководство поможет вам освежить свои навыки SQL, восстановить уверенность и быть готовым к работе!

Здесь вы найдете коллекцию реальных вопросов для собеседования, которые задают в таких компаниях, как Google, Oracle, Amazon, Microsoft и т. д. Каждый вопрос сопровождается идеально написанным ответом, что экономит ваше время на подготовку к собеседованию.

Вопросы для интервью по SQL

1. Что такое база данных?
База данных — это организованный набор данных, которые хранятся и извлекаются в цифровом виде из удаленной или локальной компьютерной системы. Базы данных могут быть большими и сложными, и такие базы данных разрабатываются с использованием фиксированных подходов к проектированию и моделированию.

2. Что такое СУБД?
СУБД означает систему управления базами данных. СУБД — это системное программное обеспечение, отвечающее за создание, поиск, обновление и управление базой данных. Это гарантирует, что наши данные непротиворечивы, организованы и легко доступны, выступая в качестве интерфейса между базой данных и ее конечными пользователями или прикладным программным обеспечением.

3. Что такое СУБД? Чем она отличается от СУБД?
RDBMS означает систему управления реляционными базами данных. Ключевое отличие здесь , по сравнению с СУБД, заключается в том, что РСУБД хранит данные в виде набора таблиц, и между общими полями этих таблиц могут быть определены отношения. Большинство современных систем управления базами данных, таких как MySQL, Microsoft SQL Server, Oracle, IBM DB2 и Amazon Redshift, основаны на СУБД.

4. Что такое SQL?
SQL расшифровывается как язык структурированных запросов. Это стандартный язык для систем управления реляционными базами данных. Это особенно полезно при обработке организованных данных, состоящих из сущностей (переменных) и отношений между различными сущностями данных.

5. В чем разница между SQL и MySQL?
SQL — это стандартный язык для извлечения данных из структурированных баз данных и управления ими. Напротив, MySQL — это система управления реляционными базами данных, такая как SQL Server, Oracle или IBM DB2, которая используется для управления базами данных SQL.

6. Что такое таблицы и поля?
Таблица — это организованный набор данных, хранящихся в виде строк и столбцов. Столбцы можно разделить на вертикальные, а строки на горизонтальные. Столбцы в таблице называются полями, а строки — записями.

7. Что такое ограничения в SQL?
Ограничения используются для указания правил, касающихся данных в таблице. Его можно применить к одному или нескольким полям в таблице SQL во время создания таблицы или после создания с помощью команды ALTER TABLE. Ограничения:

  • NOT NULL — запрещает вставку значения NULL в столбец.
  • CHECK — проверяет, что все значения в поле удовлетворяют условию.
  • ПО УМОЛЧАНИЮ — автоматически присваивает значение по умолчанию, если для поля не было указано значение.
  • UNIQUE — обеспечивает вставку уникальных значений в поле.
  • ИНДЕКС — индексирует поле, обеспечивая более быстрый поиск записей.
  • ПЕРВИЧНЫЙ КЛЮЧ - Уникально идентифицирует каждую запись в таблице.
  • FOREIGN KEY — обеспечивает ссылочную целостность записи в другой таблице.

8. Что такое первичный ключ?
Ограничение PRIMARY KEY однозначно идентифицирует каждую строку в таблице. Он должен содержать значения UNIQUE и иметь неявное ограничение NOT NULL.
Таблица в SQL строго ограничена наличием одного и только одного первичного ключа, состоящего из одного или нескольких полей (столбцов).

9. Что такое ограничение UNIQUE?
Ограничение UNIQUE гарантирует, что все значения в столбце различны. Это обеспечивает уникальность столбцов и помогает уникально идентифицировать каждую строку. В отличие от первичного ключа, для каждой таблицы может быть определено несколько уникальных ограничений. Синтаксис кода для UNIQUE очень похож на синтаксис PRIMARY KEY и может использоваться взаимозаменяемо.

10. Что такое внешний ключ?
ВНЕШНИЙ КЛЮЧ состоит из одного поля или набора полей в таблице, которые по существу ссылаются на ПЕРВИЧНЫЙ КЛЮЧ в другой таблице. Ограничение внешнего ключа обеспечивает ссылочную целостность в отношениях между двумя таблицами.
Таблица с ограничением внешнего ключа помечается как дочерняя таблица, а таблица, содержащая ключ-кандидат, помечается как ссылочная или родительская таблица.

11. Что такое объединение? Перечислите его различные виды.

Предложение SQL Join используется для объединения записей (строк) из двух или более таблиц в базе данных SQL на основе связанного столбца между ними.

В SQL существует четыре различных типа JOIN:
  • (ВНУТРЕННЕЕ) СОЕДИНЕНИЕ: извлекает записи, имеющие совпадающие значения в обеих таблицах, участвующих в объединении. Это широко используемое соединение для запросов.
  • ЛЕВОЕ (ВНЕШНЕЕ) СОЕДИНЕНИЕ: извлекает все записи/строки из левой и соответствующие записи/строки из правой таблицы.
  • ПРАВОЕ (ВНЕШНЕЕ) СОЕДИНЕНИЕ: извлекает все записи/строки из правой и соответствующие записи/строки из левой таблицы.
  • ПОЛНОЕ (ВНЕШНЕЕ) СОЕДИНЕНИЕ: извлекает все записи, в которых есть совпадения, в левой или правой таблице.

12. Что такое самосоединение?
Self JOIN — это случай обычного соединения, когда таблица соединяется сама с собой на основе некоторой связи между ее собственными столбцами. Самосоединение использует предложение INNER JOIN или LEFT JOIN, а псевдоним таблицы используется для присвоения разных имен таблице в запросе.

13. Что такое перекрестное соединение?
Перекрестное соединение можно определить как декартово произведение двух таблиц, включенных в соединение. Таблица после объединения содержит то же количество строк, что и в перекрестном произведении количества строк в двух таблицах. Если в перекрестном соединении используется предложение WHERE, запрос будет работать как ВНУТРЕННЕЕ СОЕДИНЕНИЕ.

14. Что такое индекс? Расскажите о его различных видах.
Индекс базы данных — это структура данных, обеспечивающая быстрый поиск данных в столбце или столбцах таблицы. Это повышает скорость операций доступа к данным из таблицы базы данных за счет дополнительных операций записи и памяти для поддержания структуры данных индекса.

  • Уникальный и неуникальный индекс:
Уникальные индексы — это индексы, которые помогают поддерживать целостность данных, гарантируя, что никакие две строки данных в таблице не имеют одинаковых значений ключей. После определения уникального индекса для таблицы уникальность применяется при каждом добавлении или изменении ключей в индексе.

  • Кластеризованный и некластеризованный индекс:
Кластерные индексы — это индексы, в которых порядок строк в базе данных соответствует порядку строк в индексе. Вот почему в данной таблице может существовать только один кластеризованный индекс, тогда как в таблице может существовать несколько некластеризованных индексов.

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

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

15. В чем разница между кластеризованным и некластеризованным индексом?
Как объяснялось выше, различия можно разбить на три небольших фактора:

  • Кластерный индекс изменяет способ хранения записей в базе данных на основе индексированного столбца. Некластеризованный индекс создает в таблице отдельный объект, который ссылается на исходную таблицу.
  • Кластерный индекс используется для простого и быстрого извлечения данных из базы данных, в то время как выборка записей из некластеризованного индекса происходит относительно медленнее.
  • В SQL таблица может иметь один кластеризованный индекс, тогда как она может иметь несколько некластеризованных индексов.

16. Что такое целостность данных?
Целостность данных — это гарантия точности и согласованности данных на протяжении всего их жизненного цикла, а также критический аспект проектирования, реализации и использования любой системы, которая хранит, обрабатывает или извлекает данные. Он также определяет ограничения целостности для обеспечения соблюдения бизнес-правил в отношении данных при их вводе в приложение или базу данных.

17. Что такое запрос?
Запрос — это запрос данных или информации из таблицы базы данных или комбинации таблиц. Запрос к базе данных может быть либо запросом выбора, либо запросом действия.

18. Что такое подзапрос? Каковы его виды?
Подзапрос — это запрос внутри другого запроса, также известный как вложенный запрос или внутренний запрос . Он используется для ограничения или расширения данных, запрашиваемых основным запросом, таким образом ограничивая или улучшая вывод основного запроса соответственно. Например, здесь мы получаем контактную информацию для студентов, записавшихся на математический предмет:

  • Коррелированный подзапрос не может рассматриваться как независимый запрос, но он может ссылаться на столбец в таблице , указанный в FROM основного запроса.
  • Некоррелированный подзапрос можно рассматривать как независимый запрос , а вывод подзапроса подставляется в основной запрос.

19. Что такое оператор SELECT?
Оператор SELECT в SQL используется для выбора данных из базы данных. Возвращенные данные сохраняются в таблице результатов, называемой набором результатов.

20. Какие общие предложения используются с запросом SELECT в SQL?
Вот некоторые общие предложения SQL, используемые в сочетании с запросом SELECT:

  • Предложение WHERE в SQL используется для фильтрации необходимых записей на основе определенных условий.
  • Предложение ORDER BY в SQL используется для сортировки записей по некоторым полям в порядке возрастания ( ASC ) или убывания ( DESC) .
  • Предложение GROUP BY в SQL используется для группировки записей с идентичными данными и может использоваться в сочетании с некоторыми функциями агрегирования для получения сводных результатов из базы данных.
  • Предложение HAVING в SQL используется для фильтрации записей в сочетании с предложением GROUP BY. Он отличается от WHERE тем, что предложение WHERE не может фильтровать агрегированные записи.
21. Что такое команды UNION, MINUS и INTERSECT?
Оператор UNION объединяет и возвращает набор результатов, полученный двумя или более операторами SELECT.
Оператор MINUS в SQL используется для удаления дубликатов из набора результатов, полученного вторым запросом SELECT, из набора результатов, полученного первым запросом SELECT, а затем возврата отфильтрованных результатов из первого.
Предложение INTERSECT в SQL объединяет результирующий набор, полученный двумя операторами SELECT, где записи одного совпадают с другим, а затем возвращает это пересечение результирующих наборов.

Перед выполнением любого из приведенных выше операторов в SQL необходимо выполнить определенные условия.
  • Каждый оператор SELECT в предложении должен иметь одинаковое количество столбцов.
  • Столбцы также должны иметь похожие типы данных.
  • Столбцы в каждом операторе SELECT обязательно должны иметь одинаковый порядок.

22. Что такое Курсор? Как использовать Курсор?
Курсор базы данных — это управляющая структура, позволяющая просматривать записи в базе данных. Курсоры, кроме того, облегчают обработку после обхода, такую как поиск, добавление и удаление записей базы данных. Их можно рассматривать как указатель на одну строку в наборе строк.

Работа с SQL-курсором:
  1. DECLARE курсор после объявления любой переменной. Объявление курсора всегда должно быть связано с оператором SELECT.
  2. Откройте курсор, чтобы инициализировать результирующий набор. Оператор OPEN должен вызываться перед выборкой строк из результирующего набора.
  3. Оператор FETCH для извлечения и перехода к следующей строке в результирующем наборе.
  4. Вызовите оператор CLOSE , чтобы деактивировать курсор.
  5. Наконец, используйте оператор DEALLOCATE , чтобы удалить определение курсора и освободить связанные ресурсы.

23. Что такое сущности и отношения?
Сущность : Сущность может быть объектом реального мира, материальным или нематериальным, который можно легко идентифицировать. Например, в базе данных колледжа студенты, преподаватели, работники, отделы и проекты могут называться объектами. Каждая сущность имеет некоторые связанные свойства, которые обеспечивают ее идентичность.
Отношения : Отношения или связи между сущностями, которые имеют какое-то отношение друг к другу. Например, таблица сотрудников в базе данных компании может быть связана с таблицей зарплат в той же базе данных.

24. Перечислите различные типы отношений в SQL.
  • Один к одному . Это можно определить как связь между двумя таблицами, где каждая запись в одной таблице связана с максимум одной записью в другой таблице.
  • «Один ко многим» и «Многие к одному» — это наиболее часто используемая связь, когда запись в таблице связана с несколькими записями в другой таблице.
  • «Многие ко многим » — используется в случаях, когда для определения отношения необходимо несколько экземпляров с обеих сторон.
  • Самореферентные отношения — используется, когда таблице необходимо определить отношения с самой собой.

25. Что такое псевдоним в SQL?
Псевдоним — это функция SQL, поддерживаемая большинством, если не всеми, РСУБД. Это временное имя, присвоенное таблице или столбцу таблицы для целей конкретного SQL-запроса. Кроме того, псевдонимы можно использовать в качестве метода запутывания для защиты настоящих имен полей базы данных. Псевдоним таблицы также называется корреляционным именем.

Псевдоним явно представлен ключевым словом AS, но в некоторых случаях то же самое можно выполнить и без него. Тем не менее, использование ключевого слова AS всегда является хорошей практикой.

26. Что такое представление?
Представление в SQL — это виртуальная таблица, основанная на наборе результатов оператора SQL. Представление содержит строки и столбцы, как настоящая таблица. Поля в представлении — это поля из одной или нескольких реальных таблиц в базе данных.

27. Что такое нормализация?
Нормализация представляет собой способ эффективной организации структурированных данных в базе данных. Он включает в себя создание таблиц, установление отношений между ними и определение правил для этих отношений. На основе этих правил можно контролировать несогласованность и избыточность, что повышает гибкость базы данных.

28. Что такое денормализация?
Денормализация — это процесс, обратный нормализации, при котором нормализованная схема преобразуется в схему с избыточной информацией. Производительность повышается за счет использования избыточности и обеспечения согласованности избыточных данных. Причиной выполнения денормализации являются накладные расходы, возникающие в процессоре запросов сверхнормализованной структурой.

Наше ИТ кадровое агентство предлагает вам найти разработчиков менее чем за 2 недели. Свяжитесь с нами сегодня, чтобы узнать больше о том, как мы можем помочь масштабировать ваш следующий проект до новых высот. Мы гарантируем поиск самого сильного, а не самого дорого кандидата. За 10 лет в подборе it специалистов, мы закрыли 5500+ вакансий и собрали 25+ команд с нуля. Убедитесь сами и ознакомьтесь с отзывами клиентов о нашем рекрутинговом агентстве! Нужно больше референсов? Напишите нам в телеграмм.
HR Блог для IT рекрутера в Телеграм
Хочешь всегда получать новые статьи, бесплатные материалы и полезные HR лайфхаки! Подписывайся на нас в Telegram! С нами подбор ит персонала становится проще ;)

Расскажите, каких специалистов вы ищете: мы обязательно поможем их найти

работаем 24 на 7