50 запитань і відповідей на інтерв’ю SQL на 2025 рік

Ось питання та відповіді на співбесіду SQL для нових і досвідчених кандидатів, щоб отримати роботу своєї мрії.

 

Питання для співбесіди з SQL для першокурсників

1. Що таке СУБД?

Система керування базами даних (СУБД) — це програма, яка керує створенням, обслуговуванням і використанням бази даних. СУБД можна назвати файловим менеджером, який керує даними в базі даних, а не зберігає їх у файлових системах.

👉 Безкоштовне завантаження PDF: Запитання та відповіді на SQL Interview >>


2. Що таке RDBMS?

RDBMS означає Relational Database Management System. РСУБД зберігає дані в колекції таблиць, яка пов’язана загальними полями між стовпцями таблиці. Він також надає оператори відношення для маніпулювання даними, що зберігаються в таблицях.

Приклад: SQL Server.


3. Що таке SQL?

SQL розшифровується як Structured Query Language і використовується для зв’язку з базою даних. Це стандартна мова, яка використовується для виконання таких завдань, як пошук, оновлення, вставка та видалення даних із бази даних.
стандарт Команди SQL є Виберіть.


4. Що таке база даних?

База даних — це не що інше, як організована форма даних для легкого доступу, зберігання, пошуку та керування даними. Це також відоме як структурована форма даних, до якої можна отримати доступ різними способами.

Приклад: База даних менеджменту школи, База даних менеджменту банку.


5. Що таке таблиці та поля?

Таблиця – це набір даних, організованих у моделі зі стовпцями та рядками. Стовпці можна класифікувати як вертикальні, а рядки – як горизонтальні. Таблиця має визначену кількість стовпців, які називаються полями, але може мати будь-яку кількість рядків, які називаються записами.

Приклад:.

Таблиця: Співробітник.

Поле: Emp ID, Emp Name, Date of Birth.

Дата: 201456, Давид, 11.


6. Що таке первинний ключ?

A primary key це комбінація полів, які однозначно визначають рядок. Це особливий вид унікального ключа, який має неявне обмеження NOT NULL. Це означає, що значення первинного ключа не можуть бути NULL.


7. Що таке унікальний ключ?

Обмеження унікального ключа однозначно визначає кожен запис у базі даних. Це забезпечує унікальність для стовпця або набору стовпців.

Для обмеження первинного ключа автоматично визначено унікальне обмеження. Але ні у випадку з унікальним ключем.

Для кожної таблиці може бути визначено багато унікальних обмежень, але для кожної таблиці визначено лише одне обмеження первинного ключа.


8. Що таке зовнішній ключ?

Зовнішній ключ — це одна таблиця, яка може бути пов’язана з первинним ключем іншої таблиці. Необхідно створити зв’язок між двома таблицями шляхом посилання на зовнішній ключ із первинним ключем іншої таблиці.


9. Що таке об'єднання?

Це ключове слово, яке використовується для запиту даних із кількох таблиць на основі зв’язку між полями таблиць. Ключі відіграють важливу роль, коли використовуються JOIN.


10. Які є типи об’єднань і поясніть кожен?

Існує різні види з'єднання який можна використовувати для отримання даних і залежить від зв’язку між таблицями.

  • Внутрішнє з'єднання.

Внутрішнє об’єднання повертає рядки, якщо між таблицями є принаймні один збіг рядків.

  • Приєднатися праворуч.

Праве об’єднання повертає рядки, які є спільними між таблицями та всіма рядками таблиці правого боку. Просто він повертає всі рядки з правої бічної таблиці, навіть якщо в лівій бічній таблиці немає збігів.

  • Зліва Приєднатися.

Об’єднання зліва повертає рядки, які є спільними між таблицями та всіма рядками таблиці лівого боку. Просто повертає всі рядки з лівої таблиці, навіть якщо в правій таблиці немає збігів.

  • Повне приєднання.

Повне об’єднання повертає рядки, якщо в будь-якій таблиці є відповідні рядки. Це означає, що він повертає всі рядки з лівої бічної таблиці та всі рядки з правої бічної таблиці.


Питання для співбесіди з SQL для 3-річного досвіду

11. Що таке нормалізація?

Нормалізація — це процес мінімізації надмірності та залежності шляхом організації полів і таблиці бази даних. Основною метою нормалізації є додавання, видалення або зміна поля, яке можна створити в одній таблиці.


12. Що таке денормалізація?

Денормалізація — це техніка, яка використовується для доступу до даних із вищих нормальних форм бази даних до нижчих. Це також процес введення надмірності в таблицю шляхом об’єднання даних із пов’язаних таблиць.


13. Що таке різні нормалізації?

Нормалізація бази даних можна легко зрозуміти за допомогою прикладу. Нормальні форми можна розділити на 6 форм, і вони пояснюються нижче -.

