19 обязательных к прочтению вопросов и ответов на собеседовании по SQL: для начинающих и опытных в 2022 году

Опубликовано: 2021-01-07

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

Беспокоитесь о своем интервью? Мы подготовили для вас ответы на вопросы для собеседования по SQL. Это лишь некоторые из наиболее часто задаваемых вопросов в Sql Interviews.
Независимо от того, какую работу вы выберете в индустрии программного обеспечения и ИТ, навыки SQL являются обязательными. Даже сегодня РСУБД является одной из наиболее широко используемых баз данных в мире, и, следовательно, SQL является неотъемлемой частью области разработки. Такие крупные компании, как Uber, Netflix, Airbnb и, конечно же, Microsoft используют SQL в качестве основного инструмента управления базами данных.

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

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

Лучшие вопросы и ответы на собеседовании по SQL

1. Дайте определение SQL.

SQL или язык структурированных запросов — это система управления реляционными базами данных, созданная Microsoft. Он специально разработан для связи с базами данных. ANSI (Американский национальный институт стандартов) утверждает, что SQL является стандартным языком запросов для систем управления реляционными базами данных (RDBMS).

Он используется не только для поддержки СУБД, но и для выполнения широкого спектра других операций по обработке данных с различными типами данных. Например, SQL используется для создания баз данных, создания таблиц в базе данных, извлечения данных из базы данных, обновления таблиц в базе данных, выполнения запросов и так далее.

Подробнее: SQL для науки о данных: почему SQL

2. Определите базу данных.

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

3. Чем РСУБД отличается от СУБД?

РСУБД или система управления реляционными базами данных отличается от СУБД в том смысле, что РСУБД хранит данные в виде набора таблиц, в которых вы можете определять отношения между общими полями таблиц, тогда как в СУБД вы не можете этого сделать.

В отличие от СУБД, которая хранит данные в табличной форме, СУБД больше похожа на файловый менеджер, который хранит данные в базе данных, а не в файловой системе.

СУБД является основой для многих современных систем управления базами данных, таких как MySQL, Microsoft SQL Server, Oracle, IBM DB2 и Amazon Redshift.

4. Определите ограничения.

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

Вот некоторые из ограничений в SQL:

  • НЕ НОЛЬ
  • ЧЕК ОБ ОПЛАТЕ
  • ПО УМОЛЧАНИЮ
  • УНИКАЛЬНЫЙ
  • ПЕРВИЧНЫЙ КЛЮЧ
  • ВНЕШНИЙ КЛЮЧ

5. Определите — первичный ключ, уникальный ключ и внешний ключ.

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

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

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

6. Определите соединение. Какие существуют типы присоединения?

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

Существует четыре типа соединения:

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

7. Что такое индекс? Назовите различные типы индексов.

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

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

Существует три типа индексов:

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

8. Что такое AUTO_INCREMENT?

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

По умолчанию значение AUTO-INCREMENT начинается с 1 и увеличивается на 1 всякий раз, когда вставляется новая запись.

9. Определите запрос и подзапрос.

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

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

Существует два типа подзапросов:

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

10. Определите триггер.

Триггер — это сохраненный код или программа, которая автоматически выполняется при возникновении таких событий, как инструкция INSERT, DELETE, UPDATE(DML). Их также можно выполнять в ответ на операторы определения данных (DDL) и операции с базой данных, такие как триггеры SERVER ERROR, LOGON и т. д., которые помогают поддерживать целостность базы данных.

11. Объясните роль свойств ACID в транзакции.

Свойства ACID используются для поддержания согласованности в базе данных как до, так и после транзакций.

  • Атомарность — это означает, что транзакция должна быть завершена. Не следует оставлять его на полпути. Если когда-либо транзакция завершится неудачно, произойдет сбой всей транзакции, и база данных останется неизменной.
  • Непротиворечивость — это направлено на поддержание ограничений целостности путем проверки данных, введенных в базу данных.
  • Изоляция — это свойство предназначено для управления параллелизмом.
  • Долговечность — это свойство гарантирует, что после выполнения транзакции она останется зафиксированной, несмотря на любые проблемы, которые могут возникнуть (например, отключение питания, внутренние ошибки и т. д.).

