logo

SQL-intervjufrågor

SQL är ett standarddatabasspråk som används för att komma åt och manipulera data i databaser. Det står för Structured Query Language och utvecklades av IBM Computer Scientists på 1970-talet. Genom att köra frågor kan SQL skapa, uppdatera, ta bort och hämta data i databaser som MySQL, Oracle, PostgreSQL, etc. Sammantaget är SQL ett frågespråk som kommunicerar med databaser.

I den här artikeln tar vi upp 70+ SQL-intervjufrågor med svar frågade i SQL-utvecklarintervjuer på MAANG och andra högbetalda företag. Oavsett om du är en fräschare eller en erfaren proffs med 2, 5 eller 10 års erfarenhet, ger den här artikeln dig allt förtroende du behöver för att klara din nästa SQL-intervju.



Innehållsförteckning

SQL-intervjufrågor och svar för nybörjare

1. Vad är SQL?

SQL står för Structured Query Language. Det är ett språk som används för att interagera med databasen, dvs för att skapa en databas, för att skapa en tabell i databasen, för att hämta data eller uppdatera en tabell i databasen, etc. SQL är en ANSI (American National Standards Institute) standard. Med SQL kan vi göra många saker. Till exempel – vi kan köra frågor, vi kan infoga poster i en tabell, kan uppdatera poster, kan skapa en databas, kan skapa en tabell, kan radera en tabell, etc.



2. Vad är en databas?

A Databas definieras som en strukturerad form av datalagring i en dator eller en samling av data på ett organiserat sätt och kan nås på olika sätt. Det är också samlingen av scheman, tabeller, frågor, vyer etc. Databaser hjälper oss att enkelt lagra, komma åt och manipulera data som finns på en dator. Databashanteringssystemet tillåter en användare att interagera med databasen.

3. Stöder SQL funktioner för programmeringsspråk?

Det är sant att SQL är ett språk, men det stöder inte programmering eftersom det inte är ett programmeringsspråk, det är ett kommandospråk. Vi har inga villkorssatser i SQL som för loopar eller om...annars, vi har bara kommandon som vi kan använda för att fråga, uppdatera, radera, etc. data i databasen. SQL tillåter oss att manipulera data i en databas.

4. Vad är skillnaden mellan CHAR och VARCHAR2 datatyp i SQL?

Båda dessa datatyper används för tecken, men varchar2 används för teckensträngar med variabel längd, medan char används för teckensträngar med fast längd. Till exempel , om vi anger typen som char(5) kommer vi inte att tillåtas lagra en sträng av någon annan längd i denna variabel, men om vi anger typen av denna variabel som varchar2(5) kommer vi att tillåtas lagra strängar av variabel längd. Vi kan lagra en sträng med längden 3 eller 4 eller 2 i denna variabel.



5. Vad menar du med datadefinitionsspråk?

Datadefinitionsspråk eller DDL tillåter exekvering av frågor som CREATE, DROP och ALTER. Det är de frågorna som definierar data.

6. Vad menar du med datamanipulationsspråk?

Datamanipulation Language eller DML används för att komma åt eller manipulera data i databasen. Det låter oss utföra funktionerna nedan:

  • Infoga data eller rader i en databas
  • Ta bort data från databasen
  • Hämta eller hämta data
  • Uppdatera data i en databas.

7. Vad är vyn i SQL?

Visningar i SQL är ett slags virtuellt bord. En vy har också rader och kolumner som de är på en riktig tabell i databasen. Vi kan skapa en vy genom att välja fält från en eller flera tabeller som finns i databasen. En vy kan antingen ha alla rader i en tabell eller specifika rader baserat på vissa villkor.

SQL-satsen CREATE VIEW används för att skapa vyer.

Grundläggande syntax:

CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE condition;    view_name  : Name for the View   table_name  : Name of the table   condition  : Condition to select rows>

8. Vad menar du med främmande nyckel?

A Främmande nyckel är ett fält som unikt kan identifiera varje rad i en annan tabell. Och denna begränsning används för att specificera ett fält som en främmande nyckel. Det är detta fält som pekar på primärnyckeln för en annan tabell. Detta skapar vanligtvis en slags länk mellan de två tabellerna.

Betrakta de två tabellerna som visas nedan:

Order

O_ID BESTÄLLNINGSNR C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Kunder

C_ID NAMN ADRESS
1 RAMESH DELHI
2 VISST NOIDA
3 DHARMESH GURGAON

Som vi tydligt kan se är fältet C_ID i ordertabellen den primära nyckeln i kundens tabell, det vill säga det identifierar unikt varje rad i tabellen kunder. Därför är det en främmande nyckel i ordertabellen.

Syntax:

CREATE TABLE Orders ( O_ID int NOT NULL, ORDER_NO int NOT NULL, C_ID int, PRIMARY KEY (O_ID), FOREIGN KEY (C_ID) REFERENCES Customers(C_ID) )>

9. Vad är tabell och fält?

Tabell: En tabell har en kombination av rader och kolumner. Rader kallas poster och kolumner kallas fält. I MS SQL Server designas tabellerna i databasen och schemanamnen.

Fält: I DBMS kan ett databasfält definieras som – en enskild information från en post.

10. Vad är den primära nyckeln?

