SQL расшифровывается как язык структурированных запросов и является предметно-ориентированным языком программирования для управления данными в системах управления базами данных. Навыки программирования SQL очень желательны и востребованы на рынке, поскольку системы управления базами данных (СУБД) широко используются почти в каждом программном приложении. Чтобы получить работу, кандидатам необходимо пройти собеседование, на котором им задают различные вопросы для собеседования по SQL.
Ниже приведен тщательно подобранный список вопросов и ответов на собеседовании по SQL, которые могут быть заданы во время собеседования. Кандидатам, вероятно, будут задавать базовые вопросы собеседования по SQL для повышения уровня вопросов SQL в зависимости от их опыта и различных других факторов. Приведенный ниже список охватывает все вопросы собеседования по SQL для новичков, а также вопросы собеседования по SQL для опытных кандидатов и некоторые вопросы собеседования по SQL-запросам.
PDF-файл с вопросами для собеседования по SQL: Скачать здесь
Часто задаваемые вопросы на собеседовании по SQL и ответы для новичков и опытных
1. Что такое СУБД?
Система управления базой данных (СУБД) - это программа, которая контролирует создание, обслуживание и использование базы данных. СУБД можно назвать файловым менеджером, который управляет данными в базе данных, а не сохраняет их в файловых системах.
2. Что такое СУБД?
RDBMS расшифровывается как система управления реляционными базами данных. СУБД хранит данные в коллекции таблиц, которая связана общими полями между столбцами таблицы. Он также предоставляет реляционные операторы для управления данными, хранящимися в таблицах.
Пример: SQL Server.
3. Что такое SQL?
SQL означает язык структурированных запросов и используется для связи с базой данных. Это стандартный язык, используемый для выполнения таких задач, как поиск, обновление, вставка и удаление данных из базы данных.
Стандартные команды SQL - Select.
4. Что такое база данных?
База данных - это не что иное, как организованная форма данных для легкого доступа, хранения, поиска и управления данными. Это также известно как структурированная форма данных, к которой можно получить доступ разными способами.
Пример: База данных управления школой, База данных управления банком.
5. Что такое таблицы и поля?
Таблица - это набор данных, которые организованы в модель со столбцами и строками. Столбцы можно разделить на вертикальные, а строки - на горизонтальные. В таблице указано количество столбцов, называемых полями, но может быть любое количество строк, называемых записью.
Пример:.
Таблица: Сотрудник.
Поле: Emp ID, Emp Name, Date рождения.
Данные: 201456, Дэвид, 15.11.1960.
6. Что такое первичный ключ?
Первичный ключ - это комбинация полей, которые однозначно определяют строку. Это особый вид уникального ключа, имеющий неявное ограничение NOT NULL. Это означает, что значения первичного ключа не могут быть NULL.
7. Что такое уникальный ключ?
Ограничение уникального ключа однозначно определяет каждую запись в базе данных. Это обеспечивает уникальность столбца или набора столбцов.
Ограничение первичного ключа имеет автоматическое ограничение уникальности. Но не в случае с уникальным ключом.
Для каждой таблицы может быть определено множество уникальных ограничений, но для каждой таблицы может быть определено только одно ограничение первичного ключа.
8. Что такое внешний ключ?
Внешний ключ - это одна таблица, которая может быть связана с первичным ключом другой таблицы. Связь между двумя таблицами должна быть создана путем ссылки на внешний ключ с первичным ключом другой таблицы.
9. Что такое соединение?
Это ключевое слово, используемое для запроса данных из большего количества таблиц на основе взаимосвязи между полями таблиц. Ключи играют важную роль при использовании JOIN.
10. Какие бывают типы соединений и объясните каждый из них?
Существуют различные типы соединений, которые можно использовать для извлечения данных, и это зависит от взаимосвязи между таблицами.
- Внутреннее соединение.
Внутреннее соединение возвращает строки, когда есть хотя бы одно совпадение строк между таблицами.
- Правое присоединение.
Правое соединение возвращает строки, которые являются общими для таблиц и всех строк правой таблицы. Просто он возвращает все строки из правой таблицы, даже если в левой таблице нет совпадений.
- Левое соединение.
Левое соединение возвращает строки, общие для таблиц и всех строк левой таблицы. Просто он возвращает все строки из левой таблицы, даже если в правой таблице нет совпадений.
- Полное присоединение.
Полное соединение возвращает строки, если в любой из таблиц есть совпадающие строки. Это означает, что он возвращает все строки из левой таблицы и все строки из правой таблицы.
11. Что такое нормализация?
Нормализация - это процесс минимизации избыточности и зависимости путем организации полей и таблиц базы данных. Основная цель нормализации - добавить, удалить или изменить поле, которое можно сделать в одной таблице.
12. Что такое денормализация.
ДеНормализация - это метод, используемый для доступа к данным из более высоких нормальных форм базы данных в более низкие. Это также процесс введения избыточности в таблицу путем включения данных из связанных таблиц.
13. Какие бывают разные нормализации?
Нормальные формы можно разделить на 5 форм, и они объясняются ниже -.
- Первая нормальная форма (1NF) :.
Это должно удалить все повторяющиеся столбцы из таблицы. Создание таблиц для связанных данных и идентификация уникальных столбцов.
- Вторая нормальная форма (2NF) :.
Соответствие всем требованиям первой нормальной формы. Размещение подмножеств данных в отдельных таблицах и Создание связей между таблицами с использованием первичных ключей.
- Третья нормальная форма (3NF) :.
Это должно соответствовать всем требованиям 2NF. Удаление столбцов, не зависящих от ограничений первичного ключа.
- Четвертая нормальная форма (4NF) :.
Соответствует всем требованиям третьей нормальной формы и не должен иметь многозначных зависимостей.
14. Что такое представление?
Представление - это виртуальная таблица, которая состоит из подмножества данных, содержащихся в таблице. Виды практически отсутствуют, и для их хранения требуется меньше места. В представлении могут быть объединены данные одной или нескольких таблиц, и это зависит от отношения.
15. Что такое индекс?
Индекс - это метод настройки производительности, позволяющий быстрее извлекать записи из таблицы. Индекс создает запись для каждого значения, и данные будут извлекаться быстрее.
16. Какие бывают типы индексов?
Есть три типа индексов -.
- Уникальный индекс.
Эта индексация не позволяет полю иметь повторяющиеся значения, если столбец имеет уникальный индекс. Уникальный индекс может применяться автоматически при определении первичного ключа.
- Кластерный индекс.
Этот тип индекса изменяет физический порядок таблицы и поиска на основе значений ключей. Каждая таблица может иметь только один кластерный индекс.
- Некластеризованный индекс.
Некластеризованный индекс не изменяет физический порядок таблицы и поддерживает логический порядок данных. Каждая таблица может иметь 999 некластеризованных индексов.
17. Что такое курсор?
Курсор базы данных - это элемент управления, который позволяет перемещаться по строкам или записям в таблице. Это можно рассматривать как указатель на одну строку в наборе строк. Курсор очень полезен для перемещения, такого как поиск, добавление и удаление записей базы данных.
18. Что такое отношения и что они из себя представляют?
Связь с базой данных определяется как связь между таблицами в базе данных. Существуют различные отношения на основе данных, и они следующие:
- Отношения один на один.
- Отношения «один ко многим».
- Отношения «многие к одному».
- Самореференционные отношения.
19. Что такое запрос?
Запрос к БД - это код, написанный для получения информации из базы данных. Запрос можно разработать таким образом, чтобы он соответствовал нашим ожиданиям от набора результатов. Просто вопрос к базе данных.
20. Что такое подзапрос?
Подзапрос - это запрос внутри другого запроса. Внешний запрос называется основным запросом, а внутренний запрос - подзапросом. Подзапрос всегда выполняется первым, а результат подзапроса передается основному запросу.
21. Какие бывают типы подзапросов?
Есть два типа подзапросов - коррелированные и некоррелированные.
Коррелированный подзапрос не может рассматриваться как независимый запрос, но он может ссылаться на столбец в таблице, указанной в списке FROM основного запроса.
Некоррелированный подзапрос можно рассматривать как независимый запрос, и выходные данные подзапроса подставляются в основной запрос.
22. Что такое хранимая процедура?
Хранимая процедура - это функция, состоящая из множества операторов SQL для доступа к системе базы данных. Несколько операторов SQL объединены в хранимую процедуру и выполняют их в любое время и в любом месте.
23. Что такое триггер?
Триггер БД - это код или программы, которые автоматически выполняются в ответ на какое-либо событие в таблице или представлении в базе данных. В основном триггер помогает поддерживать целостность базы данных.
Пример: когда новый студент добавляется в базу данных студентов, новые записи должны быть созданы в связанных таблицах, таких как таблицы экзаменов, баллов и посещаемости.
24. В чем разница между командами DELETE и TRUNCATE?
Команда DELETE используется для удаления строк из таблицы, а предложение WHERE может использоваться для условного набора параметров. Фиксация и откат могут быть выполнены после оператора удаления.
TRUNCATE удаляет все строки из таблицы. Отменить операцию усечения нельзя.
25. Что такое локальные и глобальные переменные и их различия?
Локальные переменные - это переменные, которые могут использоваться или существовать внутри функции. Они не известны другим функциям, и эти переменные не могут использоваться или использоваться. Переменные можно создавать всякий раз, когда вызывается эта функция.
Глобальные переменные - это переменные, которые могут использоваться или существовать во всей программе. Переменная, объявленная в global, не может использоваться в функциях. Глобальные переменные не могут быть созданы всякий раз, когда вызывается эта функция.
26. Что такое ограничение?
Ограничение можно использовать для указания ограничения на тип данных таблицы. Ограничение можно указать при создании или изменении табличного оператора. Образец ограничения есть.
- НЕ НОЛЬ.
- ПРОВЕРИТЬ.
- ДЕФОЛТ.
- УНИКАЛЬНЫЙ.
- ПЕРВИЧНЫЙ КЛЮЧ.
- ИНОСТРАННЫЙ КЛЮЧ.
27. Что такое целостность данных?
Целостность данных определяет точность и непротиворечивость данных, хранящихся в базе данных. Он также может определять ограничения целостности для применения бизнес-правил к данным, когда они вводятся в приложение или базу данных.
28. Что такое автоинкремент?
Ключевое слово Auto increment позволяет пользователю создать уникальный номер, который будет сгенерирован при вставке новой записи в таблицу. Ключевое слово AUTO INCREMENT можно использовать в Oracle, а ключевое слово IDENTITY можно использовать в SQL SERVER.
В основном это ключевое слово можно использовать всякий раз, когда используется ПЕРВИЧНЫЙ КЛЮЧ.
29. В чем разница между кластерным и некластерным индексом?
Кластерный индекс используется для легкого извлечения данных из базы данных путем изменения способа хранения записей. База данных сортирует строки по столбцу, для которого задан кластерный индекс.
Некластеризованный индекс не изменяет способ хранения, а создает полностью отдельный объект в таблице. Он указывает на исходные строки таблицы после поиска.
30. Что такое хранилище данных?
Хранилище данных - это центральное хранилище данных из множества источников информации. Эти данные консолидируются, преобразуются и становятся доступными для добычи полезных ископаемых и онлайн-обработки. Данные хранилища имеют подмножество данных, называемое витринами данных.
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. Что такое рекурсивная хранимая процедура?
Хранимая процедура, которая вызывается сама по себе, пока не достигнет некоторого граничного условия. Эта рекурсивная функция или процедура помогает программистам использовать один и тот же набор кода любое количество раз.
41. Что такое команды Union, minus и Interact?
Оператор UNION используется для объединения результатов двух таблиц и удаляет повторяющиеся строки из таблиц.
Оператор MINUS используется для возврата строк из первого запроса, но не из второго запроса. Соответствующие записи первого и второго запроса и другие строки из первого запроса будут отображены как набор результатов.
Оператор 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. Что такое агрегатные и скалярные функции?
Агрегатные функции используются для оценки математических вычислений и возврата отдельных значений. Это можно вычислить по столбцам в таблице. Скалярные функции возвращают одно значение на основе входного значения.
Пример -.
Aggregate - 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 from 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_'