logo

SQL interview spørgsmål

SQL er et standard databasesprog, der bruges til at få adgang til og manipulere data i databaser. Det står for Struktureret forespørgselssprog og blev udviklet af IBM Computer Scientists i 1970'erne. Ved at udføre forespørgsler kan SQL oprette, opdatere, slette og hente data i databaser som MySQL, Oracle, PostgreSQL osv. Overordnet set er SQL et forespørgselssprog, der kommunikerer med databaser.

I denne artikel dækker vi 70+ SQL-interviewspørgsmål med svar spurgt i SQL-udviklerinterviews hos MAANG og andre højtbetalende virksomheder. Uanset om du er en friskere eller en erfaren professionel med 2, 5 eller 10 års erfaring, giver denne artikel dig al den tillid, du har brug for for at klare dit næste SQL-interview.



Indholdsfortegnelse

SQL-interviewspørgsmål og svar til nybegyndere

1. Hvad er SQL?

SQL står for Structured Query Language. Det er et sprog, der bruges til at interagere med databasen, det vil sige at oprette en database, til at oprette en tabel i databasen, til at hente data eller opdatere en tabel i databasen osv. SQL er en ANSI(American National Standards Institute) standard. Ved hjælp af SQL kan vi gøre mange ting. For eksempel – vi kan udføre forespørgsler, vi kan indsætte poster i en tabel, kan opdatere poster, kan oprette en database, kan oprette en tabel, kan slette en tabel osv.



2. Hvad er en database?

EN Database er defineret som en struktureret form for datalagring i en computer eller en samling af data på en organiseret måde og kan tilgås på forskellige måder. Det er også samlingen af ​​skemaer, tabeller, forespørgsler, visninger osv. Databaser hjælper os med nemt at lagre, få adgang til og manipulere data, der opbevares på en computer. Database Management System giver en bruger mulighed for at interagere med databasen.

3. Understøtter SQL programmeringssprogsfunktioner?

Det er rigtigt, at SQL er et sprog, men det understøtter ikke programmering, da det ikke er et programmeringssprog, det er et kommandosprog. Vi har ikke betingede sætninger i SQL som for loops eller hvis..ellers har vi kun kommandoer, som vi kan bruge til at forespørge, opdatere, slette osv. data i databasen. SQL giver os mulighed for at manipulere data i en database.

4. Hvad er forskellen mellem CHAR og VARCHAR2 datatype i SQL?

Begge disse datatyper bruges til tegn, men varchar2 bruges til tegnstrenge med variabel længde, hvorimod char bruges til tegnstrenge med fast længde. For eksempel , hvis vi angiver typen som char(5), så får vi ikke lov til at gemme en streng af nogen anden længde i denne variabel, men hvis vi angiver typen af ​​denne variabel som varchar2(5), så får vi lov til at gemme strenge af variabel længde. Vi kan gemme en streng med længde 3 eller 4 eller 2 i denne variabel.



5. Hvad mener du med datadefinitionssprog?

Datadefinitionssprog eller DDL giver mulighed for at udføre forespørgsler som CREATE, DROP og ALTER. Det er de forespørgsler, der definerer dataene.

6. Hvad mener du med datamanipulationssprog?

Datamanipulation Language eller DML bruges til at få adgang til eller manipulere data i databasen. Det giver os mulighed for at udføre nedenstående funktioner:

  • Indsæt data eller rækker i en database
  • Slet data fra databasen
  • Hent eller hent data
  • Opdater data i en database.

7. Hvad er visningen i SQL?

Visninger i SQL er en slags virtuel tabel. En visning har også rækker og kolonner, som de er på en rigtig tabel i databasen. Vi kan oprette en visning ved at vælge felter fra en eller flere tabeller i databasen. En visning kan enten have alle rækkerne i en tabel eller specifikke rækker baseret på visse betingelser.

SQL-sætningen CREATE VIEW bruges til at oprette visninger.

Grundlæggende syntaks:

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. Hvad mener du med fremmednøgle?

EN Fremmed nøgle er et felt, der unikt kan identificere hver række i en anden tabel. Og denne begrænsning bruges til at angive et felt som en fremmednøgle. Det vil sige, at dette felt peger på den primære nøgle i en anden tabel. Dette skaber normalt en slags forbindelse mellem de to tabeller.

Overvej de to tabeller som vist nedenfor:

Ordre:% s

O_ID ORDRE NUMMER C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Kunder

C_ID NAVN ADRESSE
1 RAMESH DELHI
2 SURESH NOIDA
3 DHARMESH GURGAON

Som vi tydeligt kan se, er feltet C_ID i ordretabellen den primære nøgle i kundernes tabel, dvs. det identificerer entydigt hver række i tabellen kunder. Derfor er det en fremmednøgle i ordretabellen.

Syntaks:

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. Hvad er tabel og felt?

Bord: En tabel har en kombination af rækker og kolonner. Rækker kaldes poster, og kolonner kaldes felter. I MS SQL Server bliver tabellerne udpeget i database- og skemanavnene.

Mark: I DBMS kan et databasefelt defineres som - et enkelt stykke information fra en post.

10. Hvad er den primære nøgle?

EN Primærnøgle er en af ​​kandidatnøglerne. En af kandidatnøglerne vælges som den vigtigste og bliver den primære nøgle. Der kan ikke være mere end én primær nøgle i en tabel.

11. Hvad er en standardbegrænsning?

Det STANDARD constraint bruges til at udfylde en kolonne med standardværdier og faste værdier. Værdien vil blive tilføjet til alle nye poster, når der ikke er angivet en anden værdi.