A Primärnyckel är en av kandidatnycklarna. En av kandidatnycklarna väljs ut som den viktigaste och blir primärnyckeln. Det kan inte finnas mer än en primärnyckel i en tabell.

11. Vad är en standardbegränsning?

De STANDARD begränsning används för att fylla en kolumn med standardvärden och fasta värden. Värdet kommer att läggas till alla nya poster när inget annat värde anges.

12. Vad är normalisering?

Det är en process för att analysera de givna relationsschemana baserat på deras funktionella beroenden och primärnycklar för att uppnå följande önskvärda egenskaper:

  1. Minimera redundans
  2. Minimera insättning, radering och uppdatering avvikelser

Relationsscheman som inte uppfyller egenskaperna bryts upp i mindre relationsscheman som skulle kunna uppfylla önskvärda egenskaper.

13. Vad är denormalisering?

Denormalisering är en databasoptimeringsteknik där vi lägger till redundant data i en eller flera tabeller. Detta kan hjälpa oss att undvika kostsamma kopplingar i en relationsdatabas. Observera att denormalisering inte betyder att man inte gör normalisering. Det är en optimeringsteknik som tillämpas efter normalisering.

I en traditionell normaliserad databas lagrar vi data i separata logiska tabeller och försöker minimera redundant data. Vi kan sträva efter att endast ha en kopia av varje databit i databasen.

14. Vad är en fråga?

En SQL query används för att hämta de nödvändiga uppgifterna från databasen. Det kan dock finnas flera SQL-frågor som ger samma resultat men med olika effektivitetsnivåer. En ineffektiv fråga kan tömma databasresurserna, minska databashastigheten eller leda till att andra användare förlorar tjänsten. Så det är mycket viktigt att optimera frågan för att få bästa databasprestanda.

15. Vad är en underfråga?

I SQL, en Underfråga kan enkelt definieras som en fråga i en annan fråga. Med andra ord kan vi säga att en underfråga är en fråga som är inbäddad i WHERE-satsen i en annan SQL-fråga.

java sträng jämförelse

16. Vilka är de olika operatorerna tillgängliga i SQL?

Det finns tre operatorer tillgängliga i SQL, nämligen:

  1. Aritmetiska operatorer
  2. Logiska operatörer
  3. Jämförelseoperatörer

17. Vad är en begränsning?

Restriktioner är reglerna som vi kan tillämpa på typen av data i en tabell. Det vill säga, vi kan ange gränsen för vilken typ av data som kan lagras i en viss kolumn i en tabell med hjälp av begränsningar. För mer information, se SQL|Begränsningar artikel.

18. Vad är dataintegritet?

Dataintegritet definieras som att data som finns i databasen är både korrekta och konsekventa. För detta ändamål måste data som lagras i databasen uppfylla vissa typer av procedurer (regler). Data i en databas måste vara korrekta och konsekventa. Så, data som lagras i databasen måste uppfylla vissa typer av procedurer (regler). DBMS tillhandahåller olika sätt att implementera sådana typer av begränsningar (regler). Detta förbättrar dataintegriteten i en databas. För mer information, se skillnaden mellan datasäkerhet och dataintegritet artikel.

19. Vad är automatisk ökning?

Ibland, när vi skapar en tabell, har vi inte en unik identifierare i tabellen, varför vi har svårt att välja primärnyckel. För att lösa ett sådant problem måste vi manuellt tillhandahålla unika nycklar till varje post, men detta är ofta också en tråkig uppgift. Så vi kan använda funktionen Auto-ökning som automatiskt genererar ett numeriskt primärnyckelvärde för varje ny post som infogas. Funktionen Auto Increment stöds av alla databaser. För mer information, se SQL Auto Increment artikel.

20. Vad är MySQL-kollation?

En MySQL-kollation är en väldefinierad uppsättning regler som används för att jämföra tecken i en viss teckenuppsättning genom att använda deras motsvarande kodning. Varje teckenuppsättning i MySQL kan ha mer än en sortering och har åtminstone en standardsortering. Två teckenuppsättningar kan inte ha samma sortering. För mer information, se Vad är sortering och teckenuppsättning i MySQL? artikel.

21. Vad är användardefinierade funktioner?

Vi kan använda användardefinierade funktioner i PL/SQL eller Java för att tillhandahålla funktionalitet som inte är tillgänglig i SQL eller SQL inbyggda funktioner. SQL-funktioner och användardefinierade funktioner kan visas var som helst, det vill säga varhelst ett uttryck förekommer.

Till exempel kan den användas i:

  • Välj en lista med SELECT-satser.
  • Villkor för WHERE-klausulen.
  • ANSLUTA EFTER, BESTÄLLA EFTER, BÖRJA MED och GRUPPERA EFTER
  • VALUES-satsen i INSERT-satsen.
  • SET-satsen i UPDATE-satsen.

22. Vilka är alla typer av användardefinierade funktioner?

Användardefinierade funktioner tillåter människor att definiera sina egna T-SQL-funktioner som kan acceptera 0 eller fler parametrar och returnera ett enda skalärt datavärde eller en tabelldatatyp.
Olika typer av användardefinierade funktioner som skapats är:

1. Skalär användardefinierad funktion En skalär användardefinierad funktion returnerar en av de skalära datatyperna. Text-, bild- och tidsstämpeldatatyper stöds inte. Det här är den typ av användardefinierade funktioner som de flesta utvecklare är vana vid i andra programmeringsspråk. Du skickar in 0 till många parametrar och du får ett returvärde.

