logo

Питання для співбесіди SQL

SQL це стандартна мова бази даних, яка використовується для доступу та маніпулювання даними в базах даних. Це означає Мова Структурованих Запитів і був розроблений IBM Computer Scientists у 1970-х роках. Виконуючи запити, SQL може створювати, оновлювати, видаляти та отримувати дані в базах даних, таких як MySQL, Oracle, PostgreSQL тощо. Загалом SQL — це мова запитів, яка спілкується з базами даних.

У цій статті ми розглянемо 70+ запитань для співбесіди з SQL із відповідями запитували під час інтерв’ю з розробниками SQL у MAANG та інших високооплачуваних компаніях. Незалежно від того, чи ви новачок, чи досвідчений професіонал із 2, 5 чи 10-річним досвідом, ця стаття дасть вам усю впевненість, необхідну для проходження наступної співбесіди з SQL.



Зміст

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

1. Що таке SQL?

SQL розшифровується як мова структурованих запитів. Це мова, яка використовується для взаємодії з базою даних, тобто для створення бази даних, створення таблиці в базі даних, для отримання даних або оновлення таблиці в базі даних тощо. SQL є стандартом ANSI (Американського національного інституту стандартів). Використовуючи SQL, ми можемо робити багато речей. Наприклад, ми можемо виконувати запити, можемо вставляти записи в таблицю, можемо оновлювати записи, можемо створювати базу даних, можемо створювати таблицю, можемо видаляти таблицю тощо.



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

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

3. Чи підтримує SQL функції мови програмування?

Це правда, що SQL є мовою, але вона не підтримує програмування, оскільки це не мова програмування, це мова команд. У нас немає умовних операторів у SQL, таких як цикли for або if..else, у нас є лише команди, які ми можемо використовувати для запиту, оновлення, видалення тощо даних у базі даних. SQL дозволяє нам маніпулювати даними в базі даних.

4. Яка різниця між типом даних CHAR і VARCHAR2 у SQL?

Обидва ці типи даних використовуються для символів, але varchar2 використовується для рядків символів змінної довжини, тоді як char використовується для рядків символів фіксованої довжини. Наприклад , якщо ми вкажемо тип як char(5), тоді нам не буде дозволено зберігати рядок будь-якої іншої довжини в цій змінній, але якщо ми вкажемо тип цієї змінної як varchar2(5), тоді нам буде дозволено зберігати рядки змінної довжини. Ми можемо зберегти рядок довжиною 3, 4 або 2 у цій змінній.



5. Що ви розумієте під мовою визначення даних?

Мова визначення даних або DDL дозволяє виконувати такі запити, як CREATE, DROP і ALTER. Це ті запити, які визначають дані.

6. Що ви маєте на увазі під мовою обробки даних?

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

  • Вставте дані або рядки в базу даних
  • Видалити дані з бази даних
  • Отримати або отримати дані
  • Оновити дані в базі даних.

7. Що таке представлення в SQL?

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

Оператор CREATE VIEW SQL використовується для створення представлень.

Основний синтаксис:

CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE condition;    view_name  : Name for the View   table_name  : Name of the table   condition  : Condition to select rows>

8. Що ви маєте на увазі під зовнішнім ключем?

А Зовнішній ключ це поле, яке може унікально ідентифікувати кожен рядок в іншій таблиці. І це обмеження використовується для визначення поля як зовнішнього ключа. Тобто це поле вказує на первинний ключ іншої таблиці. Зазвичай це створює своєрідний зв’язок між двома таблицями.

Розгляньте дві таблиці, як показано нижче:

Замовлення

O_ID НОМЕР ЗАМОВЛЕННЯ C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Клієнти

C_ID ІМ'Я АДРЕСА
1 РАМЕШ ДЕЛІ
2 СУРЕШ НОЙДА
3 ДАРМЕШ ГУРГАОН

Як ми чітко бачимо, поле C_ID у таблиці Orders є первинним ключем у таблиці Customers’, тобто воно однозначно ідентифікує кожен рядок у таблиці Customers. Тому це зовнішній ключ у таблиці Orders.

Синтаксис:

CREATE TABLE Orders ( O_ID int NOT NULL, ORDER_NO int NOT NULL, C_ID int, PRIMARY KEY (O_ID), FOREIGN KEY (C_ID) REFERENCES Customers(C_ID) )>

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