12. Hvad er normalisering?

Det er en proces med at analysere de givne relationsskemaer baseret på deres funktionelle afhængigheder og primære nøgler for at opnå følgende ønskelige egenskaber:

  1. Minimering af redundans
  2. Minimering af indsættelse, sletning og opdatering af uregelmæssigheder

Relationsskemaer, der ikke opfylder egenskaberne, dekomponeres i mindre relationsskemaer, der kunne opfylde ønskelige egenskaber.

13. Hvad er denormalisering?

Denormalisering er en databaseoptimeringsteknik, hvor vi tilføjer redundante data til en eller flere tabeller. Dette kan hjælpe os med at undgå dyre joinforbindelser i en relationsdatabase. Bemærk, at denormalisering ikke betyder, at du ikke laver normalisering. Det er en optimeringsteknik, der anvendes efter normalisering.

I en traditionel normaliseret database gemmer vi data i separate logiske tabeller og forsøger at minimere overflødige data. Vi kan bestræbe os på kun at have én kopi af hvert stykke data i databasen.

java arrayliste

14. Hvad er en forespørgsel?

An SQL query bruges til at hente de nødvendige data fra databasen. Der kan dog være flere SQL-forespørgsler, der giver de samme resultater, men med forskellige effektivitetsniveauer. En ineffektiv forespørgsel kan dræne databaseressourcerne, reducere databasehastigheden eller resultere i tab af service for andre brugere. Så det er meget vigtigt at optimere forespørgslen for at opnå den bedste databaseydelse.

15. Hvad er en underforespørgsel?

I SQL, en Underforespørgsel kan simpelthen defineres som en forespørgsel i en anden forespørgsel. Med andre ord kan vi sige, at en underforespørgsel er en forespørgsel, der er indlejret i WHERE-sætningen i en anden SQL-forespørgsel.

16. Hvad er de forskellige operatorer tilgængelige i SQL?

Der er tre operatører tilgængelige i SQL, nemlig:

  1. Aritmetiske operatorer
  2. Logiske operatører
  3. Sammenligningsoperatører

17. Hvad er en begrænsning?

Begrænsninger er de regler, som vi kan anvende på typen af ​​data i en tabel. Det vil sige, at vi kan angive grænsen for den type data, der kan gemmes i en bestemt kolonne i en tabel ved hjælp af begrænsninger. For flere detaljer henvises til SQL|Begrænsninger artikel.

18. Hvad er dataintegritet?

Dataintegritet defineres som, at dataene i databasen er både korrekte og konsistente. Til dette formål skal de data, der er lagret i databasen, opfylde visse typer procedurer (regler). Dataene i en database skal være korrekte og konsistente. Så data gemt i databasen skal opfylde visse typer procedurer (regler). DBMS giver forskellige måder at implementere sådanne typer begrænsninger (regler). Dette forbedrer dataintegriteten i en database. For flere detaljer henvises til forskel mellem datasikkerhed og dataintegritet artikel.

19. Hvad er Auto Increment?

Nogle gange, mens vi opretter en tabel, har vi ikke en unik identifikator i tabellen, og derfor har vi problemer med at vælge primærnøgle. For at løse et sådant problem er vi nødt til manuelt at levere unikke nøgler til hver post, men dette er ofte også en kedelig opgave. Så vi kan bruge funktionen Auto-inkrement, der automatisk genererer en numerisk Primær nøgleværdi for hver ny post, der indsættes. Funktionen Auto Increment understøttes af alle databaser. For flere detaljer henvises til SQL Auto Increment artikel.

20. Hvad er MySQL-sortering?

En MySQL-kollation er et veldefineret sæt regler, som bruges til at sammenligne tegn i et bestemt tegnsæt ved at bruge deres tilsvarende kodning. Hvert tegnsæt i MySQL kan have mere end én sortering og har mindst én standardsortering. To tegnsæt kan ikke have samme sortering. For flere detaljer henvises til Hvad er sortering og tegnsæt i MySQL? artikel.

21. Hvad er brugerdefinerede funktioner?

Vi kan bruge brugerdefinerede funktioner i PL/SQL eller Java til at levere funktionalitet, der ikke er tilgængelig i SQL eller SQL indbyggede funktioner. SQL-funktioner og brugerdefinerede funktioner kan dukke op hvor som helst, det vil sige overalt, hvor et udtryk forekommer.

Det kan for eksempel bruges i:

  • Vælg en liste over SELECT-udsagn.
  • Betingelsen for WHERE-klausulen.
  • FORBIND EFTER, BESTIL EFTER, START MED og GRUPPER EFTER
  • VALUES-udtrykket i INSERT-sætningen.
  • SET-sætningen i UPDATE-sætningen.

22. Hvad er alle typer brugerdefinerede funktioner?

Brugerdefinerede funktioner giver folk mulighed for at definere deres egne T-SQL-funktioner, der kan acceptere 0 eller flere parametre og returnere en enkelt skalardataværdi eller en tabeldatatype.
Forskellige slags brugerdefinerede funktioner, der er oprettet, er:

1. Skalær brugerdefineret funktion En skalar brugerdefineret funktion returnerer en af ​​de skalære datatyper. Tekst-, billed- og tidsstempeldatatyper understøttes ikke. Det er den type brugerdefinerede funktioner, som de fleste udviklere er vant til i andre programmeringssprog. Du indtaster 0 til mange parametre, og du får en returværdi.

