Uvod v SQL pridruži vprašanja in odgovore za intervju

SQL se sklicuje na strukturiran poizvedbeni jezik je jezik, ki je v celoti zasnovan za dostop do baz podatkov in je najbolj priljubljen pri drugih jezikih zbirke podatkov. S SQL lahko ustvarjamo tabele, spreminjamo podatke, posodabljamo in brišemo v skladu s poslovnimi zahtevami. Začnimo torej s pogosto zastavljenimi vprašanji SQL, ki se pridružujejo intervjujem.

Spodaj je pomemben sklop vprašanj za intervju SQL Joins, ki so postavljena v intervjuju

1. Kaj je povezava SQL in zakaj jo potrebujemo?

Odgovor:
Združitve SQL se uporabljajo za združevanje zapisov iz dveh ali več kot dveh tabel v sistemu baz podatkov. Združevanje se nanaša na kombiniranje polj iz dveh ali več kot dveh tabel z uporabo vrednosti, ki je skupna vsaki tabeli, kar pomaga pri zmanjšanju ponovljenih stolpcev in podatkov, shranjenih v stolpcih iste tabele. Potrebujemo pridruževanje, da dobimo podrobnosti o omenjenih podatkih in ustvari logično povezavo med dvema ali več tabelami. Za učinkovito pridobivanje podatkov je potrebno iz več tabel, zato potrebujemo pridruževanje SQL.

2. Katere so različne vrste povezav SQL? Dajte jim kratek uvod?

Odgovor:
V SQL je skupno 5 združenj, to so: -

a.Inner Pridružite se ali Pridružite se

To je nekakšna povezava, pri kateri dobimo vse zapise, ki ustrezajo pogoju v dveh ali več kot dveh tabelah, nato pa se zapisi v vseh tabelah, ki se niso ujemali, ne prikažejo. Prikaže samo ujemajoče se vnose dveh ali več tabel.

b.Zunaj Pridružite se

Obstajajo tri vrste zunanjih povezav:
1.LEFT Pridružite se ali LEFT Zunanji Pridružite se
Ta vrsta združevanja bo vrnila vse vrstice iz leve tabele v kombinaciji z ujemajočimi se zapisi ali vrsticami iz desne tabele.
Če ni nobenih stolpcev, ki se ujemajo, bo vrnil NULL vrednosti.

2. DESNO Pridružite se ali DESNO Zunanji Pridružite se
Ta vrsta združevanja bo vrnila vse vrstice iz desne tabele v kombinaciji z ujemajočimi se zapisi ali vrsticami iz leve tabele.
Če ni nobenih stolpcev, ki se ujemajo, bo vrnil NULL vrednosti.

3. Popolna pridružitev ali popolna zunanja združitev
Ta vrsta PRIDRŽI, poleg leve zunanje pridruževanja, združuje tudi desno zunanjo združitev. Prikaže zapise iz tabel, ko so izpolnjeni pogoji, in prikaže vrednost NULL, kadar ni ujemanja.

c.Natural Join
Ta vrsta združevanja ima dva pogoja: najprej iz rezultata odstrani podvojene zapise in drugič, da se združi v vseh stolpcih z enakim imenom zaradi enakosti.

d.Cross Pridružite se
Tovrstno združevanje daje kartezijanski izdelek dveh ali več kot dveh vključenih tabel.

e.Self-Join
Je skoraj enako kot notranji spoj, prej pa je spajanje mize k sebi.

3. Kaj so gnezdene povezave v SLQ?

Odgovor:
Ta vrsta združevanja deluje za vsak krog v zunanjem priključnem razmerju, nato pregleda celoten odnos notranjega spajanja in doda poljuben krog, ki ustreza pogoju spajanja, in rezultat se prikaže.

4. Kaj je združitev združevanja v SQL?

Odgovor:
Združitev združevanja (znana tudi kot sortiraj združevanje) je postopek združevanja, ki se uporablja pri uporabi sistema za upravljanje relacijskih podatkovnih baz. Osnovni trik postopka združevanja je najti vsako edinstveno vrednost atributa pridruživanja, nabor tupolov v vsaki zvezi, ki oddajajo to vrednost.

5. Kaj je hash Join v SQL? kako ga uporabiti?

Odgovor:
Ta vrsta združevanja ima dva vhoda kot vsi algoritmi za združevanje, prvi je vhod za vgradnjo, tj. Zunanja tabela, drugi pa vhod sonde, torej notranja tabela. Poizvedovalnik poizvedb razporedi vloge, tako da je manjši od zgornjih dveh vhodov vhod za gradnjo. Različica združevanja hash-ja lahko izvede dedukcijo, tj. Odstranitev in združevanje, kot je vsota (col1) id-skupina. Te posodobitve se uporabljajo samo za en vhod ter za dele vgradnje in sonde.
Spodnja poizvedba je primer hash pridruživanja: -

IZBERITE a. Ime kot AName, b. Ime kot BName
IZ P.Product str
PRIDRUŽITE SE P.ProductSub ps
ON p.ID = ps.ID
NAROČITE PO p.Name, ps. Ime

6. Kako naj bodo strukturirani podatki za izvajanje operacij združevanja v razmerju ena do več in kaj pa odnos med mnogimi?

Odgovor:
Ta je nekoliko zahtevnejši in je zanimivo vprašanje oblikovanja baze podatkov.
Na splošno so odnosi med enim in večkratni strukturirani z uporabo enega samega FOREIGNKEY. Upoštevajte zgornji primer strank in naročil:

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

To je razmerje med mnogimi, ker lahko ena stranka odda več naročil, vendar enega naročila ni mogoče dodeliti več strankam. Kot tak smo ga določili s preprostim tujim ključem v tabeli naročil, ki kaže na določen customer_id, in lahko v svojih SELECT poizvedbah dokaj enostavno uporabljamo klavzule JOIN.
Razmerja med mnogimi so nekoliko bolj zapletena. Kaj na primer, če bi imeli tabelo naročil in tabelo izdelkov z razmerjem med številnimi: vsako naročilo lahko vsebuje več izdelkov, kateri koli izdelek pa lahko dodelimo več naročilom. Kako bi strukturirali našo bazo podatkov?
Odgovor: uporabljamo vmesno tabelo za preslikavo z dvema TUJE KLJUČI. Upoštevajte naslednje:

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

Zgoraj smo ustvarili ločeno tabelo z imenom products_to_orders, ki preslika elemente na tabeli izdelkov na elemente v tabeli naročil. Vsaka vrstica v naši tabeli products_to_orders predstavlja eno kombinacijo naročil izdelkov, tako da lahko enemu naročilu dodelimo več izdelkov - en izdelek pa lahko dodelimo več naročilom.
V tem primeru moramo uporabiti dva stavka JOIN, da povežemo vse te tabele skupaj: eno za povezavo products_to_orders z izdelki in drugo za povezavo products_to_orders z naročili.

Priporočeni članek

To je bil osnovni vodnik za seznam vprašanj in odgovorov za seznam pridruži SQL, da lahko kandidat zlahka razbije ta vprašanja za intervju s SQL pridruži. Če želite izvedeti več, si oglejte tudi naslednje članke -

  1. Vprašanja in odgovori za intervju z TSQL
  2. Najbolj zastavljena vprašanja o intervjuju z NoSQL
  3. XML Intervju Vprašanja
  4. Vprašanja o ročnem preizkušanju intervjujev