Таблиця: Таблиця складається з рядків і стовпців. Рядки називаються записами, а стовпці — полями. У MS SQL Server таблиці позначаються в іменах бази даних і схем.

Поле: У СУБД поле бази даних можна визначити як окремий фрагмент інформації із запису.

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

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

11. Що таке обмеження за замовчуванням?

The ЗА ПРОМОВЧАННЯМ обмеження використовується для заповнення стовпця стандартними та фіксованими значеннями. Значення буде додано до всіх нових записів, якщо не вказано інше значення.

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

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

  1. Мінімізація надмірності
  2. Зведення до мінімуму аномалій вставки, видалення та оновлення

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

Рядок java містить

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

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

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

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

Ан SQL запит використовується для отримання необхідних даних із бази даних. Однак може бути кілька запитів SQL, які дають однакові результати, але з різними рівнями ефективності. Неефективний запит може виснажити ресурси бази даних, зменшити швидкість бази даних або призвести до втрати обслуговування для інших користувачів. Тому дуже важливо оптимізувати запит, щоб отримати найкращу продуктивність бази даних.

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

У SQL, a Підзапит можна просто визначити як запит в іншому запиті. Іншими словами, ми можемо сказати, що підзапит — це запит, вбудований у речення WHERE іншого запиту SQL.

16. Які різні оператори доступні в SQL?

У SQL доступні три оператори, а саме:

  1. Арифметичні оператори
  2. Логічні оператори
  3. Оператори порівняння

17. Що таке обмеження?

Обмеження — це правила, які ми можемо застосувати до типу даних у таблиці. Тобто ми можемо вказати обмеження на тип даних, які можуть зберігатися в певному стовпці таблиці за допомогою обмежень. Для отримання додаткової інформації зверніться до SQL|Обмеження стаття.

18. Що таке цілісність даних?

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

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

Іноді під час створення таблиці ми не маємо унікального ідентифікатора в таблиці, тому ми стикаємося з труднощами при виборі первинного ключа. Щоб вирішити таку проблему, ми повинні вручну надати унікальні ключі для кожного запису, але це також часто є виснажливим завданням. Тому ми можемо використовувати функцію автоматичного збільшення, яка автоматично генерує числове значення первинного ключа для кожного нового вставленого запису. Функція автоматичного збільшення підтримується всіма базами даних. Для отримання додаткової інформації зверніться Автоматичне збільшення SQL стаття.

20. Що таке сортування MySQL?

Зіставлення MySQL — це чітко визначений набір правил, які використовуються для порівняння символів певного набору символів за допомогою їх відповідного кодування. Кожен набір символів у MySQL може мати більше ніж одне порівняння та має принаймні одне зіставлення за замовчуванням. Два набори символів не можуть мати однакові сортування. Для отримання додаткової інформації зверніться Що таке сортування та набір символів у MySQL? стаття.

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

Ми можемо використовувати функції, визначені користувачем, у PL/SQL або Java, щоб забезпечити функції, недоступні в SQL або вбудованих функціях SQL. Функції SQL і функції, визначені користувачем, можуть з’являтися будь-де, тобто там, де виникає вираз.

Наприклад, його можна використовувати в:

  • Виберіть список операторів SELECT.
  • Умова речення WHERE.
  • З’ЄДНУЙТЕ ЗА, ВОРЯДУЙТЕ ЗА, ПОЧАЙТЕ З І ГРУПУЙТЕ ЗА
  • Речення VALUES оператора INSERT.
  • Речення SET інструкції UPDATE.

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

Функції, визначені користувачем, дозволяють людям визначати власні функції T-SQL, які можуть приймати 0 або більше параметрів і повертати одне скалярне значення даних або тип даних таблиці.
Різні типи призначених для користувача функцій:

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

2. Вбудована функція, визначена користувачем табличного значення Функція Inline Table-Value, визначена користувачем, повертає тип даних таблиці та є винятковою альтернативою перегляду, оскільки функція, визначена користувачем, може передавати параметри в команду T-SQL select і, по суті, надавати нам параметризований, не - оновлюваний перегляд базових таблиць.

