Johdanto SQL-liittymään haastatteluun liittyviä kysymyksiä ja vastauksia

SQL-viittaus jäsenneltynä kyselykielenä on kieli, joka on suunniteltu kokonaan pääsyyn tietokantoihin, ja se on suosituin muiden tietokantojen kielten kanssa. SQL: n avulla voimme luoda taulukoita, muuttaa tietoja, päivittää ja poistaa liiketoimintavaatimusten mukaisesti. Joten aloitetaan usein kysytyillä SQL-liittymillä haastattelukysymyksiin.

Alla on tärkeä joukko SQL-liittymishaastattelukysymyksiä, joita kysytään haastattelussa

1. Mikä on SQL-liittymä ja miksi me tarvitsemme sitä?

Vastaus:
SQL-liittymiä käytetään kahden tai useamman taulukon tietueiden yhdistämiseen tietokantajärjestelmässä. Yhdistämisellä tarkoitetaan kahden tai useamman taulukon kenttien yhdistämistä käyttämällä jokaiselle taulukolle yhteistä arvoa, joka auttaa vähentämään saman taulukon sarakkeisiin tallennettuja toistuvia sarakkeita ja tietoja. Tarvitsemme liittymiä saadaksemme tietoja viitatusta tiedosta, ja se luo loogisen sidoksen kahden tai useamman taulukon välillä. On tarpeen saada tietoja tehokkaasti useista taulukoista, siksi tarvitsemme SQL-liittymiä.

2. Mitkä ovat erityyppiset SQL-liittymät? Anna lyhyt johdanto heille?

Vastaus:
SQL-liittymiä on yhteensä 5, ne ovat: -

a.Sisäinen liittyminen TAI Liity

Tämä on eräänlainen liittyminen, jossa saamme kaikki tietueet, jotka vastaavat ehtoa kahdessa tai useammassa taulukossa, ja sitten kaikkien taulukkojen tietueita, jotka eivät täsmää, ei näytetä. Se näyttää vain kahden tai useamman taulukon vastaavat merkinnät.

b.Outer Join

Ulkoisia liitoksia on kolme tyyppiä:
1.LEFT Liity tai Vasen Ulko Liity
Tällainen liittyminen palauttaa kaikki vasemman taulukon rivit yhdessä vastaavien tietueiden tai oikean taulukon rivien kanssa.
Jos vastaavia sarakkeita ei ole, se antaa NULL-arvot.

2.OIKEA liittyminen tai OIKEA ulkoista liittymistä
Tällainen liittyminen palauttaa kaikki rivit oikealta taulukolta yhdessä vastaavien tietueiden tai vasemman taulukon rivien kanssa.
Jos vastaavia sarakkeita ei ole, se antaa NULL-arvot.

3.Täydellinen liittyminen tai täydellinen ulkoinen liittyminen
Tällainen LIITTYMINEN yhdistää oikean ulkoisen liittymisen vasen ulkoisen liittymisen lisäksi. Se näyttää tietueet taulukoista, kun ehdot täyttyvät, ja näyttää NULL-arvon, kun vastaavuutta ei ole.

c.Luonnollinen liittyminen
Tällaisella yhdistämisellä on kaksi ehtoa: ensin se poistaa päällekkäiset tietueet tuloksesta ja toiseksi tämä yhdistäminen tehdään kaikille sarakkeille, joilla on sama nimi tasa-arvoisuudeksi.

d.Cross Join
Tällainen liitos antaa kahden tai useamman taulukon karteesisen tuotteen.

e.Self-Join
Se on melkein sama kuin sisäinen liitos, mutta pikemminkin se on pöydän liittyminen itseensä.

3. Mitkä ovat SLQ: n sisäkkäiset liittymät?

Vastaus:
Tällainen liitos toimii jokaiselle ulomman liitossuhteen parille, sitten se skannaa koko sisäisen liittymissuhteen ja lisää kaikki liitokset, jotka vastaavat liittymisehtoja, ja tulos näytetään.

4. Mikä on Merge Join SQL: ssä?

Vastaus:
Yhdistämisliittymä (tunnetaan myös nimellä lajittelu-yhdistämisliittymä) on liittymisprosessi, jota käytetään relaatiotietokannan hallintajärjestelmän sovelluksessa. Liittymisprosessin perimmäinen temppu on löytää liittymismääritteen jokainen yksilöivä arvo, tuplajoukot jokaisesta suhteesta, joka tuo arvon.

5. Mikä on hash liittyminen SQL: ään? kuinka käyttää sitä?

Vastaus:
Tällaisella liitoksella on kaksi sisääntuloa, kuten kaikilla liitosalgoritmeilla, ensimmäinen on rakennustulo eli ulompi taulukko ja toinen on koetinsyöttö eli sisätaulu. Kyselyn optimoija jakaa roolit siten, että pienempi kahdesta edellä mainitusta tulosta on rakennustulo. Hajautuksen liittymisvariantti voi tehdä deduktioinnin, ts. Poiston ja ryhmittelyn, kuten Sum (col1) Group-By Id. Näitä päivityksiä käytetään vain yhdelle tulolle ja sekä rakennus- että anturiosille.
Alla oleva kysely on esimerkki hash-liittymisestä: -

Valitse. Nimi AName, b. Nimi nimellä BName
LÄHETTÄJÄ P.Product s
LIITÄ P.ProductSub ps
PÄÄLLÄ p.ID = ps.ID
Tilauksen p.Nimi, ps. Nimi

6. Kuinka tiedot tulisi rakentaa liittymisoperaatioiden suorittamiseksi suhteessa yksi moniin ja entä monista moniin -suhteessa?

Vastaus:
Tämä on vähän vaikeampi ja on mielenkiintoinen tietokannan suunnittelukysymys.
Yleensä yksi-monelle -suhteet rakennetaan yhdellä ULKO-avaimella. Mieti esimerkkiä yllä olevista asiakkaista ja tilauksista:

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

Tämä on suhde henkilölle, koska yksi asiakas voi tehdä useita tilauksia, mutta yhtä tilausta ei voida antaa useammalle kuin yhdelle asiakkaalle. Sellaisenaan olemme määritellyt sen tilaukset-taulukossa yksinkertaisella vieraalla avaimella, joka osoittaa annettuun asiakas_idiin, ja voimme käyttää JOIN-lauseita SELECT-kyselyissamme melko helposti.
Monien väliset suhteet ovat hieman monimutkaisempia. Entä esimerkiksi jos meillä olisi tilaustaulukko ja tuotetaulukko, jolla olisi monisuhde suhteessa: mikä tahansa tilaus voi sisältää useita tuotteita ja mikä tahansa tuote voidaan osoittaa useille tilauksille. Kuinka rakentaisimme tietokantamme?
Vastaus: Käytämme välittäjäkarttataulua kahden ulkomaisen avaimen kanssa. Harkitse seuraavaa:

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

Yllä olemme luoneet erillisen taulukon nimeltä products_to_orders, joka kartoittaa tuotetiedot-taulukon kohteet tilaustaulukon kohteisiin. Jokainen rivit tuotteistamme_tilaukset-taulukossamme edustavat yhtä tuote-tilausyhdistelmää, jotta yhdelle tilaukselle voidaan määrittää useita tuotteita - ja yhdelle tuotteelle voidaan antaa useita tilauksia.
Tässä esimerkissä meidän on käytettävä kahta JOIN-käskyä linkittääksesi kaikki nämä taulukot yhteen: yhden linkittää products_to_orders tuotteisiin ja toisen linkittää products_to_orders tilauksiin.

Suositeltava artikkeli

Tämä on ollut perusopas luetteloon SQL-liittymähaastattelua koskevista kysymyksistä ja vastauksista, jotta ehdokas voi helposti hakea nämä SQL-liittymähaastattelukysymykset. Voit myös katsoa seuraavia artikkeleita saadaksesi lisätietoja -

  1. TSQL-haastattelua koskevat kysymykset ja vastaukset
  2. Suosituimmat NoSQL-haastattelukysymykset
  3. XML-haastattelukysymykset
  4. Manuaalinen testaushaastattelukysymykset