SQL er et standard databasespråk som brukes for å få tilgang til og manipulere data i databaser. Det står for Strukturert spørrespråk og ble utviklet av IBM Computer Scientists på 1970-tallet. Ved å utføre spørringer kan SQL opprette, oppdatere, slette og hente data i databaser som MySQL, Oracle, PostgreSQL osv. Totalt sett er SQL et spørringsspråk som kommuniserer med databaser.
I denne artikkelen dekker vi 70+ SQL-intervjuspørsmål med svar spurt i SQL-utviklerintervjuer hos MAANG og andre høyt betalende selskaper. Enten du er en ferskere eller en erfaren profesjonell med 2, 5 eller 10 års erfaring, gir denne artikkelen deg all tilliten du trenger for å klare ditt neste SQL-intervju.
Innholdsfortegnelse
- SQL-intervjuspørsmål og svar for ferskinger
- Mellomliggende SQL-intervjuspørsmål og svar
- Avanserte SQL-intervjuspørsmål og svar
SQL-intervjuspørsmål og svar for ferskinger
1. Hva er SQL?
SQL står for Structured Query Language. Det er et språk som brukes til å samhandle med databasen, dvs. lage en database, lage en tabell i databasen, hente data eller oppdatere en tabell i databasen osv. SQL er en ANSI(American National Standards Institute) standard. Ved å bruke SQL kan vi gjøre mange ting. For eksempel – vi kan utføre spørringer, vi kan sette inn poster i en tabell, kan oppdatere poster, kan opprette en database, kan opprette en tabell, kan slette en tabell, etc.
2. Hva er en database?
EN Database er definert som en strukturert form for datalagring i en datamaskin eller en samling av data på en organisert måte og kan nås på ulike måter. Det er også samlingen av skjemaer, tabeller, spørringer, visninger osv. Databaser hjelper oss med enkelt å lagre, få tilgang til og manipulere data som holdes på en datamaskin. Database Management System lar en bruker samhandle med databasen.
3. Støtter SQL programmeringsspråkfunksjoner?
Det er sant at SQL er et språk, men det støtter ikke programmering da det ikke er et programmeringsspråk, det er et kommandospråk. Vi har ikke betingede setninger i SQL som for loops eller hvis..ellers, vi har bare kommandoer som vi kan bruke til å spørre, oppdatere, slette, etc. data i databasen. SQL lar oss manipulere data i en database.
4. Hva er forskjellen mellom CHAR og VARCHAR2 datatype i SQL?
Begge disse datatypene brukes for tegn, men varchar2 brukes for tegnstrenger med variabel lengde, mens char brukes for tegnstrenger med fast lengde. For eksempel , hvis vi spesifiserer typen som char(5), vil vi ikke ha lov til å lagre en streng av noen annen lengde i denne variabelen, men hvis vi spesifiserer typen av denne variabelen som varchar2(5), vil vi få lov til å lagre strenger med variabel lengde. Vi kan lagre en streng med lengde 3 eller 4 eller 2 i denne variabelen.
5. Hva mener du med datadefinisjonsspråk?
Datadefinisjonsspråk eller DDL gjør det mulig å utføre spørringer som CREATE, DROP og ALTER. Det er de spørringene som definerer dataene.
6. Hva mener du med datamanipulasjonsspråk?
Datamanipulering Språk eller DML brukes for å få tilgang til eller manipulere data i databasen. Det lar oss utføre funksjonene nedenfor:
- Sett inn data eller rader i en database
- Slett data fra databasen
- Hent eller hent data
- Oppdater data i en database.
7. Hva er visningen i SQL?
Visninger i SQL er en slags virtuell tabell. En visning har også rader og kolonner slik de er på en ekte tabell i databasen. Vi kan lage en visning ved å velge felt fra en eller flere tabeller som finnes i databasen. En visning kan enten ha alle radene i en tabell eller spesifikke rader basert på visse forhold.
CREATE VIEW-setningen til SQL brukes til å lage visninger.
Grunnleggende 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. Hva mener du med fremmednøkkel?
EN Fremmednøkkel er et felt som unikt kan identifisere hver rad i en annen tabell. Og denne begrensningen brukes til å spesifisere et felt som en fremmednøkkel. Det vil si at dette feltet peker til primærnøkkelen til en annen tabell. Dette skaper vanligvis en slags kobling mellom de to tabellene.
Vurder de to tabellene som vist nedenfor:
Bestillinger
| O_ID | BEST.NR | 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 tydelig kan se, er feltet C_ID i ordretabellen primærnøkkelen i kundenes tabell, det vil si at det identifiserer hver rad i kundens tabellen unikt. Derfor er det en fremmednøkkel 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. Hva er tabell og felt?
Bord: En tabell har en kombinasjon av rader og kolonner. Rader kalles poster og kolonner kalles felt. I MS SQL Server blir tabellene utpekt i databasen og skjemanavnene.
Felt: I DBMS kan et databasefelt defineres som – et enkelt stykke informasjon fra en post.
10. Hva er hovednøkkelen?
EN Primærnøkkel er en av kandidatnøklene. En av kandidatnøklene velges som den viktigste og blir primærnøkkelen. Det kan ikke være mer enn én primærnøkkel i en tabell.
11. Hva er en standardbegrensning?
De MISLIGHOLDE begrensning brukes til å fylle en kolonne med standardverdier og faste verdier. Verdien vil bli lagt til alle nye poster når ingen annen verdi er oppgitt.
12. Hva er normalisering?
Det er en prosess for å analysere de gitte relasjonsskjemaene basert på deres funksjonelle avhengigheter og primærnøkler for å oppnå følgende ønskelige egenskaper:
- Minimerer redundans
- Minimere innsetting, sletting og oppdatering avvik
Relasjonsskjemaer som ikke oppfyller egenskapene, dekomponeres til mindre relasjonsskjemaer som kan møte ønskelige egenskaper.
13. Hva er denormalisering?
Denormalisering er en databaseoptimaliseringsteknikk der vi legger til redundante data til en eller flere tabeller. Dette kan hjelpe oss å unngå kostbare sammenføyninger i en relasjonsdatabase. Merk at denormalisering ikke betyr at du ikke gjør normalisering. Det er en optimaliseringsteknikk som brukes etter normalisering.
I en tradisjonell normalisert database lagrer vi data i separate logiske tabeller og forsøker å minimere redundante data. Vi kan bestrebe oss på å ha bare én kopi av hver del av data i databasen.
java arrayliste
14. Hva er en spørring?
An SQL spørringen brukes til å hente de nødvendige dataene fra databasen. Det kan imidlertid være flere SQL-spørringer som gir de samme resultatene, men med ulike effektivitetsnivåer. En ineffektiv spørring kan tømme databaseressursene, redusere databasehastigheten eller resultere i tap av tjenester for andre brukere. Så det er veldig viktig å optimalisere spørringen for å oppnå best databaseytelse.
15. Hva er en underspørring?
I SQL, en Undersøk kan enkelt defineres som en spørring i en annen spørring. Med andre ord kan vi si at en underspørring er en spørring som er innebygd i WHERE-leddet til en annen SQL-spørring.
16. Hva er de forskjellige operatørene tilgjengelig i SQL?
Det er tre operatører tilgjengelig i SQL, nemlig:
- Aritmetiske operatorer
- Logiske operatører
- Sammenligningsoperatører
17. Hva er en begrensning?
Begrensninger er reglene vi kan bruke på typen data i en tabell. Det vil si at vi kan spesifisere grensen for typen data som kan lagres i en bestemt kolonne i en tabell ved hjelp av begrensninger. For flere detaljer, se SQL|Begrensninger artikkel.
18. Hva er dataintegritet?
Dataintegritet er definert som at dataene i databasen er både korrekte og konsistente. For dette formålet må dataene som er lagret i databasen tilfredsstille visse typer prosedyrer (regler). Dataene i en database må være korrekte og konsistente. Så, data lagret i databasen må tilfredsstille visse typer prosedyrer (regler). DBMS gir forskjellige måter å implementere slike typer begrensninger (regler). Dette forbedrer dataintegriteten i en database. For mer informasjon vennligst se forskjellen mellom datasikkerhet og dataintegritet artikkel.
19. Hva er automatisk økning?
Noen ganger, mens vi lager en tabell, har vi ikke en unik identifikator i tabellen, og derfor har vi problemer med å velge primærnøkkel. For å løse et slikt problem, må vi manuelt gi unike nøkler til hver post, men dette er ofte også en kjedelig oppgave. Så vi kan bruke funksjonen Auto-increment som automatisk genererer en numerisk primærnøkkelverdi for hver ny post som settes inn. Automatisk inkrement-funksjonen støttes av alle databasene. For mer informasjon vennligst se SQL Auto Increment artikkel.
20. Hva er MySQL-kollasjon?
En MySQL-kollasjon er et veldefinert sett med regler som brukes til å sammenligne tegn i et bestemt tegnsett ved å bruke deres tilsvarende koding. Hvert tegnsett i MySQL kan ha mer enn én sortering, og har minst én standardsortering. To tegnsett kan ikke ha samme sortering. For mer informasjon vennligst se Hva er sammenstilling og tegnsett i MySQL? artikkel.
21. Hva er brukerdefinerte funksjoner?
Vi kan bruke brukerdefinerte funksjoner i PL/SQL eller Java for å gi funksjonalitet som ikke er tilgjengelig i SQL eller SQL innebygde funksjoner. SQL-funksjoner og brukerdefinerte funksjoner kan vises hvor som helst, det vil si hvor enn et uttrykk forekommer.
For eksempel kan den brukes i:
- Velg en liste med SELECT-setninger.
- Betingelsen for WHERE-klausulen.
- KOBLE TIL ETTER, BESTILL ETTER, START MED og GRUPPER ETTER
- VALUES-leddet i INSERT-setningen.
- SET-leddet i UPDATE-setningen.
22. Hva er alle typer brukerdefinerte funksjoner?
Brukerdefinerte funksjoner lar folk definere sine egne T-SQL-funksjoner som kan akseptere 0 eller flere parametere og returnere en enkelt skalardataverdi eller en tabelldatatype.
Ulike typer brukerdefinerte funksjoner opprettet er:
1. Skalær brukerdefinert funksjon En skalar brukerdefinert funksjon returnerer en av de skalære datatypene. Tekst-, bilde- og tidsstempeldatatyper støttes ikke. Dette er den typen brukerdefinerte funksjoner som de fleste utviklere er vant til i andre programmeringsspråk. Du sender inn 0 til mange parametere og du får en returverdi.
2. Innebygd tabellverdi brukerdefinert funksjon En Inline Table-Value brukerdefinert funksjon returnerer en tabelldatatype og er et eksepsjonelt alternativ til en visning ettersom den brukerdefinerte funksjonen kan sende parametere inn i en T-SQL select-kommando og i hovedsak gi oss en parameterisert, ikke -Oppdaterbar visning av de underliggende tabellene.
3. Multi-utsagn Tabell-Verdi Brukerdefinert funksjon En Multi-Statement Table-Value brukerdefinert funksjon returnerer en tabell og er også et eksepsjonelt alternativ til en visning, siden funksjonen kan støtte flere T-SQL-setninger for å bygge det endelige resultatet der visningen er begrenset til en enkelt SELECT-setning. Muligheten til å sende parametere inn i en TSQL-valgkommando eller en gruppe av dem gir oss muligheten til i hovedsak å lage en parameterisert, ikke-oppdaterbar visning av dataene i de underliggende tabellene. Innenfor kommandoen create function må du definere tabellstrukturen som returneres. Etter å ha opprettet denne typen brukerdefinerte funksjoner, kan den brukes i FROM-leddet til en T-SQL-kommando, i motsetning til oppførselen man finner når man bruker en lagret prosedyre som også kan returnere postsett.
23. Hva er en lagret prosedyre?
Lagrede prosedyrer opprettes for å utføre en eller flere DML-operasjoner på databaser. Det er ikke annet enn en gruppe SQL-setninger som aksepterer noen input i form av parametere og utfører en oppgave og kanskje returnerer en verdi. For mer informasjon vennligst se vår Lagrede prosedyrer i SQL artikkel.
24. Hva er aggregat- og skalarfunksjoner?
For å utføre operasjoner på data har SQL mange innebygde funksjoner, de er kategorisert i to kategorier og videre underkategorisert i syv forskjellige funksjoner under hver kategori. Kategoriene er:
- Aggregerte funksjoner: Disse funksjonene brukes til å utføre operasjoner fra verdiene i kolonnen og en enkelt verdi returneres.
- Skalarfunksjoner: Disse funksjonene er basert på brukerinndata, og disse returnerer også en enkelt verdi.
For mer informasjon, vennligst les SQL | Funksjoner (aggregerte og skalære funksjoner) artikkel.
25. Hva er en ALIAS-kommando?
Aliaser er de midlertidige navnene som gis til en tabell eller kolonne for en bestemt SQL-spørring. Det brukes når navnet på en kolonne eller tabell brukes annet enn det opprinnelige navnet, men det endrede navnet er bare midlertidig.
- Aliaser opprettes for å gjøre tabell- eller kolonnenavn mer lesbare.
- Gi nytt navn er bare en midlertidig endring og tabellnavnet endres ikke i den opprinnelige databasen.
- Aliaser er nyttige når tabell- eller kolonnenavn er store eller lite lesbare.
- Disse foretrekkes når det er mer enn én tabell involvert i en spørring.
For mer informasjon, vennligst les SQL | Aliaser artikkel.
26. Hva er Union, minus og Interact kommandoer?
Settoperasjoner i SQL eliminerer dupliserte tupler og kan bare brukes på relasjonene som er unionskompatible. Settoperasjoner tilgjengelig i SQL er:
- Sett Union
- Sett kryss
- Angi forskjell
UNION Drift: Denne operasjonen inkluderer alle tuplene som er tilstede i en av relasjonene. For eksempel: For å finne alle kundene som har lån eller konto eller begge deler i en bank.
SELECT CustomerName FROM Depositor UNION SELECT CustomerName FROM Borrower ;>
Fagforeningsoperasjonen eliminerer automatisk duplikater. Hvis alle duplikatene skal beholdes, brukes UNION ALL i stedet for UNION.
INTERSECT-operasjon: Denne operasjonen inkluderer tuplene som er tilstede i begge relasjonene. For eksempel: For å finne kundene som har et lån samt en konto i banken:
SELECT CustomerName FROM Depositor INTERSECT SELECT CustomerName FROM Borrower ;>
Intersect-operasjonen eliminerer automatisk duplikater. Hvis alle duplikatene skal beholdes, brukes INTERSECT ALL i stedet for INTERSECT.
UNNTATT for drift: Denne operasjonen inkluderer tupler som er til stede i ett forhold, men som ikke bør være til stede i et annet forhold. For eksempel: For å finne kunder som har en konto, men ikke lån i banken:
SELECT CustomerName FROM Depositor EXCEPT SELECT CustomerName FROM Borrower ;>
Except-operasjonen eliminerer automatisk duplikatene. Hvis alle duplikatene skal beholdes, brukes EXCEPT ALL i stedet for EXCEPT.
27. Hva er en T-SQL?
T-SQL er en forkortelse for Transact Structure Query Language. Det er et produkt fra Microsoft og er en utvidelse av SQL Language som brukes til å samhandle med relasjonsdatabaser. Det anses å fungere best med Microsoft SQL-servere. T-SQL-setninger brukes til å utføre transaksjonene til databasene. T-SQL har stor betydning siden all kommunikasjon med en forekomst av en SQL-server gjøres ved å sende Transact-SQL-setninger til serveren. Brukere kan også definere funksjoner ved hjelp av T-SQL.
Typer av T-SQL-funksjoner er:
- Samlet funksjoner.
- Rangering funksjoner. Det finnes ulike typer rangeringsfunksjoner.
- Radsett funksjon.
- Skalar funksjoner.
28. Hva er ETL i SQL?
ETL er en prosess innen datavarehus og står for Ekstrakt , Forvandle, og Laste . Det er en prosess der et ETL-verktøy trekker ut data fra ulike datakildesystemer, transformerer dem i oppsamlingsområdet, og til slutt laster det inn i datavarehussystemet. Dette er tre databasefunksjoner som er integrert i ett verktøy for å trekke data ut fra en database og sette data inn i en annen database.
29. Hvordan kopiere tabeller i SQL?
Noen ganger, i SQL, må vi lage en nøyaktig kopi av en allerede definert (eller opprettet) tabell. MySQL lar deg utføre denne operasjonen. Fordi vi kan trenge slike dupliserte tabeller for å teste dataene uten å ha noen innvirkning på den opprinnelige tabellen og dataene som er lagret i den.
CREATE TABLE Contact List(Clone_1) LIKE Original_table;>
For mer informasjon, vennligst les Kloningstabell inn de MySQL artikkel.
30. Hva er SQL-injeksjon?
SQL-injeksjon er en teknikk som brukes til å utnytte brukerdata gjennom nettsideinndata ved å injisere SQL-kommandoer som setninger. I utgangspunktet kan disse uttalelsene brukes til å manipulere applikasjonens webserver av ondsinnede brukere.
- SQL-injeksjon er en kodeinjeksjonsteknikk som kan ødelegge databasen din.
- SQL-injeksjon er en av de vanligste teknikkene for webhacking.
- SQL-injeksjon er plassering av ondsinnet kode i SQL-setninger, via nettsideinndata.
For mer informasjon, vennligst les SQL | Injeksjon artikkel.
31. Kan vi deaktivere en trigger? Hvis ja, hvordan?
Ja, vi kan deaktivere en trigger i PL/SQL. Hvis du vurderer å deaktivere en utløser midlertidig og en av følgende betingelser er oppfylt:
- Et objekt som utløseren refererer til, er ikke tilgjengelig.
- Vi må utføre en stor databelastning og vil at den skal gå raskt uten å utløse triggere.
- Vi laster inn data i tabellen som triggeren gjelder for.
- Vi deaktiverer en trigger ved å bruke ALTER TRIGGER-setningen med DISABLE-alternativet.
- Vi kan deaktivere alle triggere knyttet til en tabell samtidig ved å bruke ALTER TABLE-setningen med DISABLE ALL TRIGGERS-alternativet.
Mellomliggende SQL-intervjuspørsmål og svar
32. Hva er forskjellene mellom SQL og PL/SQL?
Noen vanlige forskjeller mellom SQL og PL/SQL er som vist nedenfor:
| SQL | PL/SQL |
|---|---|
| SQL er et spørringsutførelse eller kommandospråk | PL/SQL er et komplett programmeringsspråk |
| SQL er et dataorientert språk. | PL/SQL er et prosessspråk |
| SQL er veldig deklarativ i naturen. | PL/SQL har en prosessuell karakter. |
| Den brukes til å manipulere data. | Den brukes til å lage applikasjoner. |
| Vi kan kjøre én setning om gangen i SQL | Vi kan utføre blokker med setninger i PL/SQL |
| SQL forteller databaser, hva de skal gjøre? | PL/SQL forteller databaser hvordan de skal gjøre. |
| Vi kan bygge inn SQL i PL/SQL | Vi kan ikke bygge inn PL/SQL i SQL |
33. Hva er forskjellen mellom BETWEEN og IN-operatorer i SQL?
MELLOM: De MELLOM operator brukes til å hente rader basert på en rekke verdier.
For eksempel,
SELECT * FROM Students WHERE ROLL_NO BETWEEN 20 AND 30;>
Denne spørringen vil velge alle disse radene fra tabellen. Elever hvor verdien av feltet ROLL_NO ligger mellom 20 og 30.
I: De I operator brukes til å se etter verdier i spesifikke sett.
For eksempel,
SELECT * FROM Students WHERE ROLL_NO IN (20,21,23);>
Denne spørringen vil velge alle de radene fra tabellen Studenter der verdien av feltet ROLL_NO er enten 20 eller 21 eller 23.
34. Skriv en SQL-spørring for å finne navnene på ansatte som begynner med 'A'.
LIKE-operatoren til SQL brukes til dette formålet. Den brukes til å hente filtrerte data ved å søke etter et bestemt mønster i where-leddet.
Syntaksen for å bruke LIKE er,
VELG kolonne1,kolonne2 FRA tabellnavn WHERE kolonnenavn LIKE-mønster;
SOM: operatørnavn
mønster: eksakt verdi hentet fra mønsteret for å få relaterte data i resultatsettet.
Den nødvendige spørringen er:
SELECT * FROM Employees WHERE EmpName like 'A%' ;>
Du kan referere til denne artikkelen WHERE-klausul for mer informasjon om LIKE-operatøren.
35. Hva er forskjellen mellom primærnøkkel og unike begrensninger?
Primærnøkkelen kan ikke ha NULL-verdier, de unike begrensningene kan ha NULL-verdier. Det er bare én primærnøkkel i en tabell, men det kan være flere unike begrensninger. Primærnøkkelen oppretter den grupperte indeksen automatisk, men den unike nøkkelen gjør det ikke.
36. Hva er en join i SQL? Hva er typene sammenføyninger?
En SQL Join-setning brukes til å kombinere data eller rader fra to eller flere tabeller basert på et felles felt mellom dem. Ulike typer sammenføyninger er:
- INDRE BLI MED : Nøkkelordet INNER JOIN velger alle rader fra begge tabellene så lenge betingelsen er oppfylt. Dette nøkkelordet vil lage resultatsettet ved å kombinere alle rader fra begge tabellene der betingelsen oppfyller, dvs. verdien til fellesfeltet vil være den samme.
- VENSTRE BLI MED : Denne sammenføyningen returnerer alle radene i tabellen på venstre side av sammenføyningen og matchende rader for tabellen på høyre side av sammenføyningen. For radene der det ikke er noen samsvarende rad på høyre side, vil resultatsettet være null. LEFT JOIN er også kjent som LEFT OUTER JOIN
- HØYRE BLI MED : RIGHT JOIN ligner på LEFT JOIN. Denne sammenføyningen returnerer alle radene i tabellen på høyre side av sammenføyningen og matchende rader for tabellen på venstre side av sammenføyningen. For radene der det ikke er noen samsvarende rad på venstre side, vil resultatsettet inneholde null. RIGHT OUTER JOIN er også kjent som RIGHT OUTER JOIN.
- FULL MED : FULL JOIN oppretter resultatsettet ved å kombinere resultatene av både LEFT JOIN og RIGHT JOIN. Resultatsettet vil inneholde alle radene fra begge tabellene. For radene som det ikke er samsvar for, vil resultatsettet inneholde NULL-verdier.
37. Hva er en indeks?
En databaseindeks er en datastruktur som forbedrer hastigheten på datainnhentingsoperasjoner på en databasetabell på bekostning av ytterligere skriving og bruk av mer lagringsplass for å opprettholde den ekstra kopien av data. Data kan bare lagres i én rekkefølge på en disk. For å støtte raskere tilgang i henhold til forskjellige verdier, er et raskere søk som et binært søk etter forskjellige verdier ønsket. For dette formålet opprettes indekser på tabeller. Disse indeksene trenger ekstra plass på disken, men de tillater raskere søk i henhold til forskjellige ofte søkte verdier.
38. Hva er kaskadebegrensningen ved sletting?
En 'ON DELETE CASCADE'-begrensning brukes i MySQL for å slette radene fra den underordnede tabellen automatisk når radene fra den overordnede tabellen slettes. For mer informasjon, vennligst les MySQL – På Slett Cascade-begrensning artikkel.
39. Forklar WITH-ledd i SQL?
WITH-leddet gir et måte-forhold for å definere et midlertidig forhold hvis definisjon kun er tilgjengelig for spørringen der with-leddet forekommer. SQL bruker predikater i WITH-leddet etter at grupper har blitt dannet, så aggregerte funksjoner kan brukes.
40. Hva er alle de forskjellige egenskapene til indekser?
Indekseringen har forskjellige attributter:
- Tilgangstyper : Dette refererer til typen tilgang som verdibasert søk, rekkeviddetilgang osv.
- Tilgangstid : Det refererer til tiden det tar å finne et bestemt dataelement eller sett med elementer.
- Innsettingstid : Det refererer til tiden det tar å finne riktig plass og sette inn nye data.
- Slettingstid : Det tar tid å finne et element og slette det samt oppdatere indeksstrukturen.
- Space Overhead : Det refererer til den ekstra plassen som kreves av indeksen.
41. Hva er en markør?
Markøren er et midlertidig minne eller en midlertidig arbeidsstasjon. Den tildeles av databaseserveren på tidspunktet for utførelse av DML-operasjoner på bordet av brukeren. Markører brukes til å lagre databasetabeller.
42. Skrive ned ulike typer relasjoner i SQL?
Det er forskjellige forhold, nemlig:
- En-til-en forhold.
- Ett til mange forhold.
- Mange til ett forhold.
- Selvrefererende forhold.
43. Hva er en trigger?
Utløseren er en setning som et system kjører automatisk når det er endringer i databasen. I en trigger spesifiserer vi først når triggeren skal utføres og deretter handlingen som skal utføres når triggeren utføres. Utløsere brukes til å spesifisere visse integritetsbegrensninger og referansebegrensninger som ikke kan spesifiseres ved hjelp av begrensningsmekanismen til SQL.
44. Hva er forskjellen mellom SQL DELETE og SQL TRUNCATE kommandoer?
| SQL SLETT arv i java | SQL TRUNCATE |
|---|---|
| DELETE-setningen fjerner rader én om gangen og registrerer en oppføring i transaksjonsloggen for hver slettede rad. | TRUNCATE TABLE fjerner dataene ved å deallokere datasidene som brukes til å lagre tabelldataene og registrerer bare sidedeallokeringene i transaksjonsloggen. |
| DELETE-kommandoen er tregere enn identityTRUNCATE-kommandoen. | Mens TRUNCATE-kommandoen er raskere enn DELETE-kommandoen. |
| For å bruke Slett trenger du SLETT-tillatelse på bordet. | For å bruke Truncate på et bord trenger vi minst ALTER-tillatelse på bordet. |
| Identiteten til kolonnen beholder identiteten etter bruk av DELETE Statement på bordet. | Identiteten til kolonnen tilbakestilles til startverdien hvis tabellen inneholder en identitetskolonne. |
| Slettingen kan brukes med indekserte visninger. | Truncate kan ikke brukes med indekserte visninger. |
45. Hva er forskjellen mellom Cluster og Non-Cluster Index?
| KLUSTERET INDEKS | IKKE-KLYNGETTE INDEKS |
|---|---|
| Den grupperte indeksen er raskere. | Den ikke-klyngede indeksen er tregere. |
| Den grupperte indeksen krever mindre minne for operasjoner. | Den ikke-klyngede indeksen krever mer minne for operasjoner. |
| I en gruppert indeks er indeksen hoveddataene. | I Non-Clustered-indeksen er indeksen en kopi av data. |
| En tabell kan bare ha én gruppert indeks. | En tabell kan ha flere ikke-klyngede indekser. |
| Den grupperte indeksen har en iboende evne til å lagre data på disken. | Den ikke-klyngede indeksen har ikke den iboende evnen til å lagre data på disken. |
| Klyngede indekser lagrer pekere for å blokkere ikke data. | Den ikke-klyngede indeksen lagrer både verdi og en peker til den faktiske raden som inneholder data. |
| I gruppert indeks er bladnoder faktiske data i seg selv. | I en ikke-klynget indeks er ikke bladnoder selve dataene, men de inneholder bare inkluderte kolonner. |
| I Clustered-indeksen definerer Clustered-nøkkelen rekkefølgen på data i tabellen. | I Non-Clustered-indeksen definerer indeksnøkkelen rekkefølgen på data i indeksen. |
| En gruppert indeks er en type indeks der tabellposter blir fysisk omorganisert for å matche indeksen. | En ikke-klynget indeks er en spesiell type indeks der den logiske indeksrekkefølgen ikke samsvarer med den fysisk lagrede rekkefølgen til radene på disken. |
For mer informasjon vennligst se Forskjellen mellom Clustered-indeksen og No-Clustered-indeksen artikkel.
46. Hva er en Live Lock?
Livelock oppstår når to eller flere prosesser kontinuerlig gjentar den samme interaksjonen som svar på endringer i de andre prosessene uten å gjøre noe nyttig arbeid. Disse prosessene er ikke i ventetilstand, og de kjører samtidig. Dette er forskjellig fra en deadlock fordi i en deadlock er alle prosesser i ventetilstand.
47. Hva er Case WHEN i SQL?
Kontrollsetninger utgjør en viktig del av de fleste språk siden de kontrollerer utførelsen av andre sett med setninger. Disse finnes også i SQL og bør utnyttes til bruk som spørringsfiltrering og spørringsoptimalisering gjennom nøye utvalg av tupler som samsvarer med våre krav. I dette innlegget utforsker vi Case-Switch-setningen i SQL. CASE-setningen er SQLs måte å håndtere if/da-logikk 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 mer informasjon, vennligst les SQL | Saksuttalelse artikkel.
Avanserte SQL-intervjuspørsmål og svar
48. Nevn forskjellige typer saksmanipulasjonsfunksjoner tilgjengelig i SQL.
Det er tre typer saksmanipulasjonsfunksjoner tilgjengelig i SQL. De er,
- NEDRE : Hensikten med denne funksjonen er å returnere strengen med små bokstaver. Den tar en streng som argument og returnerer strengen ved å konvertere den til små bokstaver.
Syntaks:
LOWER('streng')
- ØVERSTE : Hensikten med denne funksjonen er å returnere strengen med store bokstaver. Den tar en streng som et argument og returnerer strengen ved å konvertere den til store bokstaver.
Syntaks:
UPPER('streng')
- INITCAP : Hensikten med denne funksjonen er å returnere strengen med den første bokstaven med stor bokstav og resten av bokstavene med små bokstaver.
Syntaks:
INITCAP('streng')
49. Hva er lokale og globale variabler og deres forskjeller?
Global variabel: I motsetning til dette er globale variabler variabler som er definert utenfor funksjoner. Disse variablene har globalt omfang, slik at de kan brukes av enhver funksjon uten å overføre dem til funksjonen som parametere.
Lokal variabel: Lokale variabler er variabler som er definert i funksjoner. De har lokalt omfang, som betyr at de kun kan brukes innenfor funksjonene som definerer dem.
50. Nevn funksjonen som brukes til å fjerne mellomrom på slutten av en streng?
I SQL fjernes mellomrommene på slutten av strengen av en trimfunksjon.
Syntaks:
Trim(er), Der s er en hvilken som helst streng.
51. Hva er forskjellen mellom TRUNCATE- og DROP-setninger?
| SQL DROP | TRUNCATE |
|---|---|
| DROP-kommandoen brukes til å fjerne tabelldefinisjonen og dens innhold. | Mens TRUNCATE-kommandoen brukes til å slette alle radene fra tabellen. |
| I DROP-kommandoen frigjøres tabellplass fra minnet. | Mens TRUNCATE-kommandoen ikke frigjør tabellplassen fra minnet. |
| DROP er en DDL-kommando (Data Definition Language). | Mens TRUNCATE også er en DDL (Data Definition Language) kommando. |
| I DROP-kommandoen eksisterer ikke en visning av tabellen. | Mens du er i denne kommandoen, finnes en visning av tabellen. |
| I DROP-kommandoen vil integritetsbegrensninger bli fjernet. | Mens du er i denne kommandoen, fjernes ikke integritetsbegrensninger. |
| I DROP-kommandoen brukes ikke angreplass. | Mens du er i denne kommandoen, brukes angreplass, men mindre enn DELETE. |
| DROP-kommandoen er rask å utføre, men gir opphav til komplikasjoner. | Mens denne kommandoen er raskere enn DROP. |
For mer informasjon, vennligst les forskjellen mellom DROP og TRUNCATE inn de SQL artikkel.
52. Hvilken operator brukes i spørringer for mønstermatching?
LIKE-operator: Den brukes til å hente filtrerte data ved å søke etter et bestemt mønster i where-leddet.
Syntaks:
VELG kolonne1,kolonne2 FRA tabellnavn WHERE kolonnenavn LIKE-mønster;
LIKE: operatørnavn
53. Definer SQL-rekkefølge ved setningen?
ORDER BY-setningen i SQL brukes til å sortere de hentede dataene i enten stigende eller synkende i henhold til en eller flere kolonner.
- Som standard sorterer ORDER BY dataene inn stigende rekkefølge.
- Vi kan bruke nøkkelordet DESC for å sortere dataene i synkende rekkefølge og nøkkelordet ASC for å sortere i stigende rekkefølge.
For mer informasjon vennligst les SQL | REKKEFØLGE ETTER artikkel.
54. Forklar SQL Have-setning?
HAVING brukes til å spesifisere en betingelse for en gruppe eller en aggregert funksjon som brukes i select-setningen. WHERE-leddet velger før gruppering. HAVING-leddet velger rader etter gruppering. I motsetning til HAVING-leddet, kan ikke WHERE-leddet inneholde aggregerte funksjoner. Se Å ha vs hvor klausul?
hva er eksport i linux
55. Forklar SQL AND OR-setning med et eksempel?
I SQL brukes AND & OR-operatorene for å filtrere dataene og få presise resultater basert på forhold. AND- og OR-operatorene brukes med WHERE-leddet.
Disse to operatører er kalt konjunktive operatører .
- OG operatør: Denne operatøren viser bare de postene hvor begge forhold betingelse 1 og betingelse 2 evalueres til Sann.
- ELLER Operatør: Denne operatoren viser postene der enten en av betingelsene betingelse 1 og betingelse 2 evalueres til True. Det er, enten betingelse1 er Sann eller betingelse2 er Sann.
For mer informasjon vennligst les SQL | OG og ELLER operatørartikkel.
56. Definere MELLOM setninger i SQL?
SQL BETWEEN-betingelsen lar deg enkelt teste om et uttrykk er innenfor et verdiområde (inklusive). Verdiene kan være tekst, dato eller tall. Den kan brukes i en SELECT-, INSERT-, UPDATE- eller DELETE-setning. SQL BETWEEN-betingelsen vil returnere postene der uttrykket er innenfor området verdi1 og verdi2.
For mer informasjon vennligst les SQL | Mellom & jeg operatør artikkel.
57. Hvorfor bruker vi Commit og Rollback kommandoer?
| BEGÅ | TILBAKE |
|---|---|
| COMMIT lagrer permanent endringene som er gjort av gjeldende transaksjon. | ROLLBACK angre endringene som er gjort av gjeldende transaksjon. |
| Transaksjonen kan ikke angre endringer etter COMMIT-utførelse. | Transaksjonen når sin forrige tilstand etter ROLLBACK. |
| Når transaksjonen er vellykket, brukes COMMIT. | Når transaksjonen avbrytes, skjer ROLLBACK. |
For mer informasjon vennligst les Forskjellen mellom Commit og Rollback i SQL artikkel.
58. Hva er ACID-egenskaper?
EN transaksjon er en enkelt logisk arbeidsenhet som får tilgang til og muligens modifiserer innholdet i en database. Transaksjoner får tilgang til data ved å bruke lese-og-skrive-operasjoner. For å opprettholde konsistens i en database, før og etter transaksjonen, følges visse egenskaper. Disse kalles SYRE egenskaper. SYRE (Atomicity, Consistency, Isolation, Durability) er et sett med egenskaper som garanterer at databasetransaksjoner behandles pålitelig. For mer informasjon vennligst les SYRE-egenskaper i de DBMS artikkel.
59. Er NULL-verdier det samme som null eller et mellomrom?
I SQL kan null eller tomrom sammenlignes med en annen null eller tomrom. mens en null kanskje ikke er lik en annen null. null betyr at data kanskje ikke er oppgitt eller at det ikke finnes data.
60. Hva er behovet for gruppefunksjoner i SQL?
I databasebehandling er gruppefunksjoner, også kjent som aggregerte funksjoner, en funksjon der verdiene til flere rader er gruppert sammen som input på visse kriterier for å danne en enkelt verdi med mer signifikant betydning.
Ulike gruppefunksjoner
1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>
For mer informasjon vennligst les Aggregerte funksjoner i SQL artikkel.
61. Hva er behovet for en MERGE-erklæring?
De SLÅ SAMMEN kommando i SQL er faktisk en kombinasjon av tre SQL-setninger: INSERT, OPPDATERING og SLETT . Med enkle ord gir MERGE-setningen i SQL en praktisk måte å utføre alle disse tre operasjonene sammen på, noe som kan være svært nyttig når det gjelder å håndtere store databaser som kjører. Men i motsetning til INSERT-, UPDATE- og DELETE-setningene krever MERGE-setningen en kildetabell for å utføre disse operasjonene på den nødvendige tabellen som kalles en måltabell. For mer informasjon vennligst les SQL | MERGE-erklæring artikkel.
62. Hvordan kan du hente vanlige poster fra to tabeller?
Utsagnet nedenfor kan brukes til å hente data fra flere tabeller, så vi må bruke join for å få data fra flere tabeller.
Syntaks:
VELG tabellnavn1.kolonnenavn, tabellnavn2.kolonnenavn
FRA tablenmae1
BLI MED tabellnavn2
PÅ tablenmae1.colunmnam = tablename2.columnnmae
ORDER BY kolonnenavn;
For flere detaljer og eksempler, vennligst les SQL | VELG data fra flere tabeller artikkel.
63. Hva er fordelene med PL/SQL-funksjoner?
Fordelene med PL / SQL-funksjoner er som følger:
- Vi kan foreta et enkelt kall til databasen for å kjøre en blokk med setninger. Dermed forbedrer det ytelsen mot å kjøre SQL flere ganger. Dette vil redusere antall samtaler mellom databasen og applikasjonen.
- Vi kan dele det overordnede arbeidet inn i små moduler som blir ganske håndterbare, og forbedrer også lesbarheten til koden.
- Det fremmer gjenbrukbarhet.
- Den er sikker siden koden forblir inne i databasen, og skjuler dermed interne databasedetaljer fra applikasjonen (brukeren). Brukeren ringer kun til PL/SQL-funksjonene. Derfor er sikkerhet og dataskjulering sikret.
64. Hva er SQL-spørringen for å vise gjeldende dato?
CURRENT_DATE går tilbake til gjeldende dato. Denne funksjonen returnerer den samme verdien hvis den utføres mer enn én gang i en enkelt setning, noe som betyr at verdien er fast, selv om det er en lang forsinkelse mellom henting av rader i en markør.
Syntaks:
DAGENS DATO
eller
DAGENS DATO
65. Hva er Nested Triggers?
En utløser kan også inneholde INSERT-, UPDATE- og DELETE-logikk i seg selv, så når utløseren utløses på grunn av datamodifisering kan den også forårsake en annen datamodifikasjon, og dermed utløse en annen utløser. En trigger som inneholder datamodifikasjonslogikk i seg selv kalles en nestet trigger.
66. Hvordan finne tilgjengelig informasjon om begrensninger i tabellen?
I SQL Server dataordbok er et sett med databasetabeller som brukes til å lagre informasjon om en databases definisjon. Man kan bruke disse dataordbøkene til å sjekke begrensningene på en allerede eksisterende tabell og endre dem (hvis mulig). For mer informasjon vennligst les SQL | Sjekker eksisterende begrensning på en tabell artikkel.
67. Hvordan unngår vi å få dupliserte oppføringer i en spørring uten å bruke det distinkte søkeordet?
DISTINCT er nyttig under visse omstendigheter, men det har ulemper at det kan øke belastningen på søkemotoren for å utføre sorteringen (siden den må sammenligne resultatsettet med seg selv for å fjerne duplikater). Vi kan fjerne dupliserte oppføringer ved å bruke følgende alternativer:
- Fjern duplikater ved hjelp av radnummer.
- Fjern duplikater ved hjelp av self-Join.
- Fjern duplikater ved å bruke gruppe etter.
For mer informasjon, vennligst les SQL | Fjern duplikater uten distinkt artikler.
68. Forskjellen mellom NVL- og NVL2-funksjoner?
Disse funksjonene fungerer med alle datatyper og gjelder bruken av nullverdier i uttrykkslisten. Disse er alle én rad funksjoner, dvs. gir ett resultat per rad.
NVL(uttr1; uttr2): I SQL konverterer NVL() en nullverdi til en faktisk verdi. Datatyper som kan brukes er dato, tegn og tall. Datatyper må samsvare med hverandre. dvs. expr1 og expr2 må være av samme datatype.
Syntaks:
NVL (uttr1, uttr2)
NVL2(uttr1; uttr2; uttr3): NVL2-funksjonen undersøker det første uttrykket. Hvis det første uttrykket ikke er null, returnerer NVL2-funksjonen det andre uttrykket. Hvis det første uttrykket er null, returneres det tredje uttrykket, dvs. hvis expr1 ikke er null, returnerer NVL2 expr2. Hvis expr1 er null, returnerer NVL2 expr3. Argumentet expr1 kan ha hvilken som helst datatype.
Syntaks:
NVL2 (uttr1, uttr2, uttr3)
For mer informasjon vennligst les SQL generelle funksjoner | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , og NANVL artikkel.
69. Hva er forskjellen mellom COALESCE() & ISNULL()?
COALESCE(): COALESCE-funksjonen i SQL returnerer det første ikke-NULL-uttrykket blant argumentene. Hvis alle uttrykkene evalueres til null, vil COALESCE-funksjonen returnere null.
Syntaks:
SELECT kolonne(r), CAOLESCE(uttrykk_1,….,uttrykk_n)FRA tabellnavn;
ISNULL(): ISNULL-funksjonen har forskjellige bruksområder i SQL Server og MySQL. I SQL Server brukes funksjonen ISNULL() til å erstatte NULL-verdier.
Syntaks:
VELG kolonne(r), ISNULL(kolonnenavn, verdi_som_erstattes) FRA tabellnavn;
For mer informasjon, vennligst les SQL | Null funksjoner artikkel.
70. Nevn operatoren som brukes i spørringen for å legge til to strenger?
I SQL for å legge til to strenger, brukes Konsentrasjonsoperatoren og symbolet er || .
Konklusjon
Avslutningsvis er det avgjørende å mestre SQL-intervjuspørsmål for dataanalytikere, dataingeniører og forretningsanalytikere som ønsker å utmerke seg på sine respektive felt. Denne artikkelen har gitt et omfattende sett med SQL-intervjuspørsmål og svar designet for å forberede deg grundig.
Ved å forstå og praktisere disse spørsmålene, forbedrer du din evne til å takle utfordringene i SQL-relaterte intervjuer effektivt, og til slutt baner vei for en vellykket karriere innen datahåndtering og analyse. Husk at hvert spørsmål er en mulighet til å demonstrere din analytiske dyktighet og tekniske ekspertise, essensielle egenskaper for enhver aspirerende profesjonell i disse kritiske rollene.