3. Визначена користувачем функція таблиці-значення з декількома операторами Визначена користувачем функція Multi-Statement Table-Value повертає таблицю, а також є винятковою альтернативою перегляду, оскільки функція може підтримувати кілька операторів T-SQL для побудови кінцевого результату, де перегляд обмежений одним оператором SELECT. Крім того, можливість передати параметри в команду TSQL select або їх групу дає нам можливість, по суті, створити параметризоване, неоновлюване подання даних у базових таблицях. У команді create function ви повинні визначити структуру таблиці, яка повертається. Після створення цього типу визначеної користувачем функції її можна використовувати в реченні FROM команди T-SQL, на відміну від поведінки, яка спостерігається під час використання збереженої процедури, яка також може повертати набори записів.

23. Що таке збережена процедура?

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

24. Що таке агрегатні та скалярні функції?

Для виконання операцій над даними SQL має багато вбудованих функцій, які поділяються на дві категорії, а потім на сім різних функцій у кожній категорії. Категорії:

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

Для отримання додаткової інформації прочитайте SQL | Функції (агрегатні та скалярні функції) стаття.

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

Псевдоніми — це тимчасові імена, надані таблиці або стовпцю для певного SQL-запиту. Він використовується, коли використовується ім’я стовпця чи таблиці, відмінне від оригінального імені, але змінене ім’я є лише тимчасовим.

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

Щоб дізнатися більше, прочитайте SQL | Псевдоніми стаття.

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

Операції набору в SQL усувають дублікати кортежів і можуть застосовуватися лише до зв’язків, сумісних з об’єднанням. У SQL доступні такі операції набору:

  • Набір Союзу
  • Встановити Перетин
  • Встановити різницю

Операція UNION: Ця операція включає всі кортежі, які присутні в будь-якому з відношень. Наприклад: знайти всіх клієнтів, які мають позику або рахунок, або обидва в банку.

 SELECT CustomerName FROM Depositor   UNION   SELECT CustomerName FROM Borrower ;>

Операція об'єднання автоматично усуває дублікати. Якщо всі дублікати мають бути збережені, замість UNION використовується UNION ALL.

Операція INTERSECT: Ця операція включає кортежі, які присутні в обох відношеннях. Наприклад: Щоб знайти клієнтів, які мають кредит, а також рахунок у банку:

 SELECT CustomerName FROM Depositor   INTERSECT  SELECT CustomerName FROM Borrower ;>

Операція Intersect автоматично усуває дублікати. Якщо всі дублікати мають бути збережені, INTERSECT ALL використовується замість INTERSECT.

КРІМ операції: Ця операція включає кортежі, які присутні в одному зв’язку, але не повинні бути присутніми в іншому зв’язку. Наприклад: Щоб знайти клієнтів, які мають рахунок, але не мають кредиту в банку:

 SELECT CustomerName FROM Depositor   EXCEPT  SELECT CustomerName FROM Borrower ;>

Операція «Окрім» автоматично усуває дублікати. Якщо всі дублікати мають бути збережені, замість EXCEPT використовується EXCEPT ALL.

27. Що таке T-SQL?

T-SQL — це абревіатура від Transact Structure Query Language. Це продукт Microsoft і є розширенням мови SQL, яка використовується для взаємодії з реляційними базами даних. Вважається, що він найкраще працює з серверами Microsoft SQL. Інструкції T-SQL використовуються для виконання транзакцій із базами даних. T-SQL має величезне значення, оскільки всі зв’язки з екземпляром SQL-сервера здійснюються шляхом надсилання операторів Transact-SQL на сервер. Користувачі також можуть визначати функції за допомогою T-SQL.

Типи функцій T-SQL:

  • Агрегатний функції.
  • Рейтинг функції. Існують різні типи функцій ранжирування.
  • Набір рядів функція.
  • Скалярний функції.

28. Що таке ETL у SQL?

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

29. Як скопіювати таблиці в SQL?

Іноді в SQL нам потрібно створити точну копію вже визначеної (або створеної) таблиці. MySQL дозволяє виконати цю операцію. Тому що нам можуть знадобитися такі повторювані таблиці для тестування даних без жодного впливу на вихідну таблицю та дані, що зберігаються в ній.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;>

Щоб дізнатися більше, прочитайте Таблиця клонування в в MySQL стаття.

