Вступ до SQL приєднується до питань інтерв'ю та відповідей

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

Нижче наведено важливий набір запитань щодо інтерв'ю SQL Joins, які задаються в інтерв'ю

1. Що таке об'єднання SQL і навіщо він нам потрібен?

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

2. Які різні типи приєднання SQL? Дайте короткий вступ до них?

Відповідь:
Всього в SQL є 5 приєднань, це: -

a.Inner Приєднуйтесь або Приєднуйтесь

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

b.Відхід приєднуйтесь

Існує три типи зовнішніх з'єднань:
1.LEFT приєднатися або ліворуч зовнішнє приєднання
Цей тип з'єднання поверне всі рядки з лівої таблиці в поєднанні з відповідними записами або рядками з правої таблиці.
Якщо немає відповідних стовпців, то вони повернуть значення NULL.

2. ПРАВО Приєднуйтесь або ВПРАВО Зовнішнє приєднання
Цей тип з'єднання поверне всі рядки з правої таблиці в поєднанні з відповідними записами або рядками з лівої таблиці.
Якщо немає відповідних стовпців, то вони повернуть значення NULL.

3. Повне приєднання або повне зовнішнє приєднання
Цей тип ПРИЄДНАЙТЕСЯ поєднує правий зовнішній приєднання на додаток до лівого зовнішнього приєднання. Він відображає записи з таблиць при дотриманні умов та відображає значення NULL, коли немає відповідності.

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

d.Cross Join
Цей вид з'єднання дає декартовий продукт з двох або більше двох задіяних таблиць.

e.Self-Join
Це майже те саме, що внутрішнє з'єднання, але, скоріше, це приєднання таблиці до себе.

3. Що таке вкладені об'єднання в SLQ?

Відповідь:
Цей тип з'єднання працює для кожного кордону у зовнішньому відношенні з'єднання, тоді він сканує весь внутрішній зв'язок і додає будь-який кортеж, що відповідає умові з'єднання, і результат буде показаний.

4. Що таке об'єднання об'єднань у SQL?

Відповідь:
Об'єднання об'єднань (також відоме як сортування об'єднання) - процес з'єднання, який використовується у застосуванні системи управління реляційними базами даних. Основна хитрість процесу з'єднання - це знайти кожне унікальне значення атрибуту приєднання, набір кортежів у кожному відношенні, що виводить це значення.

5. Що таке хеш-приєднання в SQL? як ним користуватися?

Відповідь:
Цей тип з'єднання має два входи, як і всі алгоритми з'єднання, перший - вхід збірки, тобто зовнішня таблиця, а другий - вхід зонда, тобто внутрішня таблиця. Оптимізатор запитів розподіляє ролі таким чином, що менший із вищевказаних входів є входом збірки. Варіант приєднання хешу може зробити дедупликацію, тобто видалення та групування, наприклад, Sum (col1) Group-By Id. Ці оновлення використовуються лише для одного входу, а також для складання та зондування.
Нижче наведений запит - приклад хеш-з'єднання: -

ВИБІР a. Ім'я як AName, b. Ім'я як BName
ВІД P.Product p
ПРИЄДНАЙТЕ P.ProductSub ps
ON p.ID = ps.ID
ЗАМОВЛЕННЯ по p.Name, ps. Ім'я

6. Як мають бути структуровані дані для виконання операцій приєднання в режимі "один до багатьох", а що стосується "багато на багато"?

Відповідь:
Це трохи складніше і цікаве питання дизайну бази даних.
Як правило, відносини «один-багато» структуруються за допомогою єдиного FOREIGNKEY. Розглянемо наш приклад клієнтів та замовлень вище:

CREATE TABLE customers (
customer_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
first_name VARCHAR(255) NOT NULL,
last_name VARCHAR(255) NOT NULL,
email VARCHAR(255) NOT NULL,
);

CREATE TABLE orders (
order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
customer_id INT NOT NULL,
order_placed_date DATE NOT NULL,
FOREIGN KEY (customer_id) REFERENCES customers (customer_id)
);

Це відносини "один на багато", оскільки один клієнт може розміщувати кілька замовлень, але одне замовлення не може бути призначене для більш ніж одного клієнта. Таким чином, ми визначили його за допомогою простого зовнішнього ключа в таблиці замовлень, що вказує на заданий customer_id, і ми можемо досить легко використовувати пропозиції JOIN у наших SELECT запитах.
Відносини багатьох до багатьох трохи складніші. Наприклад, що робити, якщо у нас була таблиця замовлень та таблиця продуктів із співвідношенням багато-багато: будь-яке замовлення може містити кілька продуктів, а будь-який товар може бути призначений для кількох замовлень. Як би ми структурували нашу базу даних?
Відповідь: ми використовуємо посередницьку таблицю відображення з двома ІНТЕРНЕТИМИ КЛЮЧАМИ. Розглянемо наступне:

CREATE TABLE orders (
order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_placed_date DATE NOT NULL,
);

CREATE TABLE products (
product_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
name VARCHAR(255) NOT NULL,
price INT NOT NULL
);

CREATE TABLE products_to_orders (
product_to_order_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
order_id INT NOT NULL,
product_id INT NOT NULL,
FOREIGN KEY (order_id) REFERENCES orders(order_id),
FOREIGN KEY (product_id) REFERENCES products(product_id)
);

Вище ми створили окрему таблицю під назвою products_to_orders, яка відображає елементи на таблиці продуктів на елементи в таблиці замовлень. Кожен рядок у нашій таблиці products_to_orders представляє одну комбінацію замовлень продукту, так що одному продукту можна присвоїти декілька продуктів, а одному продукту можна призначити кілька замовлень.
У цьому прикладі нам потрібно використовувати два оператори JOIN, щоб з'єднати всі ці таблиці разом: один для зв’язку products_to_orders з продуктами та один для зв’язку products_to_orders із замовленнями.

Рекомендована стаття

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

  1. Питання та відповіді щодо інтерв'ю TSQL
  2. Популярні запитання щодо інтерв'ю NoSQL
  3. Питання для інтерв'ю XML
  4. Питання для інтерв'ю вручну