12. Различайте команды DELETE и TRUNCATE.

Основное различие между командами DELETE и TRUNCATE заключается в следующем:

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

13. Назовите различные подмножества SQL.

Подмножества SQL включают:

  • DDL (язык определения данных) — этот язык позволяет выполнять множество операций с базой данных, включая команды SQL, такие как объекты CREATE, ALTER и DELETE.
  • DML (язык манипулирования данными) — этот язык позволяет вам получать доступ к данным в базе данных и управлять ими с помощью таких команд, как INSERT, UPDATE и DELETE.
  • DCL (язык управления данными) — этот язык позволяет вам контролировать доступ к базе данных с помощью таких команд, как GRANT и REVOKE.

Читайте: 9 лучших инструментов науки о данных в 2020 году

14. Объясните целостность данных.

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

Целостность данных бывает четырех видов:

  • Целостность строки
  • Целостность столбца
  • Ссылочная целостность
  • Определяемая пользователем целостность

15. Что такое пользовательские функции? Назовите типы пользовательских функций.

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

Существует три типа пользовательских функций:

  • Скалярные функции.
  • Встроенные табличные функции.
  • Функции с несколькими операторами.

16. Определите сопоставление. Назовите различные типы чувствительности сопоставления.

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

Различные типы чувствительности сопоставления включают в себя:

  • Чувствительность к регистру — символы «A» и «a» обрабатываются по-разному.
  • Чувствительность к акценту — символы «а» и « а» обрабатываются по-разному.
  • Чувствительность каны — это по-разному относится к японским символам кана, таким как хирагана и катакана.
  • Чувствительность к ширине — по-разному обрабатывает однобайтовые (полуширинные) и двухбайтовые (полной ширины) символы.

17. Что вы подразумеваете под хранимой процедурой?

Хранимая процедура — это подпрограмма (код SQL), используемая для приложений, которые обращаются к СУБД. Он поддерживает концепцию модульного программирования, что означает, что вы можете создать хранимую процедуру один раз, сохранить ее и вызывать ее несколько раз по мере необходимости.

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

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

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

18. Различайте представления и таблицы.

Вот некоторые различия между представлениями и таблицами:

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

19. Определите временную таблицу. Как вы можете создать его?

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

Синтаксис создания временной таблицы:

СОЗДАТЬ ТАБЛИЦУ #table_name();

Следующий запрос создаст временную таблицу:

создать таблицу #book(b_id int, b_cost int)

Теперь мы будем вставлять записи.

вставить в #book values(1,100)

вставить в #book значений(2,232)

выберите * из #книги

Изучайте онлайн -курсы по разработке программного обеспечения в лучших университетах мира. Участвуйте в программах Executive PG, Advanced Certificate Programs или Master Programs, чтобы ускорить свою карьеру.

Подведение итогов

Мы надеемся, что это руководство по вопросам и ответам на вопросы об интервью по SQL поможет вам укрепить и расширить свою базу знаний по SQL.

Если вам интересно узнать о SQL и узнать больше о разработке полного стека, ознакомьтесь с программой Executive PG IIIT-B и upGrad в разработке программного обеспечения полного стека, которая создана для работающих профессионалов и предлагает более 10 тематических исследований и проектов, практические занятия. семинары, наставничество с отраслевыми экспертами, индивидуальные встречи с отраслевыми наставниками, более 400 часов обучения и помощь в трудоустройстве в ведущих фирмах.

Диплом PG в области разработки программного обеспечения полного стека

Подать заявку на участие в программе Executive PG в Full Stack Development