30. Що таке SQL-ін'єкція?

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

  • SQL-ін’єкція – це техніка впровадження коду, яка може знищити вашу базу даних.
  • SQL-ін’єкція є одним із найпоширеніших методів веб-злому.
  • SQL-ін’єкція – це розміщення зловмисного коду в операторах SQL за допомогою введення веб-сторінки.

Щоб дізнатися більше, прочитайте SQL | Ін'єкційний стаття.

31. Чи можемо ми вимкнути тригер? Якщо так, то яким чином?

Так, ми можемо вимкнути тригер у PL/SQL. Якщо тимчасово вимкнути тригер і виконується одна з таких умов:

  • Об’єкт, на який посилається тригер, недоступний.
  • Ми повинні виконувати велике завантаження даних і бажаємо, щоб це відбувалося швидко без активації тригерів.
  • Ми завантажуємо дані в таблицю, до якої застосовується тригер.
  • Ми вимикаємо тригер за допомогою оператора ALTER TRIGGER з параметром DISABLE.
  • Ми можемо одночасно вимкнути всі тригери, пов’язані з таблицею, використовуючи оператор ALTER TABLE з параметром DISABLE ALL TRIGGERS.

Запитання та відповіді на співбесіді з SQL середнього рівня

32. Які відмінності між SQL і PL/SQL?

Нижче показано деякі загальні відмінності між SQL і PL/SQL:

SQL

PL/SQL

SQL — це мова виконання запитів або командна мова

PL/SQL є повноцінною мовою програмування

SQL є мовою, орієнтованою на дані.

PL/SQL є процедурною мовою

SQL має дуже декларативний характер.

PL/SQL має процедурний характер.

Він використовується для маніпулювання даними.

Використовується для створення додатків.

Ми можемо виконувати один оператор за раз у SQL

Ми можемо виконувати блоки операторів у PL/SQL

SQL підказує базам даних, що робити?

PL/SQL повідомляє базам даних, як це робити.

Ми можемо вбудувати SQL у PL/SQL

Ми не можемо вставити PL/SQL у SQL

33. Яка різниця між операторами BETWEEN та IN у SQL?

МІЖ: The МІЖ оператор використовується для отримання рядків на основі діапазону значень.
Наприклад,

SELECT * FROM Students  WHERE ROLL_NO BETWEEN 20 AND 30;>

Цей запит вибере всі ці рядки з таблиці. Студенти, у яких значення поля ROLL_NO лежить між 20 і 30.
В: The IN оператор використовується для перевірки значень, що містяться в певних наборах.
Наприклад,

SELECT * FROM Students  WHERE ROLL_NO IN (20,21,23);>

Цей запит вибере всі ті рядки з таблиці Students, де значення поля ROLL_NO дорівнює 20, або 21, або 23.

34. Напишіть SQL-запит, щоб знайти імена співробітників, які починаються на «А».

Для цього використовується оператор LIKE SQL. Він використовується для отримання відфільтрованих даних шляхом пошуку певного шаблону в пропозиції where.
Синтаксис використання LIKE такий:

SELECT column1,column2 FROM table_name WHERE column_name LIKE шаблон;

ЛЮБЛЮ: ім'я оператора

шаблон: точне значення, витягнуте з шаблону, щоб отримати пов’язані дані в наборі результатів.

Необхідний запит:

SELECT * FROM Employees WHERE EmpName like 'A%' ;>

Ви можете звернутися до цієї статті речення WHERE для більш детальної інформації про оператор LIKE.

35. Яка різниця між обмеженнями первинного ключа та унікальними?

Первинний ключ не може мати значення NULL, унікальні обмеження можуть мати значення NULL. У таблиці є лише один первинний ключ, але може бути кілька унікальних обмежень. Первинний ключ автоматично створює кластеризований індекс, а унікальний ключ – ні.