2. Inline tabell-värde användardefinierad funktion En användardefinierad funktion för Inline Table-Value returnerar en tabelldatatyp och är ett exceptionellt alternativ till en vy eftersom den användardefinierade funktionen kan skicka parametrar till ett T-SQL-valkommando och i huvudsak ge oss ett parametriserat, icke -Uppdaterbar vy av de underliggande tabellerna.

3. Användardefinierad funktion med flera påståenden Tabell-Värde En användardefinierad funktion för Multi-Statement Table-Value returnerar en tabell och är också ett exceptionellt alternativ till en vy, eftersom funktionen kan stödja flera T-SQL-satser för att bygga slutresultatet där vyn är begränsad till en enda SELECT-sats. Möjligheten att skicka parametrar till ett TSQL-valkommando eller en grupp av dem ger oss också möjligheten att i huvudsak skapa en parametriserad, icke-uppdateringsbar vy av data i de underliggande tabellerna. Inom kommandot skapa funktion måste du definiera tabellstrukturen som returneras. Efter att ha skapat den här typen av användardefinierad funktion kan den användas i FROM-satsen i ett T-SQL-kommando, till skillnad från beteendet som hittas när man använder en lagrad procedur som också kan returnera postuppsättningar.

23. Vad är en lagrad procedur?

Lagrade procedurer skapas för att utföra en eller flera DML-operationer på databaser. Det är inget annat än en grupp av SQL-satser som accepterar viss input i form av parametrar och utför någon uppgift och kanske inte returnerar ett värde. För mer information, se vår Lagrade procedurer i SQL artikel.

24. Vad är aggregerade och skalära funktioner?

För att utföra operationer på data har SQL många inbyggda funktioner, de är kategoriserade i två kategorier och ytterligare underkategoriserade i sju olika funktioner under varje kategori. Kategorierna är:

  • Aggregerade funktioner: Dessa funktioner används för att utföra operationer från värdena i kolumnen och ett enda värde returneras.
  • Skalära funktioner: Dessa funktioner är baserade på användarinmatning, även dessa returnerar ett enda värde.

För mer information, läs SQL | Funktioner (aggregat- och skalärfunktioner) artikel.

25. Vad är ett ALIAS-kommando?

Alias ​​är de tillfälliga namnen som ges till en tabell eller kolumn för en viss SQL-fråga. Det används när namnet på en kolumn eller tabell används annat än dess ursprungliga namn, men det ändrade namnet är endast tillfälligt.

  • Alias ​​skapas för att göra tabell- eller kolumnnamn mer läsbara.
  • Bytet av namn är bara en tillfällig ändring och tabellnamnet ändras inte i den ursprungliga databasen.
  • Alias ​​är användbara när tabell- eller kolumnnamn är stora eller inte särskilt läsbara.
  • Dessa är att föredra när det finns mer än en tabell involverad i en fråga.

För mer information, läs SQL | Alias artikel.

26. Vad är kommandon Union, minus och Interact?

Set Operations i SQL eliminerar dubbletter av tupler och kan endast tillämpas på de relationer som är unionskompatibla. Uppsättningsoperationer tillgängliga i SQL är:

  • Ställ in Union
  • Ställ in korsning
  • Ställ in skillnad

UNION Operation: Denna operation inkluderar alla tupler som finns i någon av relationerna. Till exempel: För att hitta alla kunder som har ett lån eller ett konto eller båda i en bank.

 SELECT CustomerName FROM Depositor   UNION   SELECT CustomerName FROM Borrower ;>

Den fackliga operationen eliminerar automatiskt dubbletter. Om alla dubbletter ska behållas, används UNION ALL istället för UNION.

INTERSECT Operation: Denna operation inkluderar de tuplar som finns i båda relationerna. Till exempel: För att hitta de kunder som har ett lån samt ett konto i banken:

 SELECT CustomerName FROM Depositor   INTERSECT  SELECT CustomerName FROM Borrower ;>

Intersect-operationen eliminerar automatiskt dubbletter. Om alla dubbletter ska behållas, används INTERSECT ALL istället för INTERSECT.

FÖRUTOM för drift: Denna operation inkluderar tupler som finns i ett förhållande men som inte bör finnas i ett annat förhållande. Till exempel: För att hitta kunder som har ett konto men inget lån på banken:

 SELECT CustomerName FROM Depositor   EXCEPT  SELECT CustomerName FROM Borrower ;>

Operationen Except eliminerar automatiskt dubbletterna. Om alla dubbletter ska behållas, används EXCEPT ALL istället för EXCEPT.

27. Vad är en T-SQL?

T-SQL är en förkortning för Transact Structure Query Language. Det är en produkt från Microsoft och är en förlängning av SQL Language som används för att interagera med relationsdatabaser. Det anses fungera bäst med Microsoft SQL-servrar. T-SQL-satser används för att utföra transaktionerna till databaserna. T-SQL har enorm betydelse eftersom all kommunikation med en instans av en SQL-server görs genom att skicka Transact-SQL-satser till servern. Användare kan också definiera funktioner med T-SQL.

Typer av T-SQL-funktioner är:

  • Aggregat funktioner.
  • Ranking funktioner. Det finns olika typer av rankningsfunktioner.
  • Raduppsättning fungera.
  • Skalär funktioner.

