Úvod do SQL sa pripája k otázkam a odpovediam na rozhovor

SQL sa označuje ako štruktúrovaný dopytovací jazyk, ktorý je určený výlučne na prístup k databázam, a je najobľúbenejší v iných jazykoch databázy. S SQL môžeme vytvárať tabuľky, meniť dáta, aktualizovať a mazať podľa obchodných požiadaviek. Začnime teda často kladenými otázkami SQL, ktoré sa pripájajú k rozhovorom.

Nižšie sú uvedené dôležité otázky týkajúce sa rozhovorov s programom SQL Joins Interview, ktoré sú kladené na pohovor

1. Čo je to spojenie SQL a prečo ho potrebujeme?

odpoveď:
Pripojenia SQL sa používajú na kombinovanie záznamov z dvoch alebo viacerých tabuliek v databázovom systéme. Spojenie znamená kombinovanie polí z dvoch alebo viac ako dvoch tabuliek pomocou hodnoty, ktorá je spoločná pre každú z tabuliek, čo pomáha pri znižovaní opakovaných stĺpcov a údajov uložených v stĺpcoch tej istej tabuľky. Potrebujeme spojenia, aby sme získali podrobnosti o referenčných údajoch a vytvorilo to logické prepojenie medzi dvoma alebo viacerými tabuľkami. Je potrebné efektívne získavať údaje z viacerých tabuliek, preto potrebujeme pripojenie SQL.

2. Aké sú rôzne typy spojení SQL? Poskytnite im krátky úvod?

odpoveď:
Celkom je 5 spojení v SQL, sú: -

a.Inner Pripojte sa ALEBO Pripojte sa

Toto je druh spojenia, kde získame všetky záznamy, ktoré zodpovedajú stavu v dvoch alebo viacerých tabuľkách, a potom sa záznamy vo všetkých tabuľkách, ktoré sa nezhodujú, nezobrazia. Zobrazuje iba zodpovedajúce záznamy dvoch alebo viacerých tabuliek.

b.Outer Join

Existujú tri typy pripojenia Outer:
1.LEFT Pripojiť alebo ĽAVÉ Vonkajšie pripojenie
Tento druh spojenia vráti všetky riadky z ľavej tabuľky v kombinácii so zodpovedajúcimi záznamami alebo riadkami z pravej tabuľky.
Ak nie sú k dispozícii žiadne zodpovedajúce stĺpce, vráti NULL hodnoty.

2. PRAVÉ pripojenie alebo PRAVÉ vonkajšie pripojenie
Tento druh spojenia vráti všetky riadky z pravej tabuľky v kombinácii so zodpovedajúcimi záznamami alebo riadkami z ľavej tabuľky.
Ak nie sú k dispozícii žiadne zodpovedajúce stĺpce, vráti NULL hodnoty.

3. Úplné pripojenie alebo úplné pripojenie von
Tento druh spojenia spája Right Outer Join okrem Left Outer Join. Keď sú splnené podmienky, zobrazuje záznamy z tabuliek a ak neexistuje žiadna zhoda, zobrazuje hodnotu NULL.

c.Prírodné pripojenie
Tento typ spojenia má dve podmienky: najprv odstráni duplicitné záznamy z výsledku a po druhé sa spojenie uskutoční vo všetkých stĺpcoch s rovnakým menom kvôli rovnosti.

d.Cross Pripojte sa
Tento druh spojenia dáva karteziánsky produkt z dvoch alebo viac ako dvoch zúčastnených tabuliek.

e.Self-Pripojiť
Je to takmer rovnaké ako vnútorné spojenie, ale skôr to je spojenie tabuľky k sebe samému.

3. Čo sú vnorené pripojenia v SLQ?

odpoveď:
Tento druh spojenia funguje pre každý zväzok vo vonkajšom spojovacom vzťahu, potom prehľadá celý vzťah medzi vnútorným spojením a pridá akýkoľvek zväzok, ktorý sa zhoduje so stavom spojenia, a zobrazí sa výsledok.