36. Що таке об'єднання в SQL? Які існують типи об’єднань?

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

  • ВНУТРІШНЄ З'ЄДНАННЯ : Ключове слово INNER JOIN вибирає всі рядки з обох таблиць, якщо умова виконується. Це ключове слово створить набір результатів шляхом поєднання всіх рядків з обох таблиць, де виконується умова, тобто значення спільного поля буде однаковим.
  • ЛІВОГО ПРИЄДНАННЯ : Це об’єднання повертає всі рядки таблиці зліва від об’єднання та відповідні рядки для таблиці з правого боку об’єднання. Для рядків, для яких немає відповідного рядка з правого боку, набір результатів буде нульовим. LEFT JOIN також відомий як LEFT OUTER JOIN
  • ПРАВО ПРИЄДНУЙТЕСЯ : RIGHT JOIN схоже на LEFT JOIN. Це об’єднання повертає всі рядки таблиці з правого боку з’єднання та відповідні рядки для таблиці з лівого боку з’єднання. Для рядків, для яких немає відповідного рядка ліворуч, набір результатів міститиме значення null. RIGHT JOIN також відомий як RIGHT OUTER JOIN.
  • ПОВНЕ ПРИЄДНАННЯ : FULL JOIN створює набір результатів шляхом поєднання результатів LEFT JOIN і RIGHT JOIN. Набір результатів міститиме всі рядки з обох таблиць. Для рядків, для яких немає відповідності, набір результатів міститиме значення NULL.

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

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

38. Що таке каскадне обмеження On Delete?

Обмеження «ON DELETE CASCADE» використовується в MySQL для автоматичного видалення рядків із дочірньої таблиці, коли видаляються рядки з батьківської таблиці. Щоб дізнатися більше, прочитайте MySQL – обмеження «Видалити каскад». стаття.

39. Поясніть речення WITH у SQL?

Речення WITH забезпечує зв’язок способу визначення тимчасового зв’язку, визначення якого доступне лише для запиту, у якому зустрічається речення with. SQL застосовує предикати в реченні WITH після формування груп, тому можна використовувати агрегатні функції.

40. Які всі різні атрибути індексів?

Індексація має різні атрибути:

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

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

Курсор — це тимчасова пам’ять або тимчасова робоча станція. Він виділяється сервером бази даних під час виконання користувачем операцій DML над таблицею. Курсори використовуються для зберігання таблиць бази даних.

42. Запишіть різні типи зв'язків у SQL?

Існують різні відносини, а саме:

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

43. Що таке тригер?

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

44. Яка різниця між командами SQL DELETE і SQL TRUNCATE?

SQL DELETE

SQL TRUNCATE

Інструкція DELETE видаляє рядки по одному та записує запис у журнал транзакцій для кожного видаленого рядка. TRUNCATE TABLE видаляє дані, звільняючи сторінки даних, які використовуються для зберігання даних таблиці, і записує лише звільнення сторінок у журнал транзакцій.
Команда DELETE повільніша за команду identityTRUNCATE. Хоча команда TRUNCATE швидша за команду DELETE.
Щоб використовувати Delete, вам потрібен дозвіл DELETE для таблиці. Щоб використовувати Truncate для таблиці, нам потрібен принаймні дозвіл ALTER для таблиці.
Ідентифікація стовпця зберігає ідентичність після використання оператора DELETE у таблиці. Ідентифікатор стовпця скидається до початкового значення, якщо таблиця містить стовпець ідентифікатора.
Видалення можна використовувати з індексованими видами. Truncate не можна використовувати з індексованими представленнями.

45. Яка різниця між кластерним і некластерним індексом?

КЛАСТЕРНИЙ ІНДЕКС НЕКЛАСТЕРИЗОВАНИЙ ІНДЕКС
Кластерний індекс працює швидше. Некластерний індекс працює повільніше.
Кластерний індекс вимагає менше пам'яті для операцій. Некластерний індекс потребує більше пам’яті для операцій.
У кластерному індексі індекс є основними даними. У некластеризованому індексі індекс є копією даних.
Таблиця може мати лише один кластерний індекс. Таблиця може мати декілька некластеризованих індексів.
Кластерний індекс має властиву здатність зберігати дані на диску. Некластерний індекс не має властивої можливості зберігати дані на диску.
Кластерні індекси зберігають покажчики на блокування, а не на дані. Некластеризований індекс зберігає як значення, так і вказівник на фактичний рядок, який містить дані.
У кластеризованому індексі кінцеві вузли є фактичними даними. У некластеризованому індексі листові вузли не є фактичними даними, а містять лише включені стовпці.
У кластерному індексі кластерний ключ визначає порядок даних у таблиці. У некластеризованому індексі ключ індексу визначає порядок даних в індексі.
Кластерний індекс — це тип індексу, у якому записи таблиці фізично змінено відповідно до індексу. Некластеризований індекс — це особливий тип індексу, у якому логічний порядок індексу не відповідає фізичному збереженому порядку рядків на диску.