2. Inline tabel-værdi brugerdefineret funktion En Inline Table-Value brugerdefineret funktion returnerer en tabeldatatype og er et exceptionelt alternativ til en visning, da den brugerdefinerede funktion kan overføre parametre til en T-SQL select-kommando og i det væsentlige give os en parametriseret, ikke -Opdaterbar visning af de underliggende tabeller.

3. Multi-sætning tabel-værdi brugerdefineret funktion En Multi-Statement Table-Value brugerdefineret funktion returnerer en tabel og er også et exceptionelt alternativ til en visning, da funktionen kan understøtte flere T-SQL-sætninger for at bygge det endelige resultat, hvor visningen er begrænset til en enkelt SELECT-sætning. Evnen til at overføre parametre til en TSQL-valgkommando eller en gruppe af dem giver os også mulighed for i det væsentlige at skabe en parameteriseret, ikke-opdaterbar visning af dataene i de underliggende tabeller. Inden for kommandoen create function skal du definere den tabelstruktur, der returneres. Efter at have oprettet denne type brugerdefineret funktion, kan den bruges i FROM-klausulen i en T-SQL-kommando, i modsætning til den adfærd, der findes ved brug af en lagret procedure, som også kan returnere postsæt.

23. Hvad er en lagret procedure?

Lagrede procedurer oprettes til at udføre en eller flere DML-operationer på databaser. Det er intet andet end en gruppe af SQL-sætninger, der accepterer input i form af parametre og udfører en opgave og måske returnerer en værdi. For flere detaljer henvises til vores Lagrede procedurer i SQL artikel.

24. Hvad er aggregerede og skalære funktioner?

For at udføre operationer på data har SQL mange indbyggede funktioner, de er kategoriseret i to kategorier og yderligere underkategoriseret i syv forskellige funktioner under hver kategori. Kategorierne er:

  • Samlede funktioner: Disse funktioner bruges til at udføre operationer fra værdierne i kolonnen, og en enkelt værdi returneres.
  • Skalære funktioner: Disse funktioner er baseret på brugerinput, og disse returnerer også en enkelt værdi.

For flere detaljer, læs venligst SQL | Funktioner (aggregerede og skalære funktioner) artikel.

25. Hvad er en ALIAS-kommando?

Aliaser er de midlertidige navne, der gives til en tabel eller kolonne med henblik på en bestemt SQL-forespørgsel. Det bruges, når navnet på en kolonne eller tabel bruges andet end dets oprindelige navn, men det ændrede navn er kun midlertidigt.

  • Aliaser oprettes for at gøre tabel- eller kolonnenavne mere læsbare.
  • Omdøbningen er kun en midlertidig ændring, og tabelnavnet ændres ikke i den oprindelige database.
  • Aliaser er nyttige, når tabel- eller kolonnenavne er store eller ikke særlig læsbare.
  • Disse foretrækkes, når der er mere end én tabel involveret i en forespørgsel.

For flere detaljer, læs venligst SQL | Aliaser artikel.

26. Hvad er Union, minus og Interact kommandoer?

Set Operations i SQL eliminerer duplikerede tuples og kan kun anvendes på de relationer, der er unionskompatible. Sæt operationer tilgængelige i SQL er:

  • Sæt Union
  • Indstil kryds
  • Indstil forskel

UNION Drift: Denne operation inkluderer alle de tupler, der er til stede i en af ​​relationerne. For eksempel: At finde alle de kunder, der har et lån eller en konto eller begge dele i en bank.

 SELECT CustomerName FROM Depositor   UNION   SELECT CustomerName FROM Borrower ;>

Fagforeningsoperationen eliminerer automatisk dubletter. Hvis alle dubletterne skal bevares, bruges UNION ALL i stedet for UNION.

INTERSECT Operation: Denne operation inkluderer de tupler, der er til stede i begge relationer. For eksempel: For at finde de kunder, der har et lån samt en konto i banken:

 SELECT CustomerName FROM Depositor   INTERSECT  SELECT CustomerName FROM Borrower ;>

Skæringsoperationen eliminerer automatisk dubletter. Hvis alle dubletterne skal bevares, bruges INTERSECT ALL i stedet for INTERSECT.

UNDTAGET betjening: Denne operation inkluderer tupler, der er til stede i et forhold, men bør ikke være til stede i et andet forhold. For eksempel: For at finde kunder, der har en konto, men intet lån i banken:

 SELECT CustomerName FROM Depositor   EXCEPT  SELECT CustomerName FROM Borrower ;>

Undtagen-operationen eliminerer automatisk dubletterne. Hvis alle dubletterne skal bevares, bruges EXCEPT ALL i stedet for EXCEPT.

27. Hvad er en T-SQL?

T-SQL er en forkortelse for Transact Structure Query Language. Det er et produkt fra Microsoft og er en udvidelse af SQL Language, som bruges til at interagere med relationelle databaser. Det anses for at fungere bedst med Microsoft SQL-servere. T-SQL-sætninger bruges til at udføre transaktionerne til databaserne. T-SQL har enorm betydning, da al kommunikation med en instans af en SQL-server sker ved at sende Transact-SQL-sætninger til serveren. Brugere kan også definere funktioner ved hjælp af T-SQL.

Typer af T-SQL-funktioner er:

  • Samlet funktioner.
  • Ranking funktioner. Der er forskellige typer af rangeringsfunktioner.
  • Rækkesæt fungere.
  • Skalar funktioner.

28. Hvad er ETL i SQL?