28. Vad är ETL i SQL?

ETL är en process inom Data Warehousing och den står för Extrahera , Omvandla, och Ladda . Det är en process där ett ETL-verktyg extraherar data från olika datakällsystem, omvandlar dem i iscensättningsområdet och sedan till sist laddar det in i Data Warehouse-systemet. Dessa är tre databasfunktioner som är inbyggda i ett verktyg för att dra ut data från en databas och lägga in data i en annan databas.

29. Hur kopierar man tabeller i SQL?

Ibland behöver vi i SQL skapa en exakt kopia av en redan definierad (eller skapad) tabell. MySQL gör att du kan utföra denna operation. Eftersom vi kan behöva sådana dubbletter av tabeller för att testa data utan att ha någon inverkan på den ursprungliga tabellen och data som lagras i den.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;>

För mer information, vänligen läs Kloningstabell in de MySQL artikel.

30. Vad är SQL-injektion?

SQL-injektion är en teknik som används för att utnyttja användardata genom inmatning av webbsidor genom att injicera SQL-kommandon som satser. I grund och botten kan dessa uttalanden användas för att manipulera applikationens webbserver av illvilliga användare.

  • SQL-injektion är en kodinjektionsteknik som kan förstöra din databas.
  • SQL-injektion är en av de vanligaste teknikerna för webbhackning.
  • SQL-injektion är placeringen av skadlig kod i SQL-satser, via inmatning av webbsidor.

För mer information, läs SQL | Injektion artikel.

31. Kan vi inaktivera en trigger? Om ja, hur?

Ja, vi kan inaktivera en trigger i PL/SQL. Om överväg att tillfälligt inaktivera en utlösare och ett av följande villkor är sant:

  • Ett objekt som utlösaren refererar till är inte tillgängligt.
  • Vi måste utföra en stor dataladdning och vill att den ska gå snabbt utan att utlösa triggers.
  • Vi laddar in data i tabellen som utlösaren gäller.
  • Vi inaktiverar en trigger med ALTER TRIGGER-satsen med alternativet DISABLE.
  • Vi kan inaktivera alla triggers som är associerade med en tabell samtidigt genom att använda ALTER TABLE-satsen med alternativet DISABLE ALL TRIGGERS.

Mellanliggande SQL-intervjufrågor och svar

32. Vilka är skillnaderna mellan SQL och PL/SQL?

Några vanliga skillnader mellan SQL och PL/SQL är som visas nedan:

SQL

PL/SQL

SQL är ett exekverings- eller kommandospråk

PL/SQL är ett komplett programmeringsspråk

mysql visa alla användare

SQL är ett dataorienterat språk.

PL/SQL är ett processspråk

SQL är mycket deklarativt till sin natur.

PL/SQL har en processuell karaktär.

Den används för att manipulera data.

Den används för att skapa applikationer.

Vi kan köra en sats åt gången i SQL

Vi kan exekvera block av satser i PL/SQL

SQL talar om för databaser, vad ska man göra?

PL/SQL berättar för databaser hur man gör.

Vi kan bädda in SQL i PL/SQL

Vi kan inte bädda in PL/SQL i SQL

33. Vad är skillnaden mellan operatorerna BETWEEN och IN i SQL?

MELLAN: De MELLAN operatorn används för att hämta rader baserat på ett värdeintervall.
Till exempel,

SELECT * FROM Students  WHERE ROLL_NO BETWEEN 20 AND 30;>

Denna fråga kommer att välja alla dessa rader från tabellen. Elever där värdet på fältet ROLL_NO ligger mellan 20 och 30.
I: De I operatorn används för att kontrollera om det finns värden i specifika uppsättningar.
Till exempel,

SELECT * FROM Students  WHERE ROLL_NO IN (20,21,23);>

Den här frågan kommer att välja alla de rader från tabellen Studenter där värdet på fältet ROLL_NO är antingen 20 eller 21 eller 23.

34. Skriv en SQL-fråga för att hitta namnen på anställda som börjar med 'A'.

LIKE-operatorn för SQL används för detta ändamål. Den används för att hämta filtrerad data genom att söka efter ett visst mönster i where-satsen.
Syntaxen för att använda LIKE är,

VÄLJ kolumn1,kolumn2 FRÅN tabellnamn WHERE kolumnnamn LIKE-mönster;

TYCKA OM: operatörens namn

mönster: exakt värde extraherat från mönstret för att få relaterade data i resultatuppsättningen.

Den obligatoriska frågan är:

SELECT * FROM Employees WHERE EmpName like 'A%' ;>

Du kan hänvisa till den här artikeln WHERE klausul för mer information om LIKE-operatören.

35. Vad är skillnaden mellan primärnyckel och unika begränsningar?

Primärnyckeln kan inte ha NULL-värden, de unika begränsningarna kan ha NULL-värden. Det finns bara en primärnyckel i en tabell, men det kan finnas flera unika begränsningar. Den primära nyckeln skapar det klustrade indexet automatiskt men den unika nyckeln gör det inte.

36. Vad är en join i SQL? Vilka typer av sammanfogningar finns det?

