50 вопросов и ответов на собеседовании по SQL на 2025 год
Вопросы для собеседования по SQL для первокурсников
1. Что такое СУБД?
Система управления базой данных (СУБД) — это программа, которая управляет созданием, обслуживанием и использованием базы данных. СУБД можно назвать файловым менеджером, который управляет данными в базе данных, а не сохраняет их в файловых системах.
👉 Бесплатная загрузка PDF-файла: Вопросы и ответы по SQL-интервью >>
2. Что такое СУБД?
RDBMS означает систему управления реляционными базами данных. СУБД хранит данные в коллекции таблиц, которая связана общими полями между столбцами таблицы. Он также предоставляет реляционные операторы для управления данными, хранящимися в таблицах.
Пример: SQL-сервер.
3. Что такое SQL?
SQL означает язык структурированных запросов и используется для связи с базой данных. Это стандартный язык, используемый для выполнения таких задач, как поиск, обновление, вставка и удаление данных из базы данных.
Стандарт Команды SQL выбраны.
4. Что такое база данных?
База данных — это не что иное, как организованная форма данных для легкого доступа, хранения, поиска и управления данными. Это также известно как структурированная форма данных, доступ к которой можно получить разными способами.
Пример: база данных управления школой, база данных управления банком.
5. Что такое таблицы и поля?
Таблица — это набор данных, организованных в модели со столбцами и строками. Столбцы можно разделить на вертикальные, а строки — на горизонтальные. В таблице указано количество столбцов, называемых полями, но может быть любое количество строк, которое называется записью.
Пример:.
Таблица: Сотрудник.
Поле: Идентификатор Emp, Имя Emp, Дата рождения.
Дата: 201456, Дэвид, 11.
6. Что такое первичный ключ?
A первичный ключ представляет собой комбинацию полей, которые однозначно определяют строку. Это особый вид уникального ключа, который имеет неявное ограничение NOT NULL. Это означает, что значения первичного ключа не могут быть NULL.
7. Что такое уникальный ключ?
Ограничение уникального ключа уникально идентифицирует каждую запись в базе данных. Это обеспечивает уникальность столбца или набора столбцов.
Ограничение первичного ключа имеет автоматическое уникальное ограничение, определенное для него. Но не в случае с уникальным ключом.
Для каждой таблицы может быть определено множество уникальных ограничений, но для каждой таблицы определено только одно ограничение первичного ключа.
8. Что такое внешний ключ?
Внешний ключ — это одна таблица, которая может быть связана с первичным ключом другой таблицы. Связь должна быть создана между двумя таблицами путем ссылки на внешний ключ с первичным ключом другой таблицы.
9. Что такое объединение?
Это ключевое слово, используемое для запроса данных из большего количества таблиц на основе взаимосвязи между полями таблиц. Ключи играют важную роль при использовании JOIN.
10. Какие бывают типы объединений и объясните каждое из них?
Существуют различные типы объединения который можно использовать для извлечения данных, и это зависит от отношений между таблицами.
- Внутреннее соединение.
Внутреннее соединение возвращает строки, если между таблицами есть хотя бы одно совпадение строк.
- Правильно, присоединяйтесь.
Правое соединение возвращает строки, которые являются общими для таблиц и всех строк правой таблицы. Проще говоря, он возвращает все строки из правой таблицы, даже если в левой таблице нет совпадений.
- Левое присоединение.
Левое соединение возвращает строки, которые являются общими для таблиц и всех строк левой таблицы. Проще говоря, он возвращает все строки из левой таблицы, даже если в правой таблице нет совпадений.
- Полное присоединение.
Полное соединение возвращает строки, если в любой из таблиц есть совпадающие строки. Это означает, что он возвращает все строки из левой таблицы и все строки из правой таблицы.
Вопросы для собеседования по SQL для 3-летнего опыта
11. Что такое нормализация?
Нормализация — это процесс минимизации избыточности и зависимостей путем организации полей и таблиц базы данных. Основная цель нормализации — добавить, удалить или изменить поля, которые можно создать в одной таблице.
12. Что такое денормализация?
Денормализация — это метод, используемый для доступа к данным из более высоких нормальных форм базы данных в более низкие. Это также процесс введения избыточности в таблицу путем включения данных из связанных таблиц.
13. Какие существуют виды нормализации?
Нормализация базы данных можно легко понять с помощью тематического исследования. Нормальные формы можно разделить на 6 форм, они описаны ниже.
- Первая нормальная форма (1НФ):.
Это должно удалить все повторяющиеся столбцы из таблицы. Создание таблиц связанных данных и определение уникальных столбцов.
- Вторая нормальная форма (2NF):.
Соответствие всем требованиям первой нормальной формы. Размещение подмножеств данных в отдельных таблицах и создание связей между таблицами с использованием первичных ключей.
- Третья нормальная форма (3НФ):.
Это должно соответствовать всем требованиям 2NF. Удаление столбцов, которые не зависят от ограничений первичного ключа.
- Четвертая нормальная форма (4НФ):.
Если ни один экземпляр таблицы базы данных не содержит два или более независимых и многозначных данных, описывающих соответствующий объект, то он находится в 4th Нормальная форма.
- Пятая нормальная форма (5НФ):.
Таблица находится в 5-й нормальной форме только в том случае, если она находится в 4НФ и ее нельзя разложить на любое количество меньших таблиц без потери данных.
- Шестая нормальная форма (6НФ):.
Шестая нормальная форма не стандартизирована, однако она уже некоторое время обсуждается экспертами по базам данных. Будем надеяться, что в ближайшем будущем у нас будет четкое и стандартизированное определение 6-й нормальной формы…
14. Что такое представление?
Представление — это виртуальная таблица, состоящая из подмножества данных, содержащихся в таблице. Представлений практически нет, и для хранения требуется меньше места. В представлении могут быть объединены данные одной или нескольких таблиц, в зависимости от связи.
15. Что такое индекс?
Индекс — это метод настройки производительности, позволяющий быстрее извлекать записи из таблицы. Индекс создает запись для каждого значения, поэтому извлечение данных происходит быстрее.
16. Какие существуют типы индексов?
Существует три типа индексов -.
- Единый индекс.
Эта индексация не позволяет полю иметь повторяющиеся значения, если столбец уникально проиндексирован. Уникальный индекс может применяться автоматически при определении первичного ключа.
- Clusterизд. Индекс.
Этот тип индекса изменяет физический порядок таблицы и выполняет поиск на основе значений ключей. Каждая таблица может иметь только один кластерный индекс.
- неClusterизд. Индекс.
неClusterИндекс ed не изменяет физический порядок таблицы и сохраняет логический порядок данных. Каждая таблица может иметь 999 некластеризованных индексов.
17. Что такое курсор?
Курсор базы данных — это элемент управления, который позволяет перемещаться по строкам или записям таблицы. Это можно рассматривать как указатель на одну строку в наборе строк. Курсор очень полезен для перемещения, например поиска, добавления и удаления записей базы данных.
18. Что такое отношения и какие они бывают?
Отношения с базой данных определяются как связь между таблицами в базе данных. Существуют различные отношения баз данных, и они заключаются в следующем:
- Отношения один к одному.
- Отношения «один ко многим».
- Отношения «многие к одному».
- Самореферентные отношения.
19. Что такое запрос?
Запрос к БД — это код, написанный для получения информации из базы данных. Запрос можно спроектировать таким образом, чтобы он соответствовал нашим ожиданиям от набора результатов. Просто вопрос к базе данных.
20. Что такое подзапрос?
Подзапрос — это запрос внутри другого запроса. Внешний запрос называется основным запросом, а внутренний запрос называется подзапросом. Подзапрос всегда выполняется первым, а результат подзапроса передается основному запросу.
Давайте рассмотрим синтаксис подзапроса –
Распространенной жалобой клиентов видеотеки MyFlix является малое количество названий фильмов. Руководство хочет покупать фильмы из категории, в которой наименьшее количество наименований.
Вы можете использовать запрос типа
SELECT category_name FROM categories WHERE category_id =( SELECT MIN(category_id) from movies);
Вопросы для собеседования по SQL для 5-летнего опыта
21. Какие бывают типы подзапросов?
Существует два типа подзапросов — коррелированные и некоррелированные.
Коррелированный подзапрос не может рассматриваться как независимый запрос, но он может ссылаться на столбец таблицы, указанный в списке FROM основного запроса.
Некоррелированный подзапрос можно рассматривать как независимый запрос, а выходные данные подзапроса подставляются в основной запрос.
22. Что такое хранимая процедура?
Сохраненная процедура — это функция, состоящая из множества операторов SQL для доступа к системе базы данных. Несколько операторов SQL объединяются в хранимую процедуру и выполняются в любое время и в любом месте.
23. Что такое триггер?
Триггер БД — это код или программы, которые автоматически выполняются в ответ на какое-либо событие в таблице или представлении в базе данных. В основном триггер помогает поддерживать целостность базы данных.
Пример: Когда в базу данных студентов добавляется новый студент, новые записи должны быть созданы в связанных таблицах, таких как таблицы экзаменов, оценок и посещаемости.
24. В чем разница между командами DELETE и TRUNCATE?
Команда DELETE используется для удаления строк из таблицы, а предложение WHERE может использоваться для условного набора параметров. Фиксация и откат могут быть выполнены после оператора удаления.
TRUNCATE удаляет все строки из таблицы. Операцию усечения невозможно отменить.
25. Что такое локальные и глобальные переменные и их различия?
Локальные переменные — это переменные, которые могут использоваться или существовать внутри функции. Они неизвестны другим функциям, и на эти переменные нельзя ссылаться или использовать. Переменные могут создаваться при каждом вызове этой функции.
Глобальные переменные — это переменные, которые могут использоваться или существовать во всей программе. Та же переменная, объявленная в global, не может использоваться в функциях. Глобальные переменные не могут быть созданы при каждом вызове этой функции.
26. Что такое ограничение?
Ограничение можно использовать для указания ограничения на тип данных таблицы. Ограничение можно указать при создании или изменении оператора таблицы. Пример ограничения.
- НЕ НОЛЬ.
- ЧЕК.
- ДЕФОЛТ.
- УНИКАЛЬНЫЙ.
- ОСНОВНОЙ КЛЮЧ.
- ВНЕШНИЙ КЛЮЧ.
27. Что такое данные Integrity?
Данные Integrity определяет точность и согласованность данных, хранящихся в базе данных. Он также может определять ограничения целостности для обеспечения соблюдения бизнес-правил в отношении данных при их вводе в приложение или базу данных.
28. Что такое автоинкремент?
Ключевое слово автоматического увеличения позволяет пользователю создать уникальный номер, который будет генерироваться при вставке новой записи в таблицу. Ключевое слово AUTO INCREMENT можно использовать в Oracle и ключевое слово IDENTITY можно использовать в SQL SERVER.
В основном это ключевое слово можно использовать всякий раз, когда используется ПЕРВИЧНЫЙ КЛЮЧ.
29. В чем разница между Cluster и Non-Cluster Индекс?
ClusterИндекс ed используется для легкого извлечения данных из базы данных путем изменения способа хранения записей. База данных сортирует строки по столбцу, который установлен как кластеризованный индекс.
Некластеризованный индекс не меняет способ его хранения, а создает в таблице полностью отдельный объект. После поиска он указывает на исходные строки таблицы.
30. Что такое хранилище данных?
Datawarehouse — это центральное хранилище данных из нескольких источников информации. Эти данные консолидируются, преобразуются и предоставляются для майнинга и онлайн-обработки. Данные хранилища имеют подмножество данных, называемое витринами данных.
31. Что такое самостоятельное присоединение?
Самосоединение настроено как запрос, используемый для сравнения с самим собой. Это используется для сравнения значений в столбце с другими значениями в том же столбце в той же таблице. ALIAS ES можно использовать для сравнения одной и той же таблицы.
32. Что такое перекрестное соединение?
Перекрестное соединение определяется как декартово произведение, в котором количество строк в первой таблице умножается на количество строк во второй таблице. Если предположим, что в перекрестном соединении используется предложение WHERE, тогда запрос будет работать как INNER JOIN.
33. Что такое определяемые пользователем функции?
Пользовательские функции — это функции, написанные для использования этой логики всякий раз, когда это необходимо. Не обязательно писать одну и ту же логику несколько раз. Вместо этого функцию можно вызывать или выполнять всякий раз, когда это необходимо.
34. Каковы все типы пользовательских функций?
Три типа определяемых пользователем функций.
- Скалярные функции.
- Встроенные табличные функции.
- Многозначные функции.
Скалярная единица возврата, вариант определяет предложение возврата. Другие два типа возвращают таблицу в качестве возврата.
35. Что такое сопоставление?
Параметры сортировки определяются как набор правил, которые определяют, как можно сортировать и сравнивать символьные данные. Это можно использовать для сравнения символов A и других языков, а также зависит от ширины символов.
Значение ASCII можно использовать для сравнения этих символьных данных.
36. Каковы различные типы чувствительности сопоставления?
Ниже приведены различные типы чувствительности сортировки.
- Чувствительность к регистру – A и a и B и b.
- Чувствительность к акценту.
- Чувствительность к кане – японские иероглифы кана.
- Чувствительность ширины — однобайтовый символ и двухбайтовый символ.
37. Преимущества и недостатки хранимых процедур?
Хранимая процедура может использоваться как модульное программирование – это означает создание один раз, сохранение и вызов несколько раз, когда это необходимо. Это поддерживает более быстрое выполнение вместо выполнения нескольких запросов. Это снижает сетевой трафик и обеспечивает лучшую безопасность данных.
Недостаток заключается в том, что он может выполняться только в базе данных и использует больше памяти на сервере базы данных.
38. Что такое онлайн-обработка транзакций (OLTP)?
Онлайн-обработка транзакций (OLTP) управляет приложениями на основе транзакций, которые можно использовать для ввода, извлечения и обработки данных. OLTP делает управление данными простым и эффективным. В отличие от систем OLAP, целью систем OLTP является обслуживание транзакций в реальном времени.
Пример – банковские операции ежедневно.
39. Что такое СТАТЬЯ?
Предложение SQL определено для ограничения набора результатов путем предоставления условия запросу. Обычно это фильтрует некоторые строки из всего набора записей.
Пример. Запрос с условием WHERE.
Запрос с условием HAVING.
40. Что такое рекурсивная хранимая процедура?
Хранимая процедура, которая вызывается сама по себе, пока не достигнет некоторого граничного условия. Эта рекурсивная функция или процедура помогает программистам использовать один и тот же набор кода любое количество раз.
Вопросы для собеседования по SQL для более чем 10-летнего опыта
41. Что такое команды Union, minus и Interact?
Оператор UNION используется для объединения результатов двух таблиц и удаляет повторяющиеся строки из таблиц.
Оператор МИНУС используется для возврата строк из первого запроса, но не из второго запроса. Совпадающие записи первого и второго запроса, а также другие строки из первого запроса будут отображаться как набор результатов.
Оператор INTERSECT используется для возврата строк, возвращаемых обоими запросами.
42. Что такое команда ALIAS?
Имя ALIAS может быть присвоено таблице или столбцу. На этот псевдоним можно ссылаться в Предложение WHERE для идентификации таблицы или столбца.
Пример-.
Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID
Здесь st относится к псевдониму таблицы учащихся, а Ex относится к псевдониму таблицы экзаменов.
43. В чем разница между операторами TRUNCATE и DROP?
TRUNCATE удаляет все строки из таблицы, и откат невозможен. Команда DROP удаляет таблицу из базы данных, и операцию невозможно откатить.
44. Что такое агрегатные и скалярные функции?
Агрегатные функции используются для оценки математических вычислений и возврата отдельных значений. Это можно рассчитать по столбцам таблицы. Скалярные функции возвращают одно значение на основе входного значения.
Пример -.
Агрегат – max(), count – рассчитывается относительно числового значения.
Скаляр — UCASE(), NOW() — вычисляется относительно строк.
45. Как создать пустую таблицу из существующей таблицы?
Примером будет -.
Select * into studentcopy from student where 1=2
Здесь мы копируем таблицу учеников в другую таблицу с той же структурой без копирования строк.
46. Как получить общие записи из двух таблиц?
Общий набор результатов записей можно получить с помощью -.
Select studentID from student INTERSECT Select StudentID from Exam
47. Как получить альтернативные записи из таблицы?
Записи могут быть получены как для нечетных, так и для четных номеров строк.
Для отображения четных чисел-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0
Для отображения нечетных чисел-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1
from (Выберите rowno, StudentId из Student), где mod(rowno,2)=1.[/sql]
48. Как выбрать уникальные записи из таблицы?
Выберите уникальные записи из таблицы, используя ключевое слово DISTINCT.
Select DISTINCT StudentID, StudentName from Student.
49. Какая команда используется для получения первых 5 символов строки?
Существует множество способов получить первые 5 символов строки.
Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student
50. Какой оператор используется в запросе на сопоставление с образцом?
Оператор LIKE используется для сопоставления с образцом и может использоваться как -.
- % – соответствует нулю или более символам.
- _(Подчеркивание) – соответствует ровно одному символу.
Пример -.
Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'
Эти вопросы для собеседования также помогут вам в устной речи.