ETL er en proces i Data Warehousing, og den står for Uddrag , transformere, og belastning . Det er en proces, hvor et ETL-værktøj udtrækker data fra forskellige datakildesystemer, transformerer dem i iscenesættelsesområdet og til sidst indlæser det i Data Warehouse-systemet. Disse er tre databasefunktioner, der er inkorporeret i et værktøj til at trække data ud fra en database og lægge data ind i en anden database.

29. Hvordan kopierer man tabeller i SQL?

Nogle gange skal vi i SQL oprette en nøjagtig kopi af en allerede defineret (eller oprettet) tabel. MySQL giver dig mulighed for at udføre denne handling. Fordi vi muligvis har brug for sådanne duplikerede tabeller til at teste dataene uden at have nogen indflydelse på den originale tabel og de data, der er gemt i den.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;>

For flere detaljer, læs venligst Kloningsbord ind det MySQL artikel.

30. Hvad er SQL-injektion?

SQL-injektion er en teknik, der bruges til at udnytte brugerdata gennem webside-input ved at injicere SQL-kommandoer som sætninger. Dybest set kan disse udsagn bruges til at manipulere applikationens webserver af ondsindede brugere.

  • SQL-injektion er en kodeinjektionsteknik, der kan ødelægge din database.
  • SQL-injektion er en af ​​de mest almindelige web hacking-teknikker.
  • SQL-injektion er placeringen af ​​ondsindet kode i SQL-sætninger via websideinput.

For flere detaljer, læs venligst SQL | Indsprøjtning artikel.

31. Kan vi deaktivere en trigger? Hvis ja, hvordan?

Ja, vi kan deaktivere en trigger i PL/SQL. Hvis du overvejer at deaktivere en udløser midlertidigt, og en af ​​følgende betingelser er opfyldt:

  • Et objekt, som udløseren refererer til, er ikke tilgængeligt.
  • Vi skal udføre en stor dataindlæsning og vil have den til at forløbe hurtigt uden at udløse triggere.
  • Vi indlæser data i tabellen, som triggeren gælder for.
  • Vi deaktiverer en trigger ved hjælp af ALTER TRIGGER-sætningen med DISABLE-indstillingen.
  • Vi kan deaktivere alle triggere forbundet med en tabel på samme tid ved at bruge ALTER TABLE-sætningen med DISABLE ALL TRIGGERS-indstillingen.

Spørgsmål og svar på mellemliggende SQL-interview

32. Hvad er forskellene mellem SQL og PL/SQL?

Nogle almindelige forskelle mellem SQL og PL/SQL er som vist nedenfor:

SQL

PL/SQL

SQL er et udførelses- eller kommandosprog for forespørgsler

PL/SQL er et komplet programmeringssprog

SQL er et dataorienteret sprog.

PL/SQL er et proceduresprog

SQL er meget deklarativ af natur.

PL/SQL har en proceduremæssig karakter.

Det bruges til at manipulere data.

Det bruges til at oprette applikationer.

Vi kan udføre en sætning ad gangen i SQL

Vi kan udføre blokke af sætninger i PL/SQL

SQL fortæller databaser, hvad de skal gøre?

PL/SQL fortæller databaser, hvordan de skal gøre.

Vi kan indlejre SQL i PL/SQL

Vi kan ikke indlejre PL/SQL i SQL

33. Hvad er forskellen mellem BETWEEN og IN operatorer i SQL?

MELLEM: Det MELLEM operator bruges til at hente rækker baseret på en række værdier.
For eksempel,

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

Denne forespørgsel vil vælge alle disse rækker fra tabellen. Elever, hvor værdien af ​​feltet ROLL_NO ligger mellem 20 og 30.
I: Det I operator bruges til at kontrollere for værdier indeholdt i specifikke sæt.
For eksempel,

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

Denne forespørgsel vil vælge alle de rækker fra tabellen Elever, hvor værdien af ​​feltet ROLL_NO er ​​enten 20 eller 21 eller 23.

34. Skriv en SQL-forespørgsel for at finde navnene på medarbejdere, der starter med 'A'.

SQL-operatoren LIKE bruges til dette formål. Det bruges til at hente filtrerede data ved at søge efter et bestemt mønster i where-sætningen.
Syntaksen for at bruge LIKE er,

SELECT column1,column2 FROM table_name WHERE column_name LIKE mønster;

SYNES GODT OM: operatørens navn

mønster: eksakt værdi udtrukket fra mønsteret for at få relaterede data i resultatsæt.

Den påkrævede forespørgsel er:

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

Du kan henvise til denne artikel WHERE-klausul for flere detaljer om LIKE-operatøren.

35. Hvad er forskellen mellem primær nøgle og unikke begrænsninger?

Den primære nøgle kan ikke have NULL-værdier, de unikke begrænsninger kan have NULL-værdier. Der er kun én primær nøgle i en tabel, men der kan være flere unikke begrænsninger. Den primære nøgle opretter det klyngede indeks automatisk, men den unikke nøgle gør det ikke.

36. Hvad er en join i SQL? Hvilke typer sammenføjninger er der?