En SQL Join-sats används för att kombinera data eller rader från två eller flera tabeller baserat på ett gemensamt fält mellan dem. Olika typer av anslutningar är:

  • INRE KOPPLING : Nyckelordet INNER JOIN väljer alla rader från båda tabellerna så länge som villkoret är uppfyllt. Detta nyckelord kommer att skapa resultatuppsättningen genom att kombinera alla rader från båda tabellerna där villkoret uppfyller, dvs. värdet på det gemensamma fältet kommer att vara detsamma.
  • VÄNSTER GÅ MED : Denna sammanfogning returnerar alla rader i tabellen på vänster sida av sammanfogningen och matchande rader för tabellen på höger sida av sammanfogningen. För de rader för vilka det inte finns någon matchande rad på höger sida kommer resultatuppsättningen att vara null. LEFT JOIN är också känd som LEFT OUTER JOIN
  • HÖGER GÅ MED : RIGHT JOIN liknar LEFT JOIN. Denna sammanfogning returnerar alla rader i tabellen på höger sida av sammanfogningen och matchande rader för tabellen på vänster sida av sammanfogningen. För de rader för vilka det inte finns någon matchande rad på vänster sida kommer resultatuppsättningen att innehålla null. RIGHT OUTER JOIN kallas även RIGHT OUTER JOIN.
  • FULL GÅ MED : FULL JOIN skapar resultatuppsättningen genom att kombinera resultaten av både LEFT JOIN och RIGHT JOIN. Resultatuppsättningen kommer att innehålla alla rader från båda tabellerna. För de rader som det inte finns någon matchning för kommer resultatuppsättningen att innehålla NULL-värden.

37. Vad är ett index?

Ett databasindex är en datastruktur som förbättrar hastigheten för datahämtningsoperationer på en databastabell till priset av ytterligare skrivningar och användningen av mer lagringsutrymme för att upprätthålla den extra kopian av data. Data kan endast lagras i en ordning på en disk. För att stödja snabbare åtkomst enligt olika värden, önskas en snabbare sökning som en binär sökning efter olika värden. För detta ändamål skapas index på tabeller. Dessa index behöver extra utrymme på disken, men de tillåter snabbare sökning enligt olika ofta sökta värden.

38. Vad är kaskadbegränsningen vid radering?

En 'ON DELETE CASCADE'-begränsning används i MySQL för att ta bort raderna från den underordnade tabellen automatiskt när raderna från den överordnade tabellen raderas. För mer information, vänligen läs MySQL – På Ta bort kaskadbegränsning artikel.

39. Förklara WITH-sats i SQL?

WITH-satsen tillhandahåller ett sätt-förhållande för att definiera en temporär relation vars definition endast är tillgänglig för den fråga där with-satsen förekommer. SQL tillämpar predikat i WITH-satsen efter att grupper har bildats, så aggregerade funktioner kan användas.

40. Vilka är alla olika attribut för index?

Indexeringen har olika attribut:

  • Åtkomsttyper : Detta syftar på typen av åtkomst som värdebaserad sökning, intervallåtkomst osv.
  • Åtkomsttid : Det hänvisar till den tid som krävs för att hitta ett visst dataelement eller en uppsättning element.
  • Insättningstid : Det hänvisar till den tid det tar att hitta rätt utrymme och infoga nya data.
  • Raderingstid : Det tar tid att hitta ett objekt och ta bort det samt uppdatera indexstrukturen.
  • Space Overhead : Det hänvisar till det extra utrymme som krävs av indexet.

41. Vad är en markör?

Markören är ett tillfälligt minne eller en tillfällig arbetsstation. Den tilldelas av databasservern vid tidpunkten för utförande av DML-operationer på bordet av användaren. Markörer används för att lagra databastabeller.

42. Skriv ner olika typer av relationer i SQL?

Det finns olika förhållanden, nämligen:

något för bfs
  • En-till-en relation.
  • En till många relationer.
  • Många till ett förhållande.
  • Självrefererande förhållande.

43. Vad är en trigger?

Utlösaren är en sats som ett system körs automatiskt när det sker någon modifiering av databasen. I en trigger anger vi först när triggern ska exekveras och sedan vilken åtgärd som ska utföras när triggern exekveras. Triggers används för att specificera vissa integritetsbegränsningar och referensrestriktioner som inte kan specificeras med hjälp av SQL-begränsningsmekanismen.

44. Vad är skillnaden mellan SQL DELETE och SQL TRUNCATE kommandon?

SQL DELETE

SQL TRUNCATE

DELETE-satsen tar bort rader en i taget och registrerar en post i transaktionsloggen för varje raderad rad. TRUNCATE TABLE tar bort data genom att avallokera datasidorna som används för att lagra tabelldata och registrerar endast sidavallokeringarna i transaktionsloggen.
DELETE-kommandot är långsammare än identityTRUNCATE-kommandot. Medan TRUNCATE-kommandot är snabbare än DELETE-kommandot.
För att använda Delete behöver du ta bort behörighet på bordet. För att använda Truncate på ett bord behöver vi åtminstone ALTER-behörighet på bordet.
Kolumnens identitet behåller identiteten efter att ha använt DELETE Statement på bordet. Kolumnens identitet återställs till dess startvärde om tabellen innehåller en identitetskolumn.
Raderingen kan användas med indexerade vyer. Truncate kan inte användas med indexerade vyer.

45. Vad är skillnaden mellan kluster- och icke-klusterindex?

