SQL je standardni jezik baze podatkov, ki se uporablja za dostop do podatkov v bazah podatkov in njihovo obdelavo. To pomeni Strukturirani povpraševalni jezik za delo s podatkovnimi bazami in so ga razvili IBM Computer Scientists v 1970-ih. Z izvajanjem poizvedb lahko SQL ustvarja, posodablja, briše in pridobiva podatke v zbirkah podatkov, kot so MySQL, Oracle, PostgreSQL itd. Na splošno je SQL jezik poizvedb, ki komunicira z bazami podatkov.
V tem članku pokrivamo 70+ vprašanj za intervju SQL z odgovori vprašal v intervjujih z razvijalci SQL pri MAANG in drugih visoko plačanih podjetjih. Ne glede na to, ali ste bolj svež ali izkušen strokovnjak z 2, 5 ali 10 leti izkušenj, vam ta članek daje vso samozavest, ki jo potrebujete za uspešen naslednji intervju SQL.
Kazalo
- Vprašanja in odgovori za intervjuje SQL za bruce
- Intermediate SQL Interview Vprašanja in odgovori
- Vprašanja in odgovori za intervjuje za napredni SQL
Vprašanja in odgovori za intervjuje SQL za bruce
1. Kaj je SQL?
SQL je kratica za Structured Query Language. To je jezik, ki se uporablja za interakcijo z bazo podatkov, tj. za ustvarjanje baze podatkov, ustvarjanje tabele v bazi podatkov, pridobivanje podatkov ali posodobitev tabele v bazi podatkov itd. SQL je standard ANSI (American National Standards Institute). Z uporabo SQL lahko naredimo marsikaj. Na primer – lahko izvajamo poizvedbe, lahko vstavljamo zapise v tabelo, lahko posodabljamo zapise, lahko ustvarimo bazo podatkov, lahko ustvarimo tabelo, lahko izbrišemo tabelo itd.
2. Kaj je zbirka podatkov?
A Baza podatkov je definiran kot strukturirana oblika shranjevanja podatkov v računalniku ali zbirka podatkov na organiziran način in do njih lahko dostopamo na različne načine. Je tudi zbirka shem, tabel, poizvedb, pogledov itd. Podatkovne baze nam pomagajo pri preprostem shranjevanju, dostopanju in manipuliranju podatkov, ki se hranijo v računalniku. Sistem za upravljanje baze podatkov omogoča uporabniku interakcijo z bazo podatkov.
3. Ali SQL podpira funkcije programskega jezika?
Res je, da je SQL jezik, vendar ne podpira programiranja, saj ni programski jezik, je ukazni jezik. V SQL nimamo pogojnih stavkov, kot so zanke for ali if..else, imamo le ukaze, ki jih lahko uporabimo za poizvedovanje, posodabljanje, brisanje itd. podatkov v bazi podatkov. SQL nam omogoča manipulacijo podatkov v podatkovni bazi.
4. Kakšna je razlika med podatkovnim tipom CHAR in VARCHAR2 v SQL?
Oba podatkovna tipa se uporabljata za znake, vendar se varchar2 uporablja za znakovne nize spremenljive dolžine, medtem ko se char uporablja za znakovne nize fiksne dolžine. Na primer , če podamo tip kot char(5), potem v to spremenljivko ne bomo smeli shraniti niza katere koli druge dolžine, če pa podamo tip te spremenljivke kot varchar2(5), potem bomo lahko shranili nizi spremenljive dolžine. V to spremenljivko lahko shranimo niz dolžine 3 ali 4 ali 2.
5. Kaj mislite z jezikom za definiranje podatkov?
Jezik definicije podatkov ali DDL omogoča izvajanje poizvedb, kot so CREATE, DROP in ALTER. To so tiste poizvedbe, ki definirajo podatke.
6. Kaj mislite z jezikom za obdelavo podatkov?
Manipulacija podatkov Jezik ali DML se uporablja za dostop ali manipulacijo podatkov v bazi podatkov. Omogoča nam izvajanje spodaj navedenih funkcij:
- Vstavite podatke ali vrstice v bazo podatkov
- Brisanje podatkov iz baze podatkov
- Pridobite ali pridobite podatke
- Posodobite podatke v bazi podatkov.
7. Kaj je pogled v SQL?
Pogledi v SQL so nekakšna virtualna miza. Pogled ima tudi vrstice in stolpce, kot so v pravi tabeli v bazi podatkov. Pogled lahko ustvarimo tako, da izberemo polja iz ene ali več tabel v bazi podatkov. Pogled ima lahko vse vrstice tabele ali določene vrstice glede na določene pogoje.
Stavek CREATE VIEW SQL se uporablja za ustvarjanje pogledov.
Osnovna sintaksa:
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. Kaj mislite s tujim ključem?
A Tuji ključ je polje, ki lahko enolično identificira vsako vrstico v drugi tabeli. In ta omejitev se uporablja za določitev polja kot tujega ključa. To pomeni, da to polje kaže na primarni ključ druge tabele. To običajno ustvari nekakšno povezavo med obema tabelama.
Razmislite o dveh tabelah, kot sta prikazani spodaj:
Naročila
| O_ID | ŠTEVILKA NAROČILA | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Stranke
| C_ID | IME | NASLOV |
|---|---|---|
| 1 | RAMESH | DELHI |
| 2 | SUREŠ | NOIDA |
| 3 | DHARMESH | GURGAON |
Kot lahko jasno vidimo, je polje C_ID v tabeli Naročila primarni ključ v tabeli Stranke, tj. enolično identificira vsako vrstico v tabeli Stranke. Zato je tuji ključ v tabeli Naročila.
Sintaksa:
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. Kaj sta tabela in polje?
Tabela: Tabela ima kombinacijo vrstic in stolpcev. Vrstice se imenujejo zapisi, stolpci pa polja. V strežniku MS SQL so tabele označene znotraj imen baze podatkov in shem.
Polje: V DBMS lahko polje baze podatkov definiramo kot – posamezno informacijo iz zapisa.
10. Kaj je primarni ključ?
A Primarni ključ je eden od kandidatnih ključev. Eden od kandidatnih ključev je izbran kot najpomembnejši in postane primarni ključ. V tabeli ne more biti več kot en primarni ključ.
11. Kaj je privzeta omejitev?
The PRIVZETO omejitev se uporablja za zapolnitev stolpca s privzetimi in fiksnimi vrednostmi. Vrednost bo dodana vsem novim zapisom, če ni podana nobena druga vrednost.
12. Kaj je normalizacija?
To je proces analiziranja danih relacijskih shem na podlagi njihovih funkcionalnih odvisnosti in primarnih ključev, da se dosežejo naslednje želene lastnosti:
- Minimiziranje redundance
- Zmanjšanje nepravilnosti pri vstavljanju, brisanju in posodabljanju
Relacijske sheme, ki ne ustrezajo lastnostim, se razčlenijo na manjše relacijske sheme, ki bi lahko ustrezale želenim lastnostim.
13. Kaj je denormalizacija?
Denormalizacija je tehnika optimizacije baze podatkov, pri kateri v eno ali več tabel dodamo odvečne podatke. S tem se lahko izognemo dragim povezavam v relacijski bazi podatkov. Upoštevajte, da denormalizacija ne pomeni, da ne opravite normalizacije. To je tehnika optimizacije, ki se uporabi po normalizaciji.
V tradicionalni normalizirani bazi podatkov shranjujemo podatke v ločenih logičnih tabelah in poskušamo minimizirati odvečne podatke. Morda si prizadevamo imeti samo eno kopijo vsakega podatka v bazi podatkov.
14. Kaj je poizvedba?
An SQL poizvedba se uporablja za pridobivanje zahtevanih podatkov iz baze podatkov. Vendar pa lahko obstaja več poizvedb SQL, ki dajejo enake rezultate, vendar z različnimi stopnjami učinkovitosti. Neučinkovita poizvedba lahko izprazni vire baze podatkov, zmanjša hitrost baze podatkov ali povzroči izgubo storitve za druge uporabnike. Zato je zelo pomembno, da optimizirate poizvedbo, da dosežete najboljšo zmogljivost baze podatkov.
15. Kaj je podpoizvedba?
V SQL, a Podpoizvedba lahko preprosto definirate kot poizvedbo znotraj druge poizvedbe. Z drugimi besedami, lahko rečemo, da je podpoizvedba poizvedba, ki je vdelana v klavzulo WHERE druge poizvedbe SQL.
16. Kateri različni operaterji so na voljo v SQL?
V SQL so na voljo trije operatorji, in sicer:
- Aritmetični operatorji
- Logični operatorji
- Operatorji primerjave
17. Kaj je omejitev?
Omejitve so pravila, ki jih lahko uporabimo za vrsto podatkov v tabeli. To pomeni, da lahko z omejitvami določimo omejitev vrste podatkov, ki jih je mogoče shraniti v določen stolpec v tabeli. Za več podrobnosti glejte SQL|Omejitve Članek.
18. Kaj je celovitost podatkov?
Celovitost podatkov je opredeljena kot podatki v bazi podatkov, ki so pravilni in dosledni. V ta namen morajo podatki, shranjeni v bazi podatkov, zadostiti določenim vrstam postopkov (pravilom). Podatki v bazi podatkov morajo biti pravilni in konsistentni. Torej morajo podatki, shranjeni v bazi podatkov, zadostiti določenim vrstam postopkov (pravilom). DBMS ponuja različne načine za izvajanje takšnih vrst omejitev (pravil). To izboljša celovitost podatkov v bazi podatkov. Za več podrobnosti glejte razlika med varnostjo in celovitostjo podatkov Članek.
19. Kaj je samodejno povečanje?
Včasih med ustvarjanjem tabele nimamo enoličnega identifikatorja v tabeli, zato imamo težave pri izbiri primarnega ključa. Da bi rešili takšno težavo, moramo ročno zagotoviti edinstvene ključe za vsak zapis, vendar je to pogosto tudi dolgočasno opravilo. Tako lahko uporabimo funkcijo samodejnega povečanja, ki samodejno ustvari številčno vrednost primarnega ključa za vsak nov vstavljen zapis. Funkcijo samodejnega povečanja podpirajo vse zbirke podatkov. Za več podrobnosti glejte Samodejno povečanje SQL Članek.
20. Kaj je primerjanje MySQL?
Primerjava MySQL je dobro definiran nabor pravil, ki se uporabljajo za primerjavo znakov določenega nabora znakov z uporabo njihovega ustreznega kodiranja. Vsak nabor znakov v MySQL ima lahko več kot eno primerjavo in ima vsaj eno privzeto primerjavo. Dva niza znakov ne moreta imeti istega primerjanja. Za več podrobnosti glejte Kaj sta primerjava in nabor znakov v MySQL? Članek.
21. Kaj so uporabniško definirane funkcije?
Uporabljamo lahko uporabniško določene funkcije v PL/SQL ali Javi, da zagotovimo funkcionalnost, ki ni na voljo v SQL ali vgrajenih funkcijah SQL. Funkcije SQL in uporabniško določene funkcije se lahko pojavijo kjer koli, to je kjer koli se pojavi izraz.
Uporablja se lahko na primer v:
- Izberite seznam stavkov SELECT.
- Pogoj klavzule WHERE.
- POVEŽI PO, RAZVRSTI PO, ZAČNI Z IN ZDRUŽI PO
- Klavzula VALUES stavka INSERT.
- Klavzula SET stavka UPDATE.
22. Katere so vse vrste uporabniško definiranih funkcij?
Uporabniško definirane funkcije omogočajo ljudem, da definirajo lastne funkcije T-SQL, ki lahko sprejmejo 0 ali več parametrov in vrnejo eno samo skalarno podatkovno vrednost ali podatkovni tip tabele.
Različne vrste ustvarjenih uporabniško definiranih funkcij so:
1. Skalarna uporabniško definirana funkcija Uporabniško definirana funkcija Scalar vrne enega od tipov skalarnih podatkov. Vrste podatkov besedilo, slika in časovni žig niso podprte. To so tipi uporabniško definiranih funkcij, ki jih je večina razvijalcev vajena v drugih programskih jezikih. Številnim parametrom posredujete 0 in dobite vrnjeno vrednost.
2. Vgrajena uporabniško definirana funkcija tabele z vrednostjo Uporabniško definirana funkcija Inline Table-Value vrne podatkovni tip tabele in je izjemna alternativa pogledu, saj lahko uporabniško definirana funkcija posreduje parametre v ukaz T-SQL select in nam v bistvu zagotovi parametriran, ne -pogled osnovnih tabel, ki ga je mogoče posodobiti.
3. Uporabniško definirana funkcija tabele z več stavki Uporabniško definirana funkcija tabele z vrednostjo več stavkov vrne tabelo in je tudi izjemna alternativa pogledu, saj lahko funkcija podpira več stavkov T-SQL za izgradnjo končnega rezultata, kjer je pogled omejen na en sam stavek SELECT. Prav tako nam zmožnost posredovanja parametrov v ukaz TSQL select ali njihovo skupino omogoča, da v bistvu ustvarimo parametriran pogled, ki ga ni mogoče posodobiti, podatkov v osnovnih tabelah. Znotraj ukaza funkcije create morate definirati strukturo tabele, ki se vrne. Ko ustvarite to vrsto uporabniško definirane funkcije, jo lahko uporabite v klavzuli FROM ukaza T-SQL, za razliko od vedenja, ugotovljenega pri uporabi shranjene procedure, ki lahko vrne tudi nize zapisov.
23. Kaj je shranjena procedura?
Shranjeni postopki so ustvarjeni za izvajanje ene ali več operacij DML v bazah podatkov. To ni nič drugega kot skupina stavkov SQL, ki sprejme nekaj vnosa v obliki parametrov in izvede neko nalogo ter lahko ali pa tudi ne vrne vrednost. Za več podrobnosti se obrnite na našo Shranjene procedure v SQL Članek.
24. Kaj so agregatne in skalarne funkcije?
Za izvajanje operacij s podatki ima SQL veliko vgrajenih funkcij, ki so razvrščene v dve kategoriji in nadalje podkategorizirane v sedem različnih funkcij pod vsako kategorijo. Kategorije so:
- Agregatne funkcije: Te funkcije se uporabljajo za izvajanje operacij iz vrednosti stolpca in vrnejo eno samo vrednost.
- Skalarne funkcije: Te funkcije temeljijo na uporabniškem vnosu in tudi te vrnejo eno samo vrednost.
Za več podrobnosti preberite SQL | Funkcije (agregatne in skalarne funkcije) Članek.
25. Kaj je ukaz ALIAS?
Vzdevki so začasna imena, dodeljena tabeli ali stolpcu za namen določene poizvedbe SQL. Uporablja se, ko je uporabljeno ime stolpca ali tabele, ki ni prvotno ime, spremenjeno ime pa je le začasno.
- Vzdevki so ustvarjeni, da so imena tabel ali stolpcev bolj berljiva.
- Preimenovanje je le začasna sprememba in ime tabele se v izvirni bazi podatkov ne spremeni.
- Vzdevki so uporabni, kadar so imena tabel ali stolpcev velika ali slabo berljiva.
- Ti so prednostni, če je v poizvedbo vključenih več kot ena tabela.
Za več podrobnosti preberite SQL | Vzdevki Članek.
26. Kaj so ukazi Union, minus in Interact?
Operacije nastavitev v SQL odpravijo podvojene tuple in jih je mogoče uporabiti samo za relacije, ki so združljive z združevanjem. Naborne operacije, ki so na voljo v SQL, so:
- Set Union
- Nastavite križišče
- Nastavi razliko
Operacija UNION: Ta operacija vključuje vse torke, ki so prisotne v kateri koli od relacij. Na primer: najti vse stranke, ki imajo posojilo ali račun ali oboje v banki.
SELECT CustomerName FROM Depositor UNION SELECT CustomerName FROM Borrower ;>
Operacija združevanja samodejno odstrani dvojnike. Če naj bi se obdržali vsi dvojniki, se namesto UNION uporabi UNION ALL.
Operacija INTERSECT: Ta operacija vključuje tuple, ki so prisotni v obeh relacijah. Na primer: Če želite poiskati stranke, ki imajo posojilo in račun pri banki:
SELECT CustomerName FROM Depositor INTERSECT SELECT CustomerName FROM Borrower ;>
Operacija Intersect samodejno odstrani dvojnike. Če naj bi se obdržali vsi dvojniki, se namesto INTERSECT uporabi INTERSECT ALL.
RAZEN operacije: Ta operacija vključuje tuple, ki so prisotni v enem odnosu, vendar ne bi smeli biti prisotni v drugem odnosu. Na primer: če želite poiskati stranke, ki imajo odprt račun, a nimajo posojila pri banki:
SELECT CustomerName FROM Depositor EXCEPT SELECT CustomerName FROM Borrower ;>
Operacija Razen samodejno odstrani dvojnike. Če naj bi se obdržali vsi dvojniki, se namesto EXCEPT uporabi EXCEPT ALL.
27. Kaj je T-SQL?
T-SQL je okrajšava za Transact Structure Query Language. Je Microsoftov izdelek in je razširitev jezika SQL, ki se uporablja za interakcijo z relacijskimi bazami podatkov. Šteje se, da najbolje deluje s strežniki Microsoft SQL. Stavki T-SQL se uporabljajo za izvajanje transakcij z bazami podatkov. T-SQL je zelo pomemben, saj vsa komunikacija s primerkom strežnika SQL poteka s pošiljanjem stavkov Transact-SQL strežniku. Uporabniki lahko definirajo tudi funkcije s pomočjo T-SQL.
Vrste funkcij T-SQL so:
- Agregat funkcije.
- Uvrstitev funkcije. Obstajajo različne vrste funkcij rangiranja.
- Rowset funkcijo.
- Skalar funkcije.
28. Kaj je ETL v SQL?
ETL je proces v skladišču podatkov in pomeni Izvleček , preoblikovanje, in obremenitev . Gre za proces, v katerem orodje ETL izvleče podatke iz različnih sistemov izvorov podatkov, jih transformira v uprizoritvenem območju in nato na koncu naloži v sistem Data Warehouse. To so tri funkcije baze podatkov, ki so vključene v eno orodje za pridobivanje podatkov iz ene baze podatkov in vnašanje podatkov v drugo bazo podatkov.
29. Kako kopirati tabele v SQL?
Včasih moramo v SQL ustvariti natančno kopijo že definirane (ali ustvarjene) tabele. MySQL vam omogoča izvedbo te operacije. Ker bomo morda potrebovali takšne podvojene tabele za testiranje podatkov, ne da bi to vplivalo na izvirno tabelo in podatke, shranjene v njej.
CREATE TABLE Contact List(Clone_1) LIKE Original_table;>
Za več podrobnosti preberite Tabela za kloniranje v the MySQL Članek.
30. Kaj je vbrizgavanje SQL?
Vbrizgavanje SQL je tehnika, ki se uporablja za izkoriščanje uporabniških podatkov prek vnosov spletne strani z vbrizgavanjem ukazov SQL kot stavkov. V bistvu lahko zlonamerni uporabniki te izjave uporabijo za manipulacijo spletnega strežnika aplikacije.
- Vbrizgavanje SQL je tehnika vbrizgavanja kode, ki lahko uniči vašo bazo podatkov.
- Vbrizgavanje SQL je ena najpogostejših tehnik spletnega hekanja.
- Vbrizgavanje SQL je postavitev zlonamerne kode v stavke SQL prek vnosa spletne strani.
Za več podrobnosti preberite SQL | Injekcija Članek.
31. Ali lahko onemogočimo sprožilec? Če da, kako?
Da, lahko onemogočimo sprožilec v PL/SQL. Če razmislite o začasnem onemogočanju sprožilca in je izpolnjen eden od naslednjih pogojev:
- Objekt, na katerega se sklicuje sprožilec, ni na voljo.
- Izvesti moramo veliko nalaganje podatkov in želimo, da se nadaljuje hitro brez sprožitve sprožilcev.
- Podatke nalagamo v tabelo, na katero se sprožilec nanaša.
- Sprožilec onemogočimo s stavkom ALTER TRIGGER z možnostjo DISABLE.
- S stavkom ALTER TABLE z možnostjo DISABLE ALL TRIGGERS lahko hkrati onemogočimo vse sprožilce, povezane s tabelo.
Intermediate SQL Interview Vprašanja in odgovori
32. Kakšne so razlike med SQL in PL/SQL?
Nekatere pogoste razlike med SQL in PL/SQL so prikazane spodaj:
| SQL | PL/SQL |
|---|---|
| SQL je jezik za izvajanje poizvedb ali ukazni jezik | PL/SQL je popoln programski jezik |
| SQL je podatkovno usmerjen jezik. | PL/SQL je proceduralni jezik |
| SQL je po naravi zelo deklarativen. | PL/SQL je proceduralne narave. |
| Uporablja se za obdelavo podatkov. | Uporablja se za ustvarjanje aplikacij. |
| V SQL lahko izvajamo en stavek naenkrat | V PL/SQL lahko izvajamo bloke stavkov |
| SQL bazam podatkov pove, kaj storiti? | PL/SQL bazam podatkov pove, kako naj to storijo. |
| SQL lahko vdelamo v PL/SQL | PL/SQL ne moremo vdelati v SQL |
33. Kakšna je razlika med operatorjema BETWEEN in IN v SQL?
MED: The MED se uporablja za pridobivanje vrstic na podlagi obsega vrednosti.
na primer
SELECT * FROM Students WHERE ROLL_NO BETWEEN 20 AND 30;>
Ta poizvedba bo izbrala vse te vrstice iz tabele. Učenci, pri katerih je vrednost polja ROLL_NO med 20 in 30.
IN: The IN se uporablja za preverjanje vrednosti v določenih nizih.
na primer
SELECT * FROM Students WHERE ROLL_NO IN (20,21,23);>
Ta poizvedba bo izbrala vse tiste vrstice iz tabele Študenti, kjer je vrednost polja ROLL_NO 20 ali 21 ali 23.
34. Napišite poizvedbo SQL, da poiščete imena zaposlenih, ki se začnejo z 'A'.
V ta namen se uporablja LIKE operater SQL. Uporablja se za pridobivanje filtriranih podatkov z iskanjem določenega vzorca v klavzuli where.
Sintaksa za uporabo LIKE je,
SELECT column1,column2 FROM table_name WHERE column_name LIKE vzorec;
VŠEČ: ime operaterja
vzorec: natančna vrednost, ekstrahirana iz vzorca za pridobitev povezanih podatkov v nizu rezultatov.
Zahtevana poizvedba je:
SELECT * FROM Employees WHERE EmpName like 'A%' ;>
Lahko se sklicujete na ta članek stavek WHERE za več podrobnosti o operaterju LIKE.
35. Kakšna je razlika med primarnim ključem in unikatnimi omejitvami?
Primarni ključ ne more imeti vrednosti NULL, edinstvene omejitve imajo lahko vrednosti NULL. V tabeli je samo en primarni ključ, vendar je lahko več edinstvenih omejitev. Primarni ključ samodejno ustvari gručasti indeks, enolični ključ pa ne.
36. Kaj je združevanje v SQL? Kakšne so vrste združevanj?
Stavek SQL Join se uporablja za združevanje podatkov ali vrstic iz dveh ali več tabel na podlagi skupnega polja med njimi. Različne vrste pridružitev so:
- NOTRANJI SPOJ : ključna beseda INNER JOIN izbere vse vrstice iz obeh tabel, dokler je pogoj izpolnjen. Ta ključna beseda bo ustvarila nabor rezultatov tako, da bo združila vse vrstice iz obeh tabel, kjer je pogoj izpolnjen, tj. vrednost skupnega polja bo enaka.
- LEVO PRIDRUŽI SE : To združevanje vrne vse vrstice tabele na levi strani združevanja in ujemajoče se vrstice za tabelo na desni strani združevanja. Za vrstice, za katere na desni strani ni ujemajoče se vrstice, bo nabor rezultatov nič. LEFT JOIN je znan tudi kot LEFT OUTER JOIN
- PRAV PRIDRUŽI SE : RIGHT JOIN je podoben LEFT JOIN. To združevanje vrne vse vrstice tabele na desni strani združevanja in ujemajoče se vrstice za tabelo na levi strani združevanja. Za vrstice, za katere na levi strani ni ujemajoče se vrstice, bo niz rezultatov vseboval nič. RIGHT JOIN je znan tudi kot RIGHT OUTER JOIN.
- POPOLNA PRIDRUŽITEV : FULL JOIN ustvari nabor rezultatov s kombiniranjem rezultatov LEFT JOIN in RIGHT JOIN. Nabor rezultatov bo vseboval vse vrstice iz obeh tabel. Za vrstice, za katere ni ujemanja, bo niz rezultatov vseboval vrednosti NULL.
37. Kaj je indeks?
Indeks baze podatkov je podatkovna struktura, ki izboljša hitrost operacij iskanja podatkov v tabeli baze podatkov na račun dodatnih zapisov in uporabe več prostora za shranjevanje za vzdrževanje dodatne kopije podatkov. Podatki so lahko shranjeni samo v enem vrstnem redu na disku. Za podporo hitrejšemu dostopu glede na različne vrednosti je zaželeno hitrejše iskanje, kot je binarno iskanje različnih vrednosti. V ta namen se ustvarijo indeksi na tabelah. Ti indeksi potrebujejo dodaten prostor na disku, vendar omogočajo hitrejše iskanje glede na različne pogosto iskane vrednosti.
38. Kaj je kaskadna omejitev ob brisanju?
Omejitev »ON DELETE CASCADE« se uporablja v MySQL za samodejno brisanje vrstic iz podrejene tabele, ko so izbrisane vrstice iz nadrejene tabele. Za več podrobnosti preberite MySQL – On Delete Cascade omejitev Članek.
39. Razložite stavek WITH v SQL?
Klavzula WITH zagotavlja razmerje načina definiranja začasnega razmerja, katerega definicija je na voljo samo za poizvedbo, v kateri se pojavi klavzula with. SQL uporabi predikate v klavzuli WITH, potem ko so bile skupine oblikovane, zato se lahko uporabljajo združevalne funkcije.
40. Kateri so vsi različni atributi indeksov?
Indeksiranje ima različne lastnosti:
- Vrste dostopa : To se nanaša na vrsto dostopa, kot je iskanje na podlagi vrednosti, dostop do obsega itd.
- Čas dostopa : Nanaša se na čas, potreben za iskanje določenega podatkovnega elementa ali niza elementov.
- Čas vstavljanja : Nanaša se na čas, potreben za iskanje ustreznega prostora in vstavljanje novih podatkov.
- Čas brisanja : Čas je potreben za iskanje predmeta in njegovo brisanje ter posodobitev strukture indeksa.
- Prostor nad glavo : Nanaša se na dodatni prostor, ki ga zahteva indeks.
41. Kaj je kazalec?
Kazalec je začasni pomnilnik ali začasna delovna postaja. Dodeli ga strežnik baze podatkov v času, ko uporabnik izvaja operacije DML na tabeli. Kazalci se uporabljajo za shranjevanje tabel baze podatkov.
42. Zapišite različne vrste relacij v SQL?
Obstajajo različna razmerja, in sicer:
- Odnos ena na ena.
- Razmerja eden proti več.
- Razmerje mnogo proti enemu.
- Samoreferenčni odnos.
43. Kaj je sprožilec?
Sprožilec je izjava, ki jo sistem izvede samodejno, ko pride do kakršnih koli sprememb v bazi podatkov. Pri sprožilcu najprej določimo, kdaj naj se sprožilec izvede, nato pa dejanje, ki naj se izvede, ko se sprožilec izvrši. Sprožilci se uporabljajo za podajanje določenih omejitev celovitosti in referenčnih omejitev, ki jih ni mogoče podati z mehanizmom omejitev SQL.
44. Kakšna je razlika med ukazoma SQL DELETE in SQL TRUNCATE?
| SQL DELETE | SQL TRUNCATE |
|---|---|
| Stavek DELETE odstrani vrstice eno za drugo in zabeleži vnos v dnevnik transakcij za vsako izbrisano vrstico. | TRUNCATE TABLE odstrani podatke tako, da sprosti podatkovne strani, ki se uporabljajo za shranjevanje podatkov tabele, in v dnevnik transakcij zabeleži samo sprostitve strani. |
| Ukaz DELETE je počasnejši od ukaza identityTRUNCATE. | Medtem ko je ukaz TRUNCATE hitrejši od ukaza DELETE. |
| Za uporabo Delete potrebujete dovoljenje DELETE za tabelo. | Za uporabo Truncate v tabeli potrebujemo vsaj dovoljenje ALTER za tabelo. |
| Identiteta stolpca ohrani identiteto po uporabi izjave DELETE v tabeli. | Identiteta stolpca je ponastavljena na prvotno vrednost, če tabela vsebuje stolpec identitete. |
| Brisanje je mogoče uporabiti z indeksiranimi pogledi. | Obrezovanja ni mogoče uporabiti z indeksiranimi pogledi. |
45. Kakšna je razlika med grozdnim in negrozdnim indeksom?
| GRUZDNI INDEKS | NEGRUČENI INDEKS |
|---|---|
| Gručni indeks je hitrejši. | Indeks brez gruče je počasnejši. |
| Gručni indeks zahteva manj pomnilnika za operacije. | Indeks brez gruč potrebuje več pomnilnika za operacije. |
| V gručastem indeksu je indeks glavni podatek. | V negručnem indeksu je indeks kopija podatkov. |
| Tabela ima lahko samo en gručasti indeks. | Tabela ima lahko več negručastih indeksov. |
| Indeks v gručah ima lastno sposobnost shranjevanja podatkov na disk. | Indeks brez gruč nima inherentne zmožnosti shranjevanja podatkov na disk. |
| Indeksi v gručah shranjujejo kazalce za blokiranje in ne podatke. | Indeks brez gruče hrani vrednost in kazalec na dejansko vrstico, ki vsebuje podatke. |
| V Clustered index listna vozlišča so dejanski podatki. | V negručnem indeksu listna vozlišča sama po sebi niso dejanski podatki, ampak vsebujejo samo vključene stolpce. |
| V indeksu Clustered ključ Clustered določa vrstni red podatkov v tabeli. | V negručnem indeksu ključ indeksa določa vrstni red podatkov znotraj indeksa. |
| Gručni indeks je vrsta indeksa, v katerem so zapisi tabele fizično preurejeni, da se ujemajo z indeksom. | Negručasti indeks je posebna vrsta indeksa, v katerem se logični vrstni red indeksa ne ujema s fizično shranjenim vrstnim redom vrstic na disku. |
Za več podrobnosti glejte Razlika med gručastim indeksom in indeksom brez gruč Članek.
46. Kaj je Live Lock?
Livelock se zgodi, ko dva ali več procesov nenehno ponavlja isto interakcijo kot odziv na spremembe v drugih procesih, ne da bi pri tem opravila kakršno koli koristno delo. Ti procesi niso v stanju čakanja in se izvajajo sočasno. To se razlikuje od zastoja, ker so v zastoju vsi procesi v stanju čakanja.
47. Kaj je Case WHEN v SQL?
Kontrolni stavki so pomemben del večine jezikov, saj nadzorujejo izvajanje drugih nizov stavkov. Te najdemo tudi v SQL in bi jih bilo treba izkoristiti za uporabo, kot sta filtriranje poizvedb in optimizacija poizvedb s skrbno izbiro tulp, ki ustrezajo našim zahtevam. V tej objavi raziskujemo stavek Case-Switch v SQL. Stavek CASE je način SQL za obravnavanje if/then logike.
Sintaksa 1:
CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] … [ELSE statement_list]END CASE
Sintaksa 2:
CASE WHEN iskalni_pogoj THEN seznam_izjav [WHEN iskalni_pogoj THEN seznam_izjav] … [ELSE seznam_izjav]END CASE
Za več podrobnosti preberite SQL | Izjava o primeru Članek.
Vprašanja in odgovori za intervjuje za napredni SQL
48. Poimenujte različne vrste funkcij za manipulacijo velikih in malih črk, ki so na voljo v SQL.
V SQL so na voljo tri vrste funkcij za manipulacijo velikih in malih črk. so,
- SPODNJE : Namen te funkcije je vrniti niz z malimi črkami. Kot argument vzame niz in vrne niz tako, da ga pretvori v male črke.
Sintaksa:
LOWER('niz')
- ZGORNJI : Namen te funkcije je vrniti niz z velikimi črkami. Kot argument vzame niz in vrne niz tako, da ga pretvori v velike črke.
Sintaksa:
UPPER('niz')
- INITCAP : Namen te funkcije je vrniti niz s prvo črko v veliki in preostalimi črkami v malih črkah.
Sintaksa:
INITCAP('niz')
49. Kaj so lokalne in globalne spremenljivke in njihove razlike?
Globalna spremenljivka: Nasprotno pa so globalne spremenljivke spremenljivke, ki so definirane zunaj funkcij. Te spremenljivke imajo globalni obseg, zato jih lahko uporablja katera koli funkcija, ne da bi jih posredovali funkciji kot parametre.
Lokalna spremenljivka: Lokalne spremenljivke so spremenljivke, ki so definirane znotraj funkcij. Imajo lokalni obseg, kar pomeni, da jih je mogoče uporabiti samo znotraj funkcij, ki jih definirajo.
50. Poimenujte funkcijo, ki se uporablja za odstranjevanje presledkov na koncu niza?
V SQL se presledki na koncu niza odstranijo s funkcijo obrezovanja.
Sintaksa:
Trim(i), Kjer je s poljuben niz.
51. Kakšna je razlika med stavkoma TRUNCATE in DROP?
| SQL DROP | OKRAJ |
|---|---|
| Ukaz DROP se uporablja za odstranitev definicije tabele in njene vsebine. | Medtem ko se ukaz TRUNCATE uporablja za brisanje vseh vrstic iz tabele. |
| V ukazu DROP se prostor tabele sprosti iz pomnilnika. | Medtem ko ukaz TRUNCATE ne sprosti prostora tabele iz pomnilnika. |
| DROP je ukaz DDL (Data Definition Language). | Medtem ko je TRUNCATE tudi ukaz DDL (Data Definition Language). |
| V ukazu DROP pogled tabele ne obstaja. | Ko ste v tem ukazu, obstaja pogled na tabelo. |
| V ukazu DROP bodo omejitve celovitosti odstranjene. | Medtem ko je v tem ukazu, omejitve celovitosti ne bodo odstranjene. |
| V ukazu DROP se presledek za razveljavitev ne uporablja. | Medtem ko je v tem ukazu uporabljen presledek za razveljavitev, vendar manj kot DELETE. |
| Ukaz DROP se hitro izvede, vendar povzroča zaplete. | Čeprav je ta ukaz hitrejši od DROP. |
Za več podrobnosti preberite Razlika med DROP in TRUNCATE noter the SQL Članek.
52. Kateri operator se uporablja v poizvedbah za ujemanje vzorcev?
Operator LIKE: uporablja se za pridobivanje filtriranih podatkov z iskanjem določenega vzorca v klavzuli where.
Sintaksa:
SELECT column1,column2 FROM table_name WHERE column_name LIKE vzorec;
LIKE: ime operaterja
53. Definirajte SQL Order s stavkom?
Stavek ORDER BY v SQL se uporablja za razvrščanje pridobljenih podatkov bodisi v naraščajočem bodisi padajočem glede na enega ali več stolpcev.
- ORDER BY privzeto razvrsti podatke naraščajočem vrstnem redu.
- Uporabimo lahko ključno besedo DESC za razvrščanje podatkov v padajočem vrstnem redu in ključno besedo ASC za razvrščanje v naraščajočem vrstnem redu.
Za več podrobnosti preberite SQL | NAROČI PO Članek.
54. Razložite stavek SQL Having?
HAVING se uporablja za podajanje pogoja za skupino ali združevalno funkcijo, uporabljeno v stavku select. Klavzula WHERE izbere pred združevanjem. Klavzula HAVING izbere vrstice po združevanju. Za razliko od klavzule HAVING klavzula WHERE ne more vsebovati agregatnih funkcij. glej Imeti klavzulo proti kje?
55. Razloži stavek SQL IN ALI na primeru?
V SQL se operatorja IN & ALI uporabljata za filtriranje podatkov in pridobivanje natančnih rezultatov na podlagi pogojev. Operatorja IN in ALI se uporabljata s stavkom WHERE.
te dva operaterja se imenujejo konjunktivni operatorji .
- IN operater: Ta operator prikaže samo tiste zapise, kjer sta oba pogoja pogoj 1 in pogoj 2 imata vrednost True.
- ALI operater: Ta operator prikaže zapise, kjer je eden od pogojev pogoj 1 in pogoj 2 ocenjen na True. to je bodisi pogoj1 je True ali pogoj2 je True.
Za več podrobnosti preberite SQL | IN in ALI članek o operaterjih.
56. Definirajte stavke BETWEEN v SQL?
Pogoj SQL BETWEEN vam omogoča, da preprosto preizkusite, ali je izraz znotraj obsega vrednosti (vključno). Vrednosti so lahko besedilo, datum ali številke. Lahko se uporablja v stavku SELECT, INSERT, UPDATE ali DELETE. Pogoj SQL BETWEEN bo vrnil zapise, kjer je izraz znotraj obsega vrednosti1 in vrednosti2.
Za več podrobnosti preberite SQL | Operater Between & I Članek.
57. Zakaj uporabljamo ukaza Commit in Rollback?
| ZAVEZI | POVRAT |
|---|---|
| COMMIT trajno shrani spremembe, narejene s trenutno transakcijo. | ROLLBACK razveljavi spremembe, ki jih je naredila trenutna transakcija. |
| Transakcija ne more razveljaviti sprememb po izvedbi COMMIT. | Transakcija doseže prejšnje stanje po ROLLBACK. |
| Ko je transakcija uspešna, se uporabi COMMIT. | Ko je transakcija prekinjena, pride do ROLLBACK. |
Za več podrobnosti preberite Razlika med potrditvijo in povrnitvijo v SQL Članek.
58. Kaj so lastnosti KISLINE?
A transakcija je ena sama logična enota dela, ki dostopa in po možnosti spreminja vsebino baze podatkov. Transakcije dostopajo do podatkov z operacijami branja in pisanja. Za ohranitev doslednosti v bazi podatkov se pred in po transakciji upoštevajo določene lastnosti. Ti se imenujejo KISLINA lastnosti. KISLINA (Atomicity, Consistency, Isolation, Durability) je nabor lastnosti, ki zagotavljajo zanesljivo obdelavo transakcij baze podatkov. Za več podrobnosti preberite Lastnosti kisline v the DBMS Članek.
59. Ali so vrednosti NULL enake ničli ali praznemu prostoru?
V SQL lahko ničlo ali prazen prostor primerjamo z drugo ničlo ali praznim prostorom. medtem ko ena ničla morda ni enaka drugi ničli. null pomeni, da podatki morda niso na voljo ali da ni podatkov.
60. Kakšna je potreba po skupinskih funkcijah v SQL?
Pri upravljanju baz podatkov so funkcije skupin, znane tudi kot agregatne funkcije, funkcije, pri katerih so vrednosti več vrstic združene skupaj kot vhodni podatki glede na določena merila, da tvorijo eno samo vrednost pomembnejšega pomena.
Različne skupinske funkcije
1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>
Za več podrobnosti preberite Združevalne funkcije v SQL Članek.
61. Kakšna je potreba po stavku MERGE?
The ZDRUŽI ukaz v SQL je pravzaprav kombinacija treh stavkov SQL: VSTAVITE, POSODOBITE in IZBRIŠITE . Preprosto povedano, stavek MERGE v SQL zagotavlja priročen način za izvajanje vseh teh treh operacij skupaj, kar je lahko zelo koristno, ko gre za ravnanje z velikimi delujočimi bazami podatkov. Toda za razliko od stavkov INSERT, UPDATE in DELETE stavek MERGE zahteva izvorno tabelo za izvajanje teh operacij na zahtevani tabeli, ki se imenuje ciljna tabela. Za več podrobnosti preberite SQL | Izjava MERGE Članek.
62. Kako lahko pridobite skupne zapise iz dveh tabel?
Spodnji stavek bi lahko uporabili za pridobivanje podatkov iz več tabel, zato moramo uporabiti združevanje, da pridobimo podatke iz več tabel.
Sintaksa:
IZBERITE tablenmae1.columnmae, tablename2.columnnmae
OD tablenmae1
JOIN ime tabele2
ON tablenmae1.colunmnam = tablename2.columnnmae
ORDER BY ime stolpca;
Za več podrobnosti in primere preberite SQL | IZBERI podatke iz več tabel Članek.
63. Kakšne so prednosti funkcij PL/SQL?
Prednosti funkcij PL / SQL so naslednje:
- Bazo podatkov lahko izvedemo z enim samim klicem, da zaženemo blok stavkov. Tako izboljša zmogljivost proti večkratnemu izvajanju SQL. To bo zmanjšalo število klicev med bazo podatkov in aplikacijo.
- Celotno delo lahko razdelimo na majhne module, kar postane precej obvladljivo, kar izboljša tudi berljivost kode.
- Spodbuja ponovno uporabo.
- Varen je, saj koda ostane v zbirki podatkov in tako skrije podrobnosti notranje baze podatkov pred aplikacijo (uporabnikom). Uporabnik samo kliče funkcije PL/SQL. Tako je zagotovljena varnost in skrivanje podatkov.
64. Kakšna je poizvedba SQL za prikaz trenutnega datuma?
CURRENT_DATE se vrne na trenutni datum. Ta funkcija vrne isto vrednost, če se izvede več kot enkrat v enem stavku, kar pomeni, da je vrednost fiksna, tudi če je med pridobivanjem vrstic v kazalcu dolg zamik.
Sintaksa:
TRENUTNI DATUM
oz
TRENUTNI DATUM
65. Kaj so ugnezdeni sprožilci?
Sprožilec lahko v sebi vsebuje tudi logiko INSERT, UPDATE in DELETE, tako da lahko, ko se sprožilec sproži zaradi spremembe podatkov, povzroči še eno spremembo podatkov in s tem sproži nov sprožilec. Sprožilec, ki v sebi vsebuje logiko spreminjanja podatkov, se imenuje ugnezdeni prožilec.
66. Kako najti razpoložljive informacije o omejitvah v tabeli?
V SQL Serverju je podatkovni slovar je nabor tabel baze podatkov, ki se uporablja za shranjevanje informacij o definiciji baze podatkov. S temi podatkovnimi slovarji lahko preverite omejitve na že obstoječi tabeli in jih spremenite (če je mogoče). Za več podrobnosti preberite SQL | Preverjanje obstoječe omejitve na tabeli Članek.
67. Kako se izognemo podvojenim vnosom v poizvedbi brez uporabe posebne ključne besede?
DISTINCT je uporaben v določenih okoliščinah, vendar ima pomanjkljivosti, saj lahko poveča obremenitev poizvedovalnega mehanizma za izvedbo razvrščanja (ker mora nabor rezultatov primerjati sam s seboj, da odstrani dvojnike). Podvojene vnose lahko odstranimo z naslednjimi možnostmi:
seznam v Javi
- Odstranite dvojnike z uporabo številk vrstic.
- Odstranite dvojnike s samopridruževanjem.
- Odstranite dvojnike s skupino po.
Za več podrobnosti preberite SQL | Odstranite dvojnike brez razločevanja članki.
68. Razlika med funkcijama NVL in NVL2?
Te funkcije delujejo s katerim koli tipom podatkov in se nanašajo na uporabo ničelnih vrednosti na seznamu izrazov. Vsi so enoredni zagotavljajo en rezultat na vrstico.
NVL(izraz1, izraz2): V SQL NVL() pretvori ničelno vrednost v dejansko vrednost. Vrste podatkov, ki jih je mogoče uporabiti, so datum, znak in številka. Tipi podatkov se morajo med seboj ujemati. tj. izraz1 in izraz2 morata biti istega podatkovnega tipa.
Sintaksa:
NVL (izraz1, izraz2)
NVL2(izraz1, izraz2, izraz3): Funkcija NVL2 pregleda prvi izraz. Če prvi izraz ni nič, potem funkcija NVL2 vrne drugi izraz. Če je prvi izraz ničen, se vrne tretji izraz, tj. Če izraz1 ni nič, NVL2 vrne izraz2. Če je izraz1 enak nič, NVL2 vrne izraz3. Argument izraz1 ima lahko katero koli podatkovno vrsto.
Sintaksa:
NVL2 (izraz1, izraz2, izraz3)
Za več podrobnosti preberite Splošne funkcije SQL | NVL, NVL2, DEKODIRAJ, ZDRUŽI, IZNIČI, LNNVL , in NANVL Članek.
69. Kakšna je razlika med COALESCE() & ISNULL()?
COALESCE(): Funkcija COALESCE v SQL med svojimi argumenti vrne prvi izraz, ki ni NULL. Če so vsi izrazi ocenjeni na nič, bo funkcija COALESCE vrnila nič.
Sintaksa:
IZBERI stolpec(e), CAOLESCE(izraz_1,….,izraz_n)FROM ime_tabele;
ISNULL(): Funkcija ISNULL ima različne uporabe v SQL Server in MySQL. V strežniku SQL Server se funkcija ISNULL() uporablja za zamenjavo vrednosti NULL.
Sintaksa:
IZBERI stolpce, ISNULL(ime_stolpca, vrednost_za_zamenjavo)FROM ime_tabele;
Za več podrobnosti preberite SQL | Ničelne funkcije Članek.
70. Poimenujte operator, ki se uporablja v poizvedbi za pripenjanje dveh nizov?
V SQL se za pripenjanje dveh nizov uporablja operator koncentracije, njegov simbol pa je || .
Zaključek
Skratka, obvladovanje vprašanj za intervjuje SQL je ključnega pomena za podatkovne analitike, podatkovne inženirje in poslovne analitike, ki se želijo odlikovati na svojih področjih. Ta članek ponuja obsežen nabor vprašanj in odgovorov za razgovor SQL, ki so zasnovani tako, da vas temeljito pripravijo.
Z razumevanjem in izvajanjem teh vprašanj izboljšate svojo sposobnost učinkovitega spoprijemanja z izzivi, ki jih predstavljajo intervjuji, povezani s SQL, kar na koncu utira pot za uspešno kariero pri obdelavi in analizi podatkov. Ne pozabite, da je vsako vprašanje priložnost, da pokažete svojo analitično sposobnost in tehnično strokovno znanje, bistvene lastnosti vsakega ambicioznega strokovnjaka v teh kritičnih vlogah.