En SQL Join-sætning bruges til at kombinere data eller rækker fra to eller flere tabeller baseret på et fælles felt mellem dem. Forskellige typer joinforbindelser er:

  • INDRE JOIN : Nøgleordet INNER JOIN vælger alle rækker fra begge tabeller, så længe betingelsen er opfyldt. Dette nøgleord vil skabe resultatsættet ved at kombinere alle rækker fra begge tabeller, hvor betingelsen opfylder, dvs. værdien af ​​det fælles felt vil være den samme.
  • VENSTRE JOIN : Denne sammenkædning returnerer alle rækkerne i tabellen i venstre side af sammenkædningen og matchende rækker for tabellen i højre side af sammenkædningen. For de rækker, hvor der ikke er en matchende række i højre side, vil resultatsættet være nul. LEFT JOIN er også kendt som LEFT OUTER JOIN
  • HØJRE JOIN : RIGHT JOIN svarer til LEFT JOIN. Denne sammenkædning returnerer alle rækkerne i tabellen på højre side af sammenkædningen og matchende rækker for tabellen i venstre side af sammenkædningen. For de rækker, hvor der ikke er en matchende række i venstre side, vil resultatsættet indeholde null. RIGHT OUTER JOIN er også kendt som RIGHT OUTER JOIN.
  • FULDT TILMELD : FULD JOIN opretter resultatsættet ved at kombinere resultaterne af både LEFT JOIN og RIGHT JOIN. Resultatsættet vil indeholde alle rækkerne fra begge tabeller. For de rækker, hvor der ikke er nogen overensstemmelse, vil resultatsættet indeholde NULL-værdier.

37. Hvad er et indeks?

Et databaseindeks er en datastruktur, der forbedrer hastigheden af ​​datahentningsoperationer på en databasetabel på bekostning af yderligere skrivninger og brugen af ​​mere lagerplads til at opretholde den ekstra kopi af data. Data kan kun gemmes i én rækkefølge på en disk. For at understøtte hurtigere adgang i henhold til forskellige værdier ønskes en hurtigere søgning som en binær søgning efter forskellige værdier. Til dette formål oprettes indekser på tabeller. Disse indekser har brug for ekstra plads på disken, men de tillader hurtigere søgning i henhold til forskellige hyppigt søgte værdier.

38. Hvad er kaskadebegrænsningen ved sletning?

En 'ON DELETE CASCADE'-begrænsning bruges i MySQL til at slette rækkerne fra den underordnede tabel automatisk, når rækkerne fra den overordnede tabel slettes. For flere detaljer, læs venligst MySQL – Til Slet Cascade-begrænsning artikel.

39. Forklar WITH-sætning i SQL?

WITH-sætningen giver et måde-forhold til at definere et midlertidigt forhold, hvis definition kun er tilgængelig for den forespørgsel, hvori with-sætningen forekommer. SQL anvender prædikater i WITH-udtrykket, efter at grupper er blevet dannet, så aggregerede funktioner kan bruges.

40. Hvad er alle de forskellige attributter ved indekser?

Indekseringen har forskellige egenskaber:

  • Adgangstyper : Dette refererer til typen af ​​adgang såsom værdibaseret søgning, rækkeviddeadgang osv.
  • Adgangstid : Det henviser til den tid, det tager at finde et bestemt dataelement eller sæt af elementer.
  • Indsættelsestid : Det refererer til den tid, det tager at finde den passende plads og indsætte nye data.
  • Sletningstid : Det tager tid at finde et element og slette det samt opdatere indeksstrukturen.
  • Plads over hovedet : Det henviser til den ekstra plads, der kræves af indekset.

41. Hvad er en markør?

Markøren er en midlertidig hukommelse eller en midlertidig arbejdsstation. Det tildeles af databaseserveren på tidspunktet for udførelse af DML-operationer på bordet af brugeren. Markører bruges til at gemme databasetabeller.

42. Nedskrive forskellige typer relationer i SQL?

Der er forskellige sammenhænge, ​​nemlig:

  • Et-til-en forhold.
  • Et til mange forhold.
  • Mange til ét forhold.
  • Selvrefererende forhold.

43. Hvad er en trigger?

Udløseren er en erklæring, som et system udfører automatisk, når der er nogen ændring i databasen. I en trigger angiver vi først, hvornår triggeren skal udføres, og derefter den handling, der skal udføres, når triggeren udføres. Triggere bruges til at specificere visse integritets- og referencebegrænsninger, som ikke kan specificeres ved hjælp af SQL-begrænsningsmekanismen.

44. Hvad er forskellen mellem SQL DELETE og SQL TRUNCATE kommandoer?

SQL SLET

liste i java

SQL TRUNCATE

DELETE-sætningen fjerner rækker én ad gangen og registrerer en post i transaktionsloggen for hver slettede række. TRUNCATE TABLE fjerner dataene ved at deallokere datasiderne, der bruges til at gemme tabeldataene, og registrerer kun sidedeallokeringerne i transaktionsloggen.
DELETE-kommandoen er langsommere end identityTRUNCATE-kommandoen. Mens TRUNCATE-kommandoen er hurtigere end DELETE-kommandoen.
For at bruge Slet skal du have DELETE-tilladelse på bordet. For at bruge Truncate på et bord skal vi som minimum have ALTER-tilladelse på bordet.
Kolonnens identitet bevarer identiteten efter brug af DELETE Statement på bordet. Kolonnens identitet nulstilles til dens startværdi, hvis tabellen indeholder en identitetskolonne.
Sletningen kan bruges med indekserede visninger. Truncate kan ikke bruges med indekserede visninger.

45. Hvad er forskellen mellem Cluster og Non-Cluster Index?