Для отримання додаткової інформації зверніться Різниця між кластеризованим індексом і некластеризованим індексом стаття.

46. ​​Що таке Live Lock?

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

47. Що таке Case WHEN у SQL?

Оператори керування є важливою частиною більшості мов, оскільки вони керують виконанням інших наборів операторів. Вони також є в SQL і повинні використовуватися для таких цілей, як фільтрація запитів і оптимізація запитів шляхом ретельного вибору кортежів, які відповідають нашим вимогам. У цій публікації ми досліджуємо оператор Case-Switch у SQL. Оператор CASE — це спосіб обробки логіки if/then у SQL.

Синтаксис 1:

CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] … [ELSE statement_list]END CASE

Синтаксис 2:

CASE WHEN умова пошуку THEN список_операцій [WHEN умова_пошуку THEN список_операцій] … [ELSE список_операцій]END CASE

Для отримання додаткової інформації прочитайте SQL | Виклад справи стаття.

Запитання та відповіді на співбесіді з розширеного SQL

48. Назвіть різні типи функцій обробки регістру, доступних у SQL.

У SQL доступні три типи функцій обробки регістру. Вони є,

  • НИЖЧИЙ : мета цієї функції — повернути рядок у нижньому регістрі. Він приймає рядок як аргумент і повертає рядок, перетворюючи його на нижній регістр.
    Синтаксис:

LOWER('рядок')

  • ВЕРХНЯ : мета цієї функції — повернути рядок у верхньому регістрі. Він приймає рядок як аргумент і повертає рядок, перетворюючи його на верхній регістр.
    Синтаксис:

UPPER('рядок')

  • INITCAP : Мета цієї функції — повернути рядок з першою літерою у верхньому регістрі, а рештою — у нижньому.
    Синтаксис:

INITCAP(‘рядок’)

49. Що таке локальні та глобальні змінні та їх відмінності?

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

Локальна змінна: Локальні змінні – це змінні, визначені у функціях. Вони мають локальну область видимості, що означає, що їх можна використовувати лише в межах функцій, які їх визначають.

50. Назвіть функцію, яка використовується для видалення пробілів у кінці рядка?

У SQL пробіли в кінці рядка видаляються функцією trim.

Синтаксис:

Обрізки , Де s — будь-який рядок.

51. Яка різниця між операторами TRUNCATE і DROP?

SQL DROP ВСИЧАТИ
Команда DROP використовується для видалення визначення таблиці та її вмісту. Тоді як команда TRUNCATE використовується для видалення всіх рядків із таблиці.
У команді DROP простір таблиці звільняється з пам’яті. Тоді як команда TRUNCATE не звільняє простір таблиці з пам'яті.
DROP — це команда DDL (мова визначення даних). Тоді як TRUNCATE також є командою DDL (мова визначення даних).
У команді DROP подання таблиці не існує. Під час виконання цієї команди існує перегляд таблиці.
У команді DROP обмеження цілісності буде видалено. Під час використання цієї команди обмеження цілісності не буде видалено.
У команді DROP пробіл скасування не використовується. У цій команді використовується пробіл для скасування, але менше, ніж DELETE.
Команда DROP виконується швидко, але викликає ускладнення. Хоча ця команда швидше, ніж DROP.

Для отримання додаткової інформації прочитайте Різницю між DROP і TRUNCATE в SQL стаття.

52. Який оператор використовується в запитах для зіставлення шаблону?

Оператор LIKE: використовується для отримання відфільтрованих даних шляхом пошуку певного шаблону в реченні where.

як дізнатися розмір монітора?

Синтаксис:

SELECT column1,column2 FROM table_name WHERE column_name LIKE шаблон;

LIKE: ім'я оператора

53. Визначте SQL Order оператором?

Оператор ORDER BY у SQL використовується для сортування отриманих даних за зростанням або спаданням відповідно до одного або кількох стовпців.

  • За умовчанням ORDER BY сортує дані в порядку зростання.
  • Ми можемо використовувати ключове слово DESC, щоб сортувати дані в порядку спадання, і ключове слово ASC, щоб сортувати дані в порядку зростання.