KLUSTERAD INDEX ICKE-KLUSTERAD INDEX
Det klustrade indexet är snabbare. Det icke-klustrade indexet är långsammare.
Det klustrade indexet kräver mindre minne för operationer. Det icke-klustrade indexet kräver mer minne för operationer.
I ett klustrat index är indexet huvuddata. I det icke-klustrade indexet är indexet en kopia av data.
En tabell kan bara ha ett klustrat index. En tabell kan ha flera icke-klustrade index.
Det klustrade indexet har en inneboende förmåga att lagra data på disken. Det icke-klustrade indexet har inte den inneboende förmågan att lagra data på disken.
Klustrade index lagrar pekare för att blockera inte data. Det icke-klustrade indexet lagrar både värde och en pekare till den faktiska raden som innehåller data.
I klustrade indexbladsnoder är själva data själva. I ett icke-klustrade index är lövnoder inte själva data, utan de innehåller bara inkluderade kolumner.
I Clustered-indexet definierar Clustered-nyckeln ordningen för data i tabellen. I det icke-klustrade indexet definierar indexnyckeln ordningen för data i indexet.
Ett klusterindex är en typ av index där tabellposter fysiskt omordnas för att matcha indexet. Ett icke-klustrade index är en speciell typ av index där den logiska indexordningen inte matchar den fysiskt lagrade ordningen för raderna på disken.

För mer information, se Skillnaden mellan Clustered index och No-Clustered index artikel.

46. ​​Vad är ett Live Lock?

Livelock uppstår när två eller flera processer kontinuerligt upprepar samma interaktion som svar på förändringar i de andra processerna utan att göra något användbart arbete. Dessa processer är inte i vänteläge och de körs samtidigt. Detta skiljer sig från ett dödläge eftersom i ett dödläge är alla processer i vänteläge.

47. Vad är Case WHEN i SQL?

Kontrollsatser utgör en viktig del av de flesta språk eftersom de kontrollerar exekveringen av andra uppsättningar av satser. Dessa finns också i SQL och bör utnyttjas för användningar som frågefiltrering och frågeoptimering genom noggrant urval av tuplar som matchar våra krav. I det här inlägget utforskar vi Case-Switch-satsen i SQL. CASE-satsen är SQLs sätt att hantera if/då-logik.

Syntax 1:

CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] … [ELSE statement_list]END CASE

Syntax 2:

CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] … [ELSE statement_list] AVSLUTA CASE

För mer information, läs SQL | Fallutlåtande artikel.

Avancerade SQL-intervjufrågor och svar

48. Nämn olika typer av fallmanipuleringsfunktioner tillgängliga i SQL.

Det finns tre typer av fallmanipuleringsfunktioner tillgängliga i SQL. Dom är,

  • LÄGRE : Syftet med denna funktion är att returnera strängen med gemener. Den tar en sträng som ett argument och returnerar strängen genom att konvertera den till gemener.
    Syntax:

LOWER('sträng')

  • ÖVRE : Syftet med den här funktionen är att returnera strängen med versaler. Den tar en sträng som ett argument och returnerar strängen genom att konvertera den till versaler.
    Syntax:

UPPER('sträng')

  • INITCAP : Syftet med den här funktionen är att returnera strängen med den första bokstaven i versaler och resten av bokstäverna med gemener.
    Syntax:

INITCAP('sträng')

49. Vilka är lokala och globala variabler och deras skillnader?

Global variabel: Däremot är globala variabler variabler som definieras utanför funktioner. Dessa variabler har global omfattning, så de kan användas av alla funktioner utan att skicka dem till funktionen som parametrar.

Lokal variabel: Lokala variabler är variabler som definieras inom funktioner. De har lokal räckvidd, vilket innebär att de endast kan användas inom de funktioner som definierar dem.

50. Namnge funktionen som används för att ta bort mellanslag i slutet av en sträng?

I SQL tas mellanslagen i slutet av strängen bort av en trimfunktion.

Syntax:

Trim(ar) , Där s är en valfri sträng.

51. Vad är skillnaden mellan TRUNCATE- och DROP-satser?

SQL DROP STYMPA
Kommandot DROP används för att ta bort tabelldefinitionen och dess innehåll. Medan kommandot TRUNCATE används för att ta bort alla rader från tabellen.
I kommandot DROP frigörs tabellutrymme från minnet. Medan kommandot TRUNCATE inte frigör tabellutrymmet från minnet.
DROP är ett DDL-kommando (Data Definition Language). Medan TRUNCATE också är ett DDL-kommando (Data Definition Language).
I kommandot DROP finns ingen vy av tabellen. Medan i detta kommando finns en vy av tabellen.
I kommandot DROP kommer integritetsbegränsningar att tas bort. Medan i detta kommando kommer integritetsbegränsningar inte att tas bort.
I kommandot DROP används inte ångra utrymme. Medan i det här kommandot används ångra utrymme men mindre än DELETE.
DROP-kommandot är snabbt att utföra men ger upphov till komplikationer. Även om detta kommando är snabbare än DROP.

För mer information, läs Skillnaden mellan SLIPPA och TRUNKERA in de SQL artikel.

52. Vilken operator används i frågor för mönstermatchning?

LIKE-operatorn: Den används för att hämta filtrerad data genom att söka efter ett visst mönster i where-satsen.

Syntax:

VÄLJ kolumn1,kolumn2 FRÅN tabellnamn WHERE kolumnnamn LIKE-mönster;

LIKE: operatörens namn

53. Definiera SQL Order med satsen?

ORDER BY-satsen i SQL används för att sortera hämtad data i antingen stigande eller fallande enligt en eller flera kolumner.

  • Som standard sorterar ORDER BY data in stigande ordning.
  • Vi kan använda nyckelordet DESC för att sortera data i fallande ordning och nyckelordet ASC för att sortera i stigande ordning.

För mer information, läs SQL | SORTERA EFTER artikel.

54. Förklara SQL Have-sats?

HAVING används för att ange ett villkor för en grupp eller en aggregatfunktion som används i select-satsen. WHERE-satsen väljs före gruppering. HAVING-satsen väljer rader efter gruppering. Till skillnad från HAVING-satsen kan WHERE-satsen inte innehålla aggregerade funktioner. Ser Att ha vs var klausul?

55. Förklara SQL AND OR-satsen med ett exempel?

I SQL används AND & OR-operatorerna för att filtrera data och få exakta resultat baserat på förhållanden. AND- och OR-operatorerna används med WHERE-satsen.

Dessa två operatörer kallas konjunktiva operatorer .

  1. OCH Operatör: Denna operatör visar endast de poster där båda villkoren villkor 1 och villkor 2 utvärderas till True.
  2. ELLER Operatör: Den här operatorn visar poster där antingen ett av villkoren villkor 1 och villkor 2 utvärderas till True. Det är, antingen villkor1 är sant eller villkor2 är sant.

För mer information läs SQL | OCH och ELLER operatörsartikel.

56. Definiera BETWEEN-satser i SQL?

SQL BETWEEN-villkoret låter dig enkelt testa om ett uttryck ligger inom ett värdeintervall (inklusive). Värdena kan vara text, datum eller siffror. Den kan användas i en SELECT-, INSERT-, UPDATE- eller DELETE-sats. SQL BETWEEN-villkoret returnerar de poster där uttrycket ligger inom intervallet värde1 och värde2.

För mer information, läs SQL | Between & I-operatör artikel.

57. Varför använder vi Commit och Rollback-kommandon?

BEGÅ RULLA TILLBAKA
COMMIT sparar permanent ändringarna som gjorts av den aktuella transaktionen. ROLLBACK ångra ändringarna som gjorts av den aktuella transaktionen.
Transaktionen kan inte ångra ändringar efter genomförd COMMIT. Transaktionen når sitt tidigare tillstånd efter ROLLBACK.
När transaktionen är framgångsrik tillämpas COMMIT. När transaktionen avbryts sker ROLLBACK.

För mer information läs Skillnaden mellan Commit och Rollback i SQL artikel.

58. Vad är ACID-egenskaper?

A transaktion är en enda logisk arbetsenhet som får åtkomst till och eventuellt modifierar innehållet i en databas. Transaktioner kommer åt data med läs-och-skriv-operationer. För att bibehålla konsistens i en databas, före och efter transaktionen, följs vissa egenskaper. Dessa kallas SYRA egenskaper. SYRA (Atomicitet, Konsistens, Isolation, Durability) är en uppsättning egenskaper som garanterar att databastransaktioner bearbetas tillförlitligt. För mer information, läs SYRA egenskaper i de DBMS artikel.

gnista handledning

59. Är NULL-värden samma som noll eller ett blanksteg?

I SQL kan noll eller tomt utrymme jämföras med ett annat noll eller tomt utrymme. medan en noll kanske inte är lika med en annan noll. null betyder att data kanske inte tillhandahålls eller att det inte finns några data.

60. Vad är behovet av gruppfunktioner i SQL?

Inom databashantering är gruppfunktioner, även känd som aggregerade funktioner, en funktion där värdena för flera rader grupperas som indata på vissa kriterier för att bilda ett enda värde av mer signifikant betydelse.

Olika gruppfunktioner

1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>

För mer information läs Aggregera funktioner i SQL artikel.

61. Vad är behovet av ett MERGE-uttalande?

De SAMMANFOGA kommando i SQL är faktiskt en kombination av tre SQL-satser: INFOGA, UPPDATERA och DELETE . Med enkla ord ger MERGE-satsen i SQL ett bekvämt sätt att utföra alla dessa tre operationer tillsammans, vilket kan vara till stor hjälp när det gäller att hantera stora körande databaser. Men till skillnad från INSERT-, UPDATE- och DELETE-satserna kräver MERGE-satsen en källtabell för att utföra dessa operationer på den nödvändiga tabellen som kallas en måltabell. För mer information, läs SQL | MERGE-uttalande artikel.

62. Hur kan du hämta vanliga poster från två tabeller?

Nedanstående uttalande kan användas för att hämta data från flera tabeller, så vi måste använda join för att få data från flera tabeller.

Syntax :

VÄLJ tabellnamn1.kolumnnamn, tabellnamn2.kolumnnamn

FRÅN tablenmae1

JOIN tabellnamn2

PÅ tablenmae1.colunmnam = tablename2.columnnmae

ORDER BY kolumnnamn;

För mer information och exempel, läs SQL | VÄLJ data från flera tabeller artikel.

63. Vilka är fördelarna med PL/SQL-funktioner?