KLUSTERET INDEKS IKKE-KLUSTERET INDEKS
Det klyngede indeks er hurtigere. Det ikke-klyngede indeks er langsommere.
Det klyngede indeks kræver mindre hukommelse til operationer. Det ikke-klyngede indeks kræver mere hukommelse til operationer.
I et klynget indeks er indekset hoveddataene. I Non-Clustered-indekset er indekset en kopi af data.
En tabel kan kun have ét klynget indeks. En tabel kan have flere ikke-klyngede indekser.
Det klyngede indeks har en iboende evne til at gemme data på disken. Det ikke-klyngede indeks har ikke den iboende evne til at gemme data på disken.
Klyngede indekser gemmer pointere til at blokere ikke data. Det ikke-klyngede indeks gemmer både værdi og en pointer til den faktiske række, der indeholder data.
I Clustered index leaf noder er faktiske data i sig selv. I et ikke-klynget indeks er bladknuder ikke selve dataene, men de indeholder kun inkluderede kolonner.
I Clustered-indekset definerer Clustered-nøglen rækkefølgen af ​​data i tabellen. I det ikke-klyngede indeks definerer indeksnøglen rækkefølgen af ​​data i indekset.
Et Clustered index er en type indeks, hvor tabelposter fysisk omorganiseres, så de matcher indekset. Et ikke-klynget indeks er en speciel type indeks, hvor den logiske rækkefølge af indekset ikke matcher den fysisk lagrede rækkefølge af rækkerne på disken.

For flere detaljer henvises til Forskellen mellem Clustered-indekset og No-Clustered-indekset artikel.

46. ​​Hvad er en Live Lock?

Livelock opstår, når to eller flere processer kontinuerligt gentager den samme interaktion som reaktion på ændringer i de andre processer uden at udføre noget nyttigt arbejde. Disse processer er ikke i ventetilstand, og de kører samtidig. Dette er forskelligt fra et dødvande, fordi i et dødvande er alle processer i ventetilstand.

47. Hvad er Case WHEN i SQL?

Kontroludsagn udgør en vigtig del af de fleste sprog, da de kontrollerer udførelsen af ​​andre sæt af udsagn. Disse findes også i SQL og bør udnyttes til anvendelser såsom forespørgselsfiltrering og forespørgselsoptimering gennem omhyggelig udvælgelse af tuples, der matcher vores krav. I dette indlæg udforsker vi Case-Switch-sætningen i SQL. CASE-sætningen er SQLs måde at håndtere if/then-logik på.

Syntaks 1:

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

Syntaks 2:

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

For flere detaljer, læs venligst SQL | Sagsfremstilling artikel.

Avancerede SQL-interviewspørgsmål og -svar

48. Nævn forskellige typer sagsmanipulationsfunktioner, der er tilgængelige i SQL.

Der er tre typer sagsmanipulationsfunktioner tilgængelige i SQL. De er,

  • NEDERSTE : Formålet med denne funktion er at returnere strengen med små bogstaver. Den tager en streng som et argument og returnerer strengen ved at konvertere den til små bogstaver.
    Syntaks:

LOWER('streng')

  • ØVERST : Formålet med denne funktion er at returnere strengen med store bogstaver. Den tager en streng som et argument og returnerer strengen ved at konvertere den til store bogstaver.
    Syntaks:

UPPER('streng')

  • INITCAP : Formålet med denne funktion er at returnere strengen med det første bogstav med stort og resten af ​​bogstaverne med småt.
    Syntaks:

INITCAP('streng')

49. Hvad er lokale og globale variabler og deres forskelle?

Global variabel: I modsætning hertil er globale variable variable, der er defineret uden for funktioner. Disse variabler har globalt omfang, så de kan bruges af enhver funktion uden at overføre dem til funktionen som parametre.

Lokal variabel: Lokale variable er variabler, der er defineret i funktioner. De har lokalt omfang, hvilket betyder, at de kun kan bruges inden for de funktioner, der definerer dem.

50. Navngiv den funktion, der bruges til at fjerne mellemrum for enden af ​​en streng?

I SQL fjernes mellemrummene i slutningen af ​​strengen af ​​en trimfunktion.

Syntaks:

Trim(er), Hvor s er en hvilken som helst streng.

51. Hvad er forskellen mellem TRUNCATE- og DROP-udsagn?

SQL DROP TRUNCATE
DROP-kommandoen bruges til at fjerne tabeldefinitionen og dens indhold. Hvorimod TRUNCATE-kommandoen bruges til at slette alle rækker fra tabellen.
I DROP-kommandoen frigøres tabelplads fra hukommelsen. Mens TRUNCATE-kommandoen ikke frigør tabelpladsen fra hukommelsen.
DROP er en DDL (Data Definition Language) kommando. Mens TRUNCATE også er en DDL (Data Definition Language) kommando.
I DROP-kommandoen findes en visning af tabellen ikke. Mens du er i denne kommando, findes en visning af tabellen.
I DROP-kommandoen fjernes integritetsbegrænsninger. Mens du er i denne kommando, fjernes integritetsbegrænsninger ikke.
I kommandoen DROP bruges fortryd mellemrum ikke. Mens du er i denne kommando, bruges fortryd plads, men mindre end DELETE.
DROP-kommandoen er hurtig at udføre, men giver anledning til komplikationer. Mens denne kommando er hurtigere end DROP.

For flere detaljer, læs venligst Forskellen mellem SLIP og TRUNCATE ind det SQL artikel.

52. Hvilken operator bruges i forespørgsler til mønstermatching?

LIKE operator: Den bruges til at hente filtrerede data ved at søge efter et bestemt mønster i where-sætningen.

Syntaks:

SELECT column1,column2 FROM table_name WHERE column_name LIKE mønster;

LIKE: operatørnavn

53. Definer SQL Order ved sætningen?