Нормальні форми бази даних
Нормальні форми бази даних

  • Перша нормальна форма (1NF):.

Це має видалити всі повторювані стовпці з таблиці. Створення таблиць для пов’язаних даних і визначення унікальних стовпців.

  • Друга нормальна форма (2NF):.

Відповідає всім вимогам першої нормальної форми. Розміщення підмножин даних в окремих таблицях і створення зв’язків між таблицями за допомогою первинних ключів.

  • Третя нормальна форма (3NF):.

Це має відповідати всім вимогам 2NF. Видалення стовпців, які не залежать від обмежень первинного ключа.

  • Четверта нормальна форма (4NF):.

Якщо жоден екземпляр таблиці бази даних не містить двох або більше незалежних і багатозначних даних, що описують відповідну сутність, тоді це в 4th Нормальна форма.

  • П'ята нормальна форма (5NF):.

Таблиця знаходиться в 5-й нормальній формі, лише якщо вона знаходиться в 4NF і не може бути розкладена на будь-яку кількість менших таблиць без втрати даних.

  • Шоста нормальна форма (6NF):.

6-та звичайна форма не стандартизована, однак вона деякий час обговорюється експертами з баз даних. Сподіваюся, найближчим часом у нас буде чітке та стандартизоване визначення 6-ї нормальної форми…


14. Що таке перегляд?

Представлення — це віртуальна таблиця, яка складається з підмножини даних, що містяться в таблиці. Перегляди не присутні віртуально, і для зберігання потрібно менше місця. Подання може містити об’єднані дані однієї або кількох таблиць, і це залежить від зв’язку.


15. Що таке індекс?

Індекс — це метод налаштування продуктивності, який дозволяє швидше отримувати записи з таблиці. Індекс створює запис для кожного значення, і це буде швидше для отримання даних.


16. Які існують різні типи індексів?

Існує три види індексів -.

  • Єдиний індекс.

Це індексування не дозволяє полю мати повторювані значення, якщо стовпець має унікальний індекс. Унікальний індекс може застосовуватися автоматично, коли визначено первинний ключ.

  • Clusterред Індекс.

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

  • Чи неClusterред Індекс.

Чи неClustered Index не змінює фізичний порядок таблиці та підтримує логічний порядок даних. Кожна таблиця може мати 999 некластеризованих індексів.


17. Що таке курсор?

Курсор бази даних — це елемент керування, який дозволяє переходити по рядках або записах у таблиці. Це можна розглядати як вказівник на один рядок у наборі рядків. Курсор дуже корисний для обходу, наприклад пошуку, додавання та видалення записів бази даних.


18. Що таке відносини і які вони?

Зв'язок бази даних визначається як зв'язок між таблицями в базі даних. Існують різні зв’язки баз даних, і вони такі:

  • Відносини один до одного.
  • Відносини один до багатьох.
  • Відношення багато до одного.
  • Відносини самопосилання.

19. Що таке запит?

Запит до БД – це код, написаний для отримання інформації з бази даних. Запит можна спроектувати таким чином, щоб він відповідав нашим очікуванням щодо набору результатів. Просто питання до БД.


20. Що таке підзапит?

Підзапит – це запит всередині іншого запиту. Зовнішній запит називається основним запитом, а внутрішній запит називається підзапитом. Підзапит завжди виконується першим, а результат підзапиту передається в основний запит.

Давайте розглянемо синтаксис підзапиту –

MySQL Підручник із підзапитів із прикладами

Поширеною скаргою клієнтів у відеотеці 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. Що таке обмеження?

Обмеження можна використовувати для визначення обмеження на тип даних таблиці. Обмеження можна вказати під час створення або зміни оператора таблиці. Зразок обмеження є.

  • НЕ NULL.
  • ПЕРЕВІРИТИ.
  • ЗА УМОВЧАННЯМ.
  • УНІКАЛЬНИЙ.
  • ПЕРВИННИЙ КЛЮЧ.
  • ЗОВНІШНІЙ КЛЮЧ.

27. Що таке дані Integrity?

дані Integrity визначає точність і послідовність даних, що зберігаються в базі даних. Він також може визначати обмеження цілісності для забезпечення виконання бізнес-правил щодо даних, коли вони вводяться в програму або базу даних.


28. Що таке автоматичне збільшення?

Ключове слово Auto increment дозволяє користувачеві створити унікальний номер, який буде згенеровано, коли новий запис буде вставлено в таблицю. Ключове слово AUTO INCREMENT можна використовувати в Oracle і ключове слово IDENTITY можна використовувати в SQL SERVER.

Переважно це ключове слово можна використовувати, коли використовується PRIMARY KEY.