Щоб дізнатися більше, прочитайте SQL | СОРТУВАТИ ЗА стаття.

54. Поясніть оператор SQL Having?

HAVING використовується для визначення умови для групи або агрегатної функції, що використовується в операторі select. Речення WHERE вибирає перед групуванням. Речення HAVING вибирає рядки після групування. На відміну від речення HAVING, речення WHERE не може містити агрегатних функцій. Побачити Застереження проти де?

55. Поясніть оператор SQL AND OR на прикладі?

У SQL оператори AND & OR використовуються для фільтрації даних і отримання точних результатів на основі умов. Оператори І та АБО використовуються з пропозицією WHERE.

Ці два оператори називаються кон'юнктивні оператори .

  1. І оператор: Цей оператор відображає тільки ті записи, де обидві умови умова 1 і умова 2 мають значення Істина.
  2. Оператор АБО: Цей оператор відображає записи, у яких одна з умов умова 1 і умова 2 має значення Істина. Тобто, або умова1 має значення Істинна, або умова2 має значення Істина.

Для отримання додаткової інформації прочитайте SQL | І та АБО стаття операторів.

56. Визначити оператори МІЖ у SQL?

Умова SQL BETWEEN дозволяє легко перевірити, чи входить вираз у діапазон значень (включно). Значеннями можуть бути текст, дата або числа. Його можна використовувати в операторах SELECT, INSERT, UPDATE або DELETE. Умова SQL BETWEEN поверне записи, де вираз знаходиться в діапазоні значення1 і значення2.

Щоб дізнатися більше, прочитайте SQL | Оператор Between & I стаття.

57. Чому ми використовуємо команди Commit і Rollback?

КОМІТ ВІДКОТ
COMMIT постійно зберігає зміни, внесені поточною транзакцією. ROLLBACK скасування змін, внесених поточною транзакцією.
Транзакція не може скасувати зміни після виконання COMMIT. Транзакція досягає свого попереднього стану після ROLLBACK.
Коли транзакція успішна, застосовується COMMIT. Коли транзакція переривається, відбувається ROLLBACK.

Для отримання додаткової інформації прочитайте Різниця між фіксацією та відкатом у SQL стаття.

58. Що таке властивості КИСЛОТИ?

А угода це єдина логічна одиниця роботи, яка отримує доступ і, можливо, змінює вміст бази даних. Трансакції отримують доступ до даних за допомогою операцій читання та запису. Для підтримки узгодженості в базі даних до і після транзакції дотримуються певні властивості. Такі називаються КИСЛОТА властивості. КИСЛОТА (Атомарність, узгодженість, ізоляція, довговічність) — це набір властивостей, які гарантують надійну обробку транзакцій бази даних. Щоб дізнатися більше, прочитайте Властивості КИСЛОТИ в в СУБД стаття.

59. Значення NULL є такими ж, як нуль або пробіл?

У SQL нуль або пробіл можна порівняти з іншим нулем або пробілом. тоді як один нуль може не дорівнювати іншому нулю. null означає, що дані можуть не надаватися або їх немає.

60. Для чого потрібні групові функції в SQL?

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

Різні групові функції

1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>

Для отримання додаткової інформації прочитайте Агрегатні функції в SQL стаття.

61. Для чого потрібен оператор MERGE?

The ОБ'ЄДНАТИ команда в SQL насправді є комбінацією трьох операторів SQL: ВСТАВИТИ, ОНОВИТИ та ВИДАЛИТИ . Простими словами, оператор MERGE у SQL забезпечує зручний спосіб виконання всіх цих трьох операцій разом, що може бути дуже корисним, коли справа доходить до роботи з великими запущеними базами даних. Але на відміну від операторів INSERT, UPDATE і DELETE оператор MERGE вимагає вихідної таблиці для виконання цих операцій над необхідною таблицею, яка називається цільовою таблицею. Для отримання додаткової інформації прочитайте SQL | Заява MERGE стаття.

62. Як можна отримати загальні записи з двох таблиць?

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

Синтаксис:

ВИБРАТИ tablenmae1.colunmname, tablename2.columnnmae

ВІД tablenmae1

JOIN ім'я таблиці2

ON tablenmae1.colunmnam = tablename2.columnnmae

ORDER BY columnname;