ORDER BY-sætningen i SQL bruges til at sortere de hentede data i enten stigende eller faldende i henhold til en eller flere kolonner.

  • Som standard sorterer ORDER BY dataene ind stigende rækkefølge.
  • Vi kan bruge nøgleordet DESC til at sortere dataene i faldende rækkefølge og nøgleordet ASC til at sortere i stigende rækkefølge.

For flere detaljer, læs venligst SQL | BESTIL EFTER artikel.

54. Forklar SQL Have-sætning?

HAVING bruges til at angive en betingelse for en gruppe eller en aggregeret funktion, der bruges i select-sætningen. WHERE-sætningen vælger før gruppering. HAVING-sætningen vælger rækker efter gruppering. I modsætning til HAVING-sætningen kan WHERE-sætningen ikke indeholde aggregerede funktioner. Se Have vs Hvor-klausul?

hvad er eksport i linux

55. Forklar SQL AND OR-sætning med et eksempel?

I SQL bruges AND & OR operatorerne til at filtrere dataene og få præcise resultater baseret på forhold. AND- og OR-operatorerne bruges sammen med WHERE-sætningen.

Disse to operatører hedder konjunktive operatorer .

  1. OG operatør: Denne operatør viser kun de poster, hvor begge betingelser betingelse 1 og betingelse 2 evalueres til Sand.
  2. ELLER Operatør: Denne operator viser de poster, hvor enten en af ​​betingelsene betingelse 1 og betingelse 2 evalueres til Sand. Det er, enten betingelse1 er Sand eller betingelse2 er Sand.

For flere detaljer, læs venligst SQL | OG og ELLER operatørs artikel.

56. Definer MELLEM sætninger i SQL?

SQL BETWEEN-betingelsen giver dig mulighed for nemt at teste, om et udtryk er inden for et område af værdier (inklusive). Værdierne kan være tekst, dato eller tal. Det kan bruges i en SELECT-, INSERT-, UPDATE- eller DELETE-sætning. SQL BETWEEN-betingelsen returnerer de poster, hvor udtrykket er inden for intervallet værdi1 og værdi2.

For flere detaljer, læs venligst SQL | Between & I operatør artikel.

57. Hvorfor bruger vi Commit og Rollback kommandoer?

BEGÅ TILBAGE
COMMIT gemmer permanent ændringerne foretaget af den aktuelle transaktion. ROLLBACK fortryd ændringerne foretaget af den aktuelle transaktion.
Transaktionen kan ikke fortryde ændringer efter COMMIT-udførelse. Transaktionen når sin tidligere tilstand efter TILBAGE.
Når transaktionen er vellykket, anvendes COMMIT. Når transaktionen afbrydes, sker ROLLBACK.

For flere detaljer, læs venligst Forskellen mellem Commit og Rollback i SQL artikel.

58. Hvad er ACID egenskaber?

EN transaktion er en enkelt logisk arbejdsenhed, der tilgår og muligvis ændrer indholdet af en database. Transaktioner får adgang til data ved hjælp af læse-og-skrive-operationer. For at opretholde konsistens i en database, før og efter transaktionen, følges visse egenskaber. Disse kaldes SYRE ejendomme. SYRE (Atomicitet, Konsistens, Isolation, Durability) er et sæt egenskaber, der garanterer, at databasetransaktioner behandles pålideligt. For flere detaljer, læs venligst SYRE egenskaber i det DBMS artikel.

59. Er NULL-værdier det samme som nul eller et mellemrum?

I SQL kan nul eller tomt mellemrum sammenlignes med et andet nul eller tomt mellemrum. hvorimod en null muligvis ikke er lig med en anden null. null betyder, at data muligvis ikke leveres, eller der er ingen data.

60. Hvad er behovet for gruppefunktioner i SQL?

I databasestyring er gruppefunktioner, også kendt som aggregerede funktioner, en funktion, hvor værdierne af flere rækker er grupperet sammen som input på bestemte kriterier for at danne en enkelt værdi af mere signifikant betydning.

Forskellige gruppefunktioner

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

For flere detaljer, læs venligst Samlede funktioner i SQL artikel.

61. Hvad er behovet for en MERGE-erklæring?

Det FUSIONERE kommando i SQL er faktisk en kombination af tre SQL-sætninger: INDSÆT, OPDATER og SLET . Med enkle ord giver MERGE-sætningen i SQL en bekvem måde at udføre alle disse tre operationer sammen, hvilket kan være meget nyttigt, når det kommer til at håndtere store kørende databaser. Men i modsætning til INSERT-, UPDATE- og DELETE-sætninger kræver MERGE-sætningen en kildetabel for at udføre disse operationer på den påkrævede tabel, som kaldes en måltabel. For flere detaljer, læs venligst SQL | FLET erklæring artikel.

62. Hvordan kan du hente almindelige poster fra to tabeller?

Nedenstående erklæring kan bruges til at hente data fra flere tabeller, så vi skal bruge join for at få data fra flere tabeller.

Syntaks:

VÆLG tablenmae1.colunmname, tablename2.columnnmae

FRA tablenmae1

JOIN tabelnavn2

ON tablenmae1.colunmnam = tablename2.columnnmae

BESTIL EFTER kolonnenavn;

For flere detaljer og eksempler, læs venligst SQL | VÆLG data fra de flere tabeller artikel.

63. Hvad er fordelene ved PL/SQL-funktioner?