29. Яка різниця між Cluster та не-Cluster Індекс?

Clustered index використовується для легкого пошуку даних із бази даних шляхом зміни способу зберігання записів. База даних сортує рядки за стовпцем, для якого встановлено кластерний індекс.

Некластерний індекс не змінює спосіб його зберігання, але створює повний окремий об’єкт у таблиці. Після пошуку він повертає вихідні рядки таблиці.


30. Що таке Datawarehouse?

Datawarehouse — це центральне сховище даних із багатьох джерел інформації. Ці дані консолідуються, трансформуються та стають доступними для видобутку та онлайн-обробки. Дані сховища мають підмножину даних, яка називається Data Marts.


31. Що таке самооб'єднання?

Самооб’єднання встановлено як запит, який використовується для порівняння із самим собою. Це використовується для порівняння значень у стовпці з іншими значеннями в тому самому стовпці в одній таблиці. ALIAS ES можна використовувати для порівняння тієї ж таблиці.


32. Що таке перехресне з'єднання?

Перехресне з’єднання визначається як декартів добуток, коли кількість рядків у першій таблиці помножена на кількість рядків у другій таблиці. Якщо, припустимо, речення WHERE використовується в перехресному з’єднанні, тоді запит працюватиме як INNER JOIN.


33. Що таке функції, визначені користувачем?

Визначені користувачем функції — це функції, написані для використання цієї логіки, коли це необхідно. Не потрібно писати одну і ту ж логіку кілька разів. Замість цього функція може бути викликана або виконана, коли це необхідно.


34. Які існують типи функцій, визначених користувачем?

Існує три типи визначених користувачем функцій.

  • Скалярні функції.
  • Вбудовані табличні функції.
  • Багатозначні функції операторів.

Одиниця скалярного повернення, варіант, визначений умовою повернення. Інші два типи повертають таблицю як повернення.


35. Що таке зіставлення?

Зіставлення визначається як набір правил, які визначають, як символьні дані можна сортувати та порівнювати. Це можна використовувати для порівняння символів A та інших мов, а також залежить від ширини символів.

Значення ASCII можна використовувати для порівняння цих символьних даних.


36. Які існують різні типи чутливості сортування?

Нижче наведено різні типи чутливості сортування -.

  • Чутливість до регістру – A і a і B і b.
  • Чутливість до акценту.
  • Kana Sensitivity – японські символи Kana.
  • Чутливість до ширини – однобайтовий символ і двобайтовий символ.

37. Переваги та недоліки збереженої процедури?

Збережену процедуру можна використовувати як модульне програмування – означає створити один раз, зберегти та викликати кілька разів, коли це потрібно. Це підтримує швидше виконання замість виконання кількох запитів. Це зменшує мережевий трафік і забезпечує кращий захист даних.

Недоліком є ​​те, що він може бути виконаний лише в базі даних і використовує більше пам’яті на сервері бази даних.


38. Що таке онлайн-обробка транзакцій (OLTP)?

Онлайнова обробка транзакцій (OLTP) керує додатками на основі транзакцій, які можна використовувати для введення, пошуку та обробки даних. OLTP робить керування даними простим і ефективним. На відміну від систем OLAP, метою систем OLTP є обслуговування транзакцій у реальному часі.

Приклад – щоденні банківські операції.


39. Що таке КЛАУЗУЛА?

Речення SQL визначено для обмеження набору результатів шляхом надання умови для запиту. Зазвичай це фільтрує деякі рядки з усього набору записів.

Приклад – запит із умовою WHERE

Запит із умовою HAVING.


40. Що таке рекурсивна збережена процедура?

Збережена процедура, яка викликає сама себе, доки не досягне певної граничної умови. Ця рекурсивна функція або процедура допомагає програмістам використовувати той самий набір коду будь-яку кількість разів.


Питання для співбесіди з SQL для 10+ років досвіду

41. Що таке команди Union, minus і Interact?

Оператор UNION використовується для об’єднання результатів двох таблиць і видаляє повторювані рядки з таблиць.

Оператор МІНУС використовується для повернення рядків із першого запиту, але не з другого запиту. Відповідні записи першого та другого запиту та інші рядки з першого запиту відображатимуться як набір результатів.

Оператор INTERSECT використовується для повернення рядків, повернутих обома запитами.


42. Що таке команда ALIAS?

Псевдонім можна надати таблиці або стовпцю. На цей псевдонім можна посилатися ДЕ ЗАКЛАД для визначення таблиці або стовпця.

Приклад-.

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(), кількість – обчислено відносно числа.

Скаляр – 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 використовується для зіставлення шаблону, і його можна використовувати як -.

  1. % – відповідає нулю або більше символів.
  2. _(Підкреслення) – відповідає точно одному символу.

Приклад -.

Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'

Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)