Для отримання додаткової інформації та прикладів, будь ласка, прочитайте SQL | ВИБРАТИ дані з кількох таблиць стаття.

63. Які переваги функцій PL/SQL?

Переваги функцій PL / SQL наступні:

  • Ми можемо зробити один виклик до бази даних, щоб виконати блок операторів. Таким чином, це покращує продуктивність проти багаторазового запуску SQL. Це зменшить кількість викликів між базою даних і додатком.
  • Ми можемо розділити загальну роботу на невеликі модулі, що стає цілком керованим, а також покращує читабельність коду.
  • Це сприяє повторному використанню.
  • Це безпечно, оскільки код залишається в базі даних, таким чином приховуючи деталі внутрішньої бази даних від програми (користувача). Користувач здійснює лише виклик функцій PL/SQL. Таким чином, забезпечується безпека та приховування даних.

64. Що таке SQL-запит для відображення поточної дати?

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

Синтаксис:

ПОТОЧНА ДАТА

або

ПОТОЧНА ДАТА

65. Що таке вкладені тригери?

Тригер також може містити в собі логіку INSERT, UPDATE і DELETE, тому, коли тригер запускається через модифікацію даних, він також може спричинити іншу модифікацію даних, тим самим запускаючи інший тригер. Тригер, який містить у собі логіку модифікації даних, називається вкладеним тригером.

66. Як знайти доступну інформацію про обмеження в таблиці?

У SQL Server словник даних це набір таблиць бази даних, які використовуються для зберігання інформації про визначення бази даних. Можна використовувати ці словники даних, щоб перевірити обмеження на вже існуючу таблицю та змінити їх (якщо можливо). Щоб дізнатися більше, прочитайте SQL | Перевірка існуючого обмеження в таблиці стаття.

67. Як нам уникнути отримання повторюваних записів у запиті без використання ключового слова distinct?

DISTINCT корисний за певних обставин, але він має недоліки, оскільки він може збільшити навантаження на систему запитів для виконання сортування (оскільки їй потрібно порівняти набір результатів із самим собою, щоб видалити дублікати). Ми можемо видалити повторювані записи за допомогою таких параметрів:

  • Видаліть дублікати за допомогою номерів рядків.
  • Видаліть дублікати за допомогою самооб’єднання.
  • Видаліть дублікати за допомогою групи за.

Щоб дізнатися більше, прочитайте SQL | Видалення дублікатів без розрізнення статті.

68. Різниця між функціями NVL і NVL2?

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

NVL(вираз1, вираз2): У SQL NVL() перетворює нульове значення на фактичне значення. Можна використовувати типи даних: дата, символ і число. Типи даних повинні відповідати один одному. тобто вираз1 і вираз2 мають бути одного типу даних.

Синтаксис:

NVL (вираз1, вираз2)

NVL2(expr1,expr2,expr3): Функція NVL2 перевіряє перший вираз. Якщо перший вираз не нульовий, функція NVL2 повертає другий вираз. Якщо перший вираз дорівнює нулю, тоді повертається третій вираз, тобто якщо вираз1 не є нульовим, NVL2 повертає вираз2. Якщо вираз1 дорівнює нулю, NVL2 повертає вираз3. Аргумент expr1 може мати будь-який тип даних.

Синтаксис:

NVL2 (вираз1, вираз2, вираз3)

Щоб дізнатися більше, прочитайте Загальні функції SQL | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , і NANVL стаття.

69. Яка різниця між COALESCE() і ISNULL()?

COALESCE(): Функція COALESCE у SQL повертає перший ненульовий вираз серед своїх аргументів. Якщо всі вирази мають значення null, функція COALESCE поверне значення null.
Синтаксис:

SELECT column(s), CAOLESCE(expression_1,….,expression_n)FROM table_name;

ISNULL(): Функція ISNULL має різне використання в SQL Server і MySQL. У SQL Server функція ISNULL() використовується для заміни значень NULL.
Синтаксис:

SELECT column(s), ISNULL(column_name, value_to_replace)FROM table_name;

Щоб дізнатися більше, прочитайте SQL | Нульові функції стаття.

70. Назвіть оператор, який використовується в запиті для додавання двох рядків?

У SQL для додавання двох рядків використовується оператор Concentration із символом || .

Висновок

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

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