Fördelarna med PL / SQL-funktioner är följande:

  • Vi kan göra ett enda anrop till databasen för att köra ett block med uttalanden. Det förbättrar alltså prestandan mot att köra SQL flera gånger. Detta kommer att minska antalet samtal mellan databasen och applikationen.
  • Vi kan dela upp det övergripande arbetet i små moduler vilket blir ganska hanterbart, vilket också förbättrar kodens läsbarhet.
  • Det främjar återanvändbarhet.
  • Det är säkert eftersom koden stannar i databasen, vilket döljer interna databasdetaljer från applikationen (användaren). Användaren ringer endast PL/SQL-funktionerna. Därför säkerställs säkerhet och datadöljning.

64. Vad är SQL-frågan för att visa det aktuella datumet?

CURRENT_DATE återgår till det aktuella datumet. Denna funktion returnerar samma värde om den exekveras mer än en gång i en enskild sats, vilket innebär att värdet är fast, även om det är en lång fördröjning mellan hämtning av rader i en markör.

Syntax:

DAGENS DATUM

eller

DAGENS DATUM

65. Vad är kapslade utlösare?

En trigger kan också innehålla INSERT-, UPDATE- och DELETE-logik inom sig själv, så när triggern aktiveras på grund av datamodifiering kan den också orsaka en annan datamodifiering och därmed utlösa en annan trigger. En utlösare som innehåller datamodifieringslogik i sig själv kallas en kapslad utlösare.

66. Hur hittar man tillgänglig begränsningsinformation i tabellen?

I SQL Server data ordbok är en uppsättning databastabeller som används för att lagra information om en databas definition. Man kan använda dessa dataordböcker för att kontrollera begränsningarna på en redan existerande tabell och för att ändra dem (om möjligt). För mer information, läs SQL | Kontrollera befintlig begränsning på en tabell artikel.

67. Hur undviker vi att få dubbla poster i en fråga utan att använda det distinkta nyckelordet?

DISTINCT är användbart under vissa omständigheter, men det har nackdelar att det kan öka belastningen på frågemotorn för att utföra sorteringen (eftersom den behöver jämföra resultatuppsättningen med sig själv för att ta bort dubbletter). Vi kan ta bort dubbletter av poster med hjälp av följande alternativ:

  • Ta bort dubbletter med hjälp av radnummer.
  • Ta bort dubbletter med self-Join.
  • Ta bort dubbletter med hjälp av grupp efter.

För mer information, vänligen läs SQL | Ta bort dubbletter utan distinkt artiklar.

68. Skillnaden mellan NVL- och NVL2-funktioner?

Dessa funktioner fungerar med alla datatyper och hänför sig till användningen av null-värden i uttryckslistan. Dessa är alla enradiga funktioner, dvs ger ett resultat per rad.

NVL(uttr1; uttr2): I SQL konverterar NVL() ett nollvärde till ett verkligt värde. Datatyper som kan användas är datum, tecken och nummer. Datatyper måste matcha varandra. dvs expr1 och expr2 måste vara av samma datatyp.

Syntax:

NVL (expr1, expr2)

NVL2(expr1, expr2, expr3): Funktionen NVL2 undersöker det första uttrycket. Om det första uttrycket inte är null returnerar NVL2-funktionen det andra uttrycket. Om det första uttrycket är null, returneras det tredje uttrycket, dvs. om expr1 inte är null, returnerar NVL2 expr2. Om expr1 är null returnerar NVL2 expr3. Argumentet expr1 kan ha vilken datatyp som helst.

Syntax:

NVL2 (expr1, expr2, expr3)

industri och fabrik

För mer information, läs SQL allmänna funktioner | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , och NANVL artikel.

69. Vad är skillnaden mellan COALESCE() & ISNULL()?

VÄXA SAMMAN(): COALESCE-funktionen i SQL returnerar det första icke-NULL-uttrycket bland dess argument. Om alla uttryck evalueras till null, kommer COALESCE-funktionen att returnera null.
Syntax:

SELECT kolumn(er), CAOLESCE(uttryck_1,….,uttryck_n)FRÅN tabellnamn;

ÄR INGET(): ISNULL-funktionen har olika användningsområden i SQL Server och MySQL. I SQL Server används funktionen ISNULL() för att ersätta NULL-värden.
Syntax:

SELECT kolumn(er), ISNULL(kolumnnamn, värde_att_ersätta)FRÅN tabellnamn;

För mer information, läs SQL | Noll funktioner artikel.

70. Namnge operatorn som används i frågan för att lägga till två strängar?

I SQL för att lägga till två strängar används koncentrationsoperatorn och dess symbol är || .

Slutsats

Sammanfattningsvis är det avgörande att behärska SQL-intervjufrågor för dataanalytiker, dataingenjörer och affärsanalytiker som vill utmärka sig inom sina respektive områden. Den här artikeln har tillhandahållit en omfattande uppsättning av SQL-intervjufrågor och svar utformade för att förbereda dig grundligt.

Genom att förstå och öva på dessa frågor förbättrar du din förmåga att tackla utmaningarna i SQL-relaterade intervjuer effektivt, vilket i slutändan banar väg för en framgångsrik karriär inom datahantering och analys. Kom ihåg att varje fråga är en möjlighet att visa din analytiska skicklighet och tekniska expertis, viktiga egenskaper för alla blivande professionella i dessa kritiska roller.