Fordelene ved PL / SQL-funktioner er som følger:

  • Vi kan foretage et enkelt kald til databasen for at køre en blok af sætninger. Det forbedrer således ydeevnen mod at køre SQL flere gange. Dette vil reducere antallet af opkald mellem databasen og applikationen.
  • Vi kan opdele det overordnede arbejde i små moduler, hvilket bliver ret overskueligt, hvilket også forbedrer kodens læsbarhed.
  • Det fremmer genanvendelighed.
  • Det er sikkert, da koden forbliver inde i databasen, og dermed skjuler interne databasedetaljer fra applikationen(brugeren). Brugeren foretager kun et opkald til PL/SQL-funktionerne. Derfor er sikkerhed og dataskjul sikret.

64. Hvad er SQL-forespørgslen for at vise den aktuelle dato?

CURRENT_DATE vender tilbage til den aktuelle dato. Denne funktion returnerer den samme værdi, hvis den udføres mere end én gang i en enkelt sætning, hvilket betyder, at værdien er fast, selvom der er en lang forsinkelse mellem hentning af rækker i en markør.

Syntaks:

NUVÆRENDE DATO

eller

NUVÆRENDE DATO

65. Hvad er Nested Triggers?

En trigger kan også indeholde INSERT, UPDATE og DELETE logik i sig selv, så når triggeren udløses på grund af datamodifikation, kan den også forårsage en anden datamodifikation og derved udløse en anden trigger. En trigger, der indeholder datamodifikationslogik i sig selv, kaldes en indlejret trigger.

66. Hvordan finder man de tilgængelige begrænsningsoplysninger i tabellen?

I SQL Server dataordbog er et sæt databasetabeller, der bruges til at gemme information om en databases definition. Man kan bruge disse dataordbøger til at kontrollere begrænsningerne på en allerede eksisterende tabel og til at ændre dem (hvis det er muligt). For flere detaljer, læs venligst SQL | Kontrol af eksisterende begrænsning på en tabel artikel.

67. Hvordan undgår vi at få duplikerede poster i en forespørgsel uden at bruge det særskilte søgeord?

DISTINCT er nyttigt under visse omstændigheder, men det har ulemper, at det kan øge belastningen på forespørgselsmotoren for at udføre sorteringen (da den skal sammenligne resultatsættet med sig selv for at fjerne dubletter). Vi kan fjerne duplikerede poster ved at bruge følgende muligheder:

  • Fjern dubletter ved hjælp af rækkenumre.
  • Fjern dubletter ved hjælp af self-Join.
  • Fjern dubletter ved hjælp af gruppe efter.

For flere detaljer, læs venligst SQL | Fjern dubletter uden at skelne artikler.

68. Forskellen mellem NVL- og NVL2-funktioner?

Disse funktioner fungerer med enhver datatype og vedrører brugen af ​​null-værdier i udtrykslisten. Disse er alle enkeltrækkede funktioner, dvs. giver et resultat pr. række.

NVL(udtr1; udtr2): I SQL konverterer NVL() en nulværdi til en faktisk værdi. Datatyper, der kan bruges, er dato, tegn og tal. Datatyper skal matche hinanden. dvs. expr1 og expr2 skal være af samme datatype.

Syntaks:

NVL (udtr1, udtr2)

NVL2(udtr1, udtr2, udtr3): NVL2-funktionen undersøger det første udtryk. Hvis det første udtryk ikke er null, returnerer NVL2-funktionen det andet udtryk. Hvis det første udtryk er null, returneres det tredje udtryk, dvs. hvis expr1 ikke er null, returnerer NVL2 expr2. Hvis udtr1 er nul, returnerer NVL2 udtr3. Argumentet udtr1 kan have enhver datatype.

Syntaks:

NVL2 (udtr1, udtr2, udtr3)

For flere detaljer, læs venligst SQL generelle funktioner | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , og NANVL artikel.

69. Hvad er forskellen mellem COALESCE() & ISNULL()?

FLYDER SAMMEN(): COALESCE-funktionen i SQL returnerer det første ikke-NULL-udtryk blandt dets argumenter. Hvis alle udtryk evalueres til null, vil COALESCE-funktionen returnere null.
Syntaks:

VÆLG kolonne(r), CAOLESCE(udtryk_1,….,udtryk_n)FRA tabelnavn;

ISNULL(): ISNULL-funktionen har forskellige anvendelser i SQL Server og MySQL. I SQL Server bruges ISNULL()-funktionen til at erstatte NULL-værdier.
Syntaks:

VÆLG kolonne(r), ISNULL(kolonnenavn, værdi_til_erstat) FRA tabelnavn;

For flere detaljer, læs venligst SQL | Nul funktioner artikel.

70. Navngiv den operator, der bruges i forespørgslen til at tilføje to strenge?

I SQL til tilføjelse af to strenge bruges koncentrationsoperatoren, og dens symbol er || .

Konklusion

Afslutningsvis er det afgørende at beherske SQL-interviewspørgsmål for dataanalytikere, dataingeniører og forretningsanalytikere, der sigter efter at udmærke sig inden for deres respektive områder. Denne artikel har givet et omfattende sæt SQL-interviewspørgsmål og -svar designet til at forberede dig grundigt.

Ved at forstå og praktisere disse spørgsmål forbedrer du din evne til at tackle udfordringerne i SQL-relaterede interviews effektivt, hvilket i sidste ende baner vejen for en succesfuld karriere inden for datahåndtering og -analyse. Husk, at hvert spørgsmål er en mulighed for at demonstrere din analytiske dygtighed og tekniske ekspertise, væsentlige egenskaber for enhver aspirerende professionel i disse kritiske roller.