4. Čo je zlúčenie zlúčenia v SQL?

odpoveď:
Zlúčenie spojenia (tiež známe ako spojenie triedenia a zlúčenia) je proces spojenia, ktorý sa používa pri aplikácii systému správy relačných databáz. Základným trikom procesu spojenia je nájsť každú jedinečnú hodnotu atribútu join, množiny tuplov v každej relácii, ktorá na výstup privádza túto hodnotu.

5. Čo je to hash pripojiť sa k SQL? ako sa to používa?

odpoveď:
Tento druh spojenia má dva vstupy ako všetky algoritmy spojenia, prvý je vstup zostavenia tj vonkajšia tabuľka a druhý vstup sondy, tj vnútorná tabuľka. Optimalizátor dotazov priraďuje roly tak, že menší z vyššie uvedených dvoch vstupov je vstup na zostavenie. Variant hash join môže vykonať deduplikáciu, tj odstránenie a zoskupenie, ako napríklad Sum (col1) Group-By Id. Tieto aktualizácie sa používajú iba pre jeden vstup a pre zostavenie aj časti sondy.
Nižšie uvedený dotaz je príkladom hash spojenia: -

VYBERTE a. Meno ako AName, b. Meno ako BName
Z produktu P. str
JOIN P.ProductSub ps
ON p.ID = ps.ID
OBJEDNÁVKA P.Name, ps. názov

6. Ako by mali byť údaje štruktúrované tak, aby vykonávali operácie spájania v rámci vzťahu jeden k mnohým a čo vzťah s mnohými?

odpoveď:
Toto je trochu zložitejšie a je to zaujímavá otázka návrhu databázy.
Spravidla sú vzťahy medzi mnohými štruktúrované pomocou jediného FOREIGNKEY. Zoberme si náš príklad zákazníkov a objednávok vyššie:

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

Je to vzťah jeden ku viacerým, pretože jeden zákazník môže zadať viac objednávok, ale jednu objednávku nemožno priradiť viac ako jednému zákazníkovi. Ako taký sme ho definovali jednoduchým cudzím kľúčom v tabuľke objednávok, ktorý ukazuje na daný customer_id, a klauzuly JOIN môžeme v našich SELECT dotazoch používať pomerne ľahko.
Vzťahy medzi mnohými sú o niečo zložitejšie. Napríklad, čo keby sme mali tabuľku objednávok a tabuľku produktov so vzťahom medzi mnohými: ľubovoľná objednávka môže obsahovať viac produktov a ľubovoľný produkt môže byť priradený k viacerým objednávkam. Ako by sme štruktúru našej databázy?
Odpoveď: používame sprostredkovateľskú mapovaciu tabuľku s dvoma ZAHRANIČNÝMI KĽÚČMI. Zvážte nasledujúce:

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

Vyššie sme vytvorili samostatnú tabuľku s názvom products_to_orders, ktorá mapuje položky v tabuľke produktov na položky v tabuľke objednávok. Každý riadok v našej tabuľke products_to_orders predstavuje jednu kombináciu produkt-objednávka, takže k jednej objednávke môžete priradiť viacero produktov - a k viacerým objednávkam môžete priradiť jeden produkt.
V tomto príklade musíme použiť dva príkazy JOIN na prepojenie všetkých týchto tabuliek dohromady: jeden na prepojenie produktov products_to_orders s produktmi a jeden na prepojenie produktov products_to_orders s objednávkami.

Odporúčaný článok

Toto bol základný návod na zoznam otázok a odpovedí na otázky týkajúce sa rozhovoru SQL Joins, aby uchádzač mohol ľahko vykonať zásah do týchto otázok na otázky SQL Joins Interview. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. Otázky a odpovede týkajúce sa rozhovoru TSQL
  2. Najčastejšie kladené otázky na pohovor NoSQL
  3. XML Interview Otázky
  4. Ručné testovanie otázky rozhovoru