Introduktion till SQL sammanfogar intervjufrågor och svar

SQL hänvisar till som Structured Query Language är ett språk som är helt designat för åtkomst till databaser, och det är det mest populära med andra databasespråk. Med SQL kan vi skapa tabeller, ändra data, uppdatera och ta bort enligt affärskravet. Så låt oss börja med de ofta ställda SQL ansluter intervjufrågor.

Nedan visas de viktiga uppsättningarna av SQL Joins Interview Questions som ställs i en intervju

1. Vad är en SQL-anslutning och varför behöver vi den?

Svar:
SQL-sammanfogningar används för att kombinera poster från två eller fler än två tabeller i ett databassystem. En koppling avser att kombinera fälten från två eller fler än två tabeller genom att använda ett värde som är gemensamt för var och en av tabellerna som hjälper till att minska de upprepade kolumnerna och data lagrade i kolumnerna i samma tabell. Vi behöver sammanfogningar för att få information om referensdata och det skapar en logisk bindning mellan två eller flera tabeller. Det är nödvändigt att få data effektivt från flera tabeller, det är därför vi behöver SQL-anslutningar.

2. Vilka är de olika typerna av SQL-sammanfogningar? Ge en kort introduktion till dem?

Svar:
Det finns totalt 5 sammanfogningar i SQL, de är: -

a.Inner Join OR Join

Det här är ett slags sammanfogning där vi får alla poster som matchar villkoret i två eller fler än två tabeller och sedan visas inte posterna i alla tabeller som inte matchar. Den visar bara matchande poster i två eller flera tabeller.

b.Uttre gå med

Det finns tre typer av yttre skarvar:
1. VÄNSTER Anslut eller VÄNSTER Yttre anslutning
Denna typ av sammanfogning returnerar alla rader från vänsterbord i kombination med matchande poster eller rader från höger tabell.
Om det inte finns matchande kolumner returnerar det NULL-värden.

2.RIGHT Gå med eller HÖGER Ytterkoppling
Denna typ av sammanfogning returnerar alla rader från det högra bordet i kombination med matchande poster eller rader från vänsterbordet.
Om det inte finns matchande kolumner returnerar det NULL-värden.

3.Full anslutning eller full yttre anslutning
Denna typ av JOIN kombinerar Right Outer Join förutom Left Yuter Join. Den visar poster från tabellerna när villkoren är uppfyllda och visar NULL-värdet när det inte finns någon matchning.

c.Natural Join
Den här typen av koppling har två villkor, först tar den bort duplikatposter från resultatet och för det andra kommer denna koppling att göras på alla kolumner med samma namn för jämlikhet.

d.Cross Gå med
Denna typ av sammanfogning ger den kartesiska produkten av de två eller fler än två inblandade bord.

e.Self-Gå
Det är nästan samma som den inre sammanfogningen, utan snarare är det en sammanfogning av ett bord till sig själv.

3. Vad är Nested Joins i SLQ?

Svar:
Den här typen av sammanfogningar fungerar för varje tupel i den yttre sammanslutningsrelationen, sedan skannar den hela innerförbindningsrelationen och lägger till alla tuplar som matchar kopplingsvillkoret och resultatet kommer att visas.

4. Vad är Merge Join i SQL?

Svar:
Merge join (även känd som sort-merge join) är en kopplingsprocess som används i tillämpningen av ett relationsdatabashanteringssystem. Det grundläggande tricket för en sammanfogningsprocess är att hitta varje unikt värde för attributet att gå med, uppsättningen av tuples i varje förhållande som ger det värdet.

5. Vad är en hash Gå med i SQL? hur man använder det?

Svar:
Denna typ av sammanfogning har två ingångar som alla sammanfogningsalgoritmer, först är inmatningsingången dvs yttre bord och den andra är sondinmatning dvs. inre tabell Frågeoptimeraren tilldelar rollerna så att den minsta av ovanstående två ingångar är build-ingången. Varianten av hash-sammanfogning kan göra deduplikering, dvs borttagning och gruppering, till exempel Sum (col1) Group-By Id. Dessa uppdateringar används endast för en ingång och för både bygg- och sondelar.
Nedanstående fråga är ett exempel på en hash-anslutning: -

Välj en. Namn som AName, b. Namn som BName
FRÅN P.Produkt sid
GÅ MED P.ProductSub ps
ON p.ID = ps.ID
BESTÄLLNING AV p. Namn, ps. namn

6. Hur data bör struktureras för att utföra Gå med i en relation-en-många-relation och hur är det med en många-till-många-relation?

Svar:
Den här är lite svårare och är en intressant fråga om databasdesign.
I allmänhet är en-till-många-relationer strukturerade med hjälp av en enda FOREIGNKEY. Tänk på vårt exempel på kunder och beställningar ovan:

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

Detta är en en-till-många-relation eftersom en kund kan göra flera order, men en beställning kan inte tilldelas fler än en kund. Som sådant har vi definierat det med en enkel utländsk nyckel i ordertabellen som pekar på en viss kund_id, och vi kan använda JOIN-klausuler i våra SELECT-frågor ganska enkelt.
Många-till-många-relationer är lite mer komplicerade. Till exempel, vad händer om vi hade en beställningstabell och en produkttabell med ett förhållande mellan många och många: varje beställning kan innehålla flera produkter och varje produkt kan tilldelas flera beställningar. Hur skulle vi strukturera vår databas?
Svaret: vi använder en mellanliggande kartläggningstabell med två utländska nycklar. Tänk på följande:

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

Ovan har vi skapat en separat tabell som heter products_to_orders som kartlägger objekt på produkttabellen till artiklar på ordertabellen. Varje rad i tabellen products_to_orders representerar en kombination av produktordrar så att flera produkter kan tilldelas en beställning - och en enda produkt kan tilldelas flera beställningar.
I det här exemplet måste vi använda två JOIN-uttalanden för att länka alla dessa tabeller: en för att länka products_to_orders till produkter, och en för att länka products_to_orders med beställningar.

Rekommenderad artikel

Detta har varit en grundläggande guide till Lista över intervallfrågor och svar på SQL-sammanfogningar så att kandidaten enkelt kan slå samman dessa SQL-anslutningsintervjufrågor. Du kan också titta på följande artiklar för att lära dig mer -

  1. TSQL-intervjufrågor och svar
  2. De högsta ställda frågorna om NoSQL-intervjuer
  3. XML-intervjufrågor
  4. Manuella testintervjuer