Úvod do SQL se připojuje k otázkám a odpovědím na rozhovor

SQL se označuje jako Strukturovaný dotazovací jazyk je jazyk, který je určen výhradně pro přístup k databázím, a je nejoblíbenější u jiných databázových jazyků. S SQL můžeme vytvářet tabulky, měnit data, aktualizovat a mazat podle obchodních požadavků. Začněme tedy často kladenými otázkami SQL, které se připojují k rozhovorům.

Níže jsou uvedeny důležité soubory otázek rozhovoru SQL Joins Interview, které jsou položeny v rozhovoru

1. Co je spojení SQL a proč to potřebujeme?

Odpovědět:
Spojení SQL se používají ke kombinování záznamů ze dvou nebo více než dvou tabulek v databázovém systému. Spojení označuje kombinaci polí ze dvou nebo více než dvou tabulek pomocí hodnoty, která je společná pro každou z tabulek, což pomáhá redukovat opakované sloupce a data uložená ve sloupcích stejné tabulky. Potřebujeme spojení, abychom získali podrobnosti o odkazovaných datech a vytváří logické propojení mezi dvěma nebo více tabulkami. Je nutné získat data efektivně z více tabulek, proto potřebujeme spojení SQL.

2. Jaké jsou různé typy spojení SQL? Stručně se s nimi seznámíte?

Odpovědět:
V SQL je celkem 5 spojení, jsou to: -

a.Inner Připojte se NEBO Připojte se

Toto je druh spojení, kde získáme všechny záznamy, které odpovídají stavu ve dvou nebo více než dvou tabulkách, a pak se záznamy ve všech tabulkách, které se neshodují, nezobrazí. Zobrazí pouze odpovídající záznamy dvou nebo více tabulek.

b.Outer Join

Existují tři typy připojení Outer:
1.LEFT Join nebo LEFT Outer Join
Tento druh spojení vrátí všechny řádky z levé tabulky v kombinaci s odpovídajícími záznamy nebo řádky z pravé tabulky.
Pokud neexistují žádné odpovídající sloupce, vrátí NULL hodnoty.

2.RIGHT Join nebo RIGHT Outer Join
Tento druh spojení vrátí všechny řádky z pravé tabulky v kombinaci s odpovídajícími záznamy nebo řádky z levé tabulky.
Pokud neexistují žádné odpovídající sloupce, vrátí NULL hodnoty.

3. Úplné spojení nebo úplné vnější připojení
Tento druh JOIN kombinuje Right Outer Join kromě Left Outer Join. Zobrazuje záznamy z tabulek, když jsou splněny podmínky, a zobrazuje hodnotu NULL, když neexistuje shoda.

c.Natural join
Tento typ spojení má dvě podmínky, nejprve odstraní duplicitní záznamy z výsledku a druhý toto spojení bude provedeno na všech sloupcích se stejným názvem pro dosažení rovnosti.

d.Cross Připojte se
Tento druh spojení dává kartézský součin dvou nebo více než dvou zúčastněných tabulek.

e.Self-Join
Je to téměř stejné jako vnitřní spojení, ale spíše je to spojení stolu k sobě samému.

3. Co jsou Nested Joins v SLQ?

Odpovědět:
Tento druh spojení funguje pro každý tupl ve vnějším spojovacím vztahu, pak prohledá celý vztah vnitřního spojení a přidá jakýkoli tupl, který odpovídá podmínce spojení, a zobrazí se výsledek.

4. Co je sloučení slučování v SQL?

Odpovědět:
Sloučení spojení (také známé jako spojení typu třídění a sloučení) je proces spojení, který se používá v aplikaci systému správy relačních databází. Základním trikem procesu spojení je najít každou jedinečnou hodnotu atributu spojení, sadu n-tic v každé relaci, která tuto hodnotu vydává.

5. Co je to hash Připojte se k SQL? jak to použít?

Odpovědět:
Tento druh spojení má dva vstupy jako všechny spojovací algoritmy, první je sestavovací vstup, tj. Vnější tabulka, a druhý je vstup sondy, tj. Vnitřní tabulka. Optimalizátor dotazů přiřadí role tak, že menší z výše uvedených dvou vstupů je vstup sestavení. Varianta hash join může provádět deduplikaci, tj. Odebrání a seskupení, jako je Sum (col1) Group-By Id. Tyto aktualizace se používají pouze pro jeden vstup a pro sestavení i části sondy.
Níže uvedený dotaz je příkladem hashového spojení: -

Vybrat. Jméno jako AName, b. Název jako BName
Z P.Product
JOIN P.ProductSub ps
ON p.ID = ps.ID
OBJEDNÁVKA p.name, ps. název

6. Jak by měla být data strukturována tak, aby prováděla operace spojování v rámci vztahu jeden-k-mnoha a co vztah s mnoha uživateli?

Odpovědět:
Toto je trochu složitější a je to zajímavá otázka návrhu databáze.
Obecně platí, že vzájemné vztahy jsou strukturovány pomocí jediného FOREIGNKEY. Zvažte náš příklad zákazníků a objednávek výše:

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)
);

Jedná se o vztah jeden k mnoha, protože jeden zákazník může zadat více objednávek, ale jednu objednávku nelze přiřadit více než jednomu zákazníkovi. Jako takový jsme ji definovali jednoduchým cizím klíčem v tabulce objednávek směřující k danému customer_id a do našich SELECT dotazů můžeme poměrně snadno použít klauzule JOIN.
Vzájemné vztahy jsou o něco složitější. Například, co kdybychom měli tabulku objednávek a tabulku produktů se vztahem mnoho k mnoha: libovolná objednávka může obsahovat více produktů a libovolný produkt lze přiřadit k více objednávkám. Jak bychom strukturovali naši databázi?
Odpověď: používáme zprostředkující mapovací tabulku se dvěma FOREIGN KEY. Zvažte následující:

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)
);

Výše jsme vytvořili samostatnou tabulku nazvanou products_to_orders, která mapuje položky v tabulce produktů na položky v tabulce objednávek. Každý řádek v naší tabulce products_to_orders představuje jednu kombinaci produkt-objednávka, takže k jedné objednávce lze přiřadit více produktů - a k více objednávkám lze přiřadit jeden produkt.
V tomto příkladu musíme použít dva příkazy JOIN k propojení všech těchto tabulek dohromady: jeden pro propojení products_to_orders s produkty a druhý pro propojení products_to_orders s objednávkami.

Doporučený článek

Toto byl základní průvodce seznamem otázek a odpovědí na otázky spojené se seznamem SQL Joins. Další informace naleznete také v následujících článcích -

  1. TSQL Interview Otázky a odpovědi
  2. Nejčastější dotazy k rozhovoru NoSQL
  3. XML Interview Otázky
  4. Rozhovor s otázkami ručního testování