19 Întrebări și răspunsuri la interviul SQL obligatoriu: pentru începători și cu experiență în 2022

Publicat: 2021-01-07

Întrebări și răspunsuri la interviu SQL

Îți faci griji pentru interviul tău? V-am acoperit pentru întrebările dvs. de interviu SQL. Acestea sunt câteva dintre cele mai frecvente întrebări din Interviurile Sql.
Indiferent de ce funcție de muncă alegeți în industria software și IT, abilitățile SQL sunt o necesitate. Chiar și astăzi, RDBMS este una dintre cele mai utilizate baze de date din lume și, prin urmare, SQL este o parte indispensabilă a domeniului de dezvoltare. Nume mari precum Uber, Netflix, Airbnb și, desigur, Microsoft folosesc SQL ca instrument principal de gestionare a bazelor de date.

Motivul pentru care SQL este extrem de popular astăzi este că acceptă o serie de procesare a tranzacțiilor, aplicații de analiză și operațiuni de business intelligence în mediile IT corporative.

În această postare, vă vom ajuta să începeți cu elementele de bază ale SQL. Acesta este motivul pentru care am creat o listă cu cele mai frecvente întrebări de interviu SQL. Sper că întrebările de interviu SQL vă vor ajuta în interviuri. Aceste întrebări de interviu SQL vă vor oferi o idee relativ bună despre conceptele fundamentale ale SQL și despre cum ar trebui să procedați cu el.

Cele mai bune întrebări și răspunsuri la interviu SQL

1. Definiți SQL.

SQL sau Structured Query Language este un sistem de gestionare a bazelor de date relaționale creat de Microsoft. Este conceput în mod explicit pentru a comunica cu bazele de date. ANSI (American National Standards Institute) susține că SQL este limbajul standard de interogare pentru sistemele de management al bazelor de date relaționale (RDBMS).

Nu este folosit doar pentru întreținerea RDBMS, ci și pentru efectuarea unei game largi de alte operațiuni de manipulare a datelor pe diferite tipuri de date. De exemplu, SQL este folosit pentru a crea baze de date, pentru a crea tabele într-o bază de date, pentru a prelua date dintr-o bază de date, pentru a actualiza tabele într-o bază de date, pentru a executa interogări și așa mai departe.

Citiți mai multe: SQL pentru știința datelor: de ce SQL

2. Definiți baza de date.

Baza de date se referă la o formă structurată de date care este stocată într-o formă organizată într-un computer pentru a facilita accesul, stocarea, recuperarea și gestionarea datelor cu ușurință. O bază de date este în esență o colecție de scheme, tabele, interogări, vizualizări etc.

3. Cum este RDBMS diferit de DBMS?

RDBMS sau Relational Database Management System este diferit de DBMS în sensul că RDBMS stochează date ca o colecție de tabele în care puteți defini relațiile dintre câmpurile comune ale tabelelor, în timp ce, în DBMS, nu puteți face acest lucru.

Spre deosebire de RDBMS care stochează date sub formă de tabel, DBMS funcționează mai mult ca un Manager de fișiere care stochează datele într-o bază de date în loc să le salveze într-un sistem de fișiere.

RDBMS este fundația multor sisteme moderne de gestionare a bazelor de date, cum ar fi MySQL, Microsoft SQL Server, Oracle, IBM DB2 și Amazon Redshift.

4. Definiți constrângeri.

În SQL, constrângerile sunt folosite pentru a specifica limita tipului de date al unui tabel sau pentru a declara regulile privind datele dintr-un tabel din baza de date. Constrângerile pot fi specificate atât pentru câmpuri unice, cât și pentru mai multe dintr-un tabel SQL, fie în timpul creării unui tabel, fie după crearea acestuia folosind comanda ALTER TABLE.

Unele dintre constrângerile din SQL sunt:

  • NU NUL
  • VERIFICA
  • MOD IMPLICIT
  • UNIC
  • CHEIA PRINCIPALA
  • CHEIE EXTERNĂ

5. Definiți – cheie primară, cheie unică și cheie externă.

O cheie primară este o combinație de câmpuri care ajută la specificarea unică a unui rând. O cheie primară trebuie să aibă valori unice și, de asemenea, conține o constrângere implicită NOT NULL, ceea ce înseamnă că o cheie primară nu poate avea valori NULL.

O constrângere de cheie unică este utilizată pentru a se asigura că toate valorile dintr-o coloană sunt diferite. Ajută la identificarea fiecărei înregistrări dintr-o bază de date în mod unic. Spre deosebire de cheia primară (există o singură cheie primară definită pentru fiecare tabel), pot exista mai multe constrângeri unice definite pentru fiecare tabel.

O cheie externă constă dintr-o singură sau colecție de câmpuri dintr-un tabel care poate fi folosită pentru a se referi la cheia primară a altui tabel. Această cheie ajută la menținerea integrității referențiale în relația dintre două tabele. În timp ce tabelul care conține constrângerea cheii străine este cunoscut ca tabel copil, tabelul care conține cheia candidată este etichetat ca tabel părinte.

6. Definiți Join. Care sunt diferitele tipuri de Join?

Join este o clauză SQL concepută pentru a combina înregistrări sau rânduri din două sau mai multe tabele pe baza unei coloane înrudite între ele. Join acționează ca un cuvânt cheie utilizat pentru interogarea datelor din mai multe tabele pe baza relației dintre câmpurile tabelelor. Ele sunt utilizate în principal pentru preluarea datelor. Cu toate acestea, regăsirea datelor depinde în mare măsură de relația dintre tabele.

Există patru tipuri de unire:

  • Inner Join – Acesta este utilizat pentru returnarea înregistrărilor sau rândurilor care conțin cel puțin o valoare de potrivire între tabele.
  • Right Join – Aceasta returnează rândurile care sunt o potrivire comună între mese și toate celelalte rânduri care se află pe masa din partea dreaptă. Pentru a spune simplu, îmbinarea dreaptă returnează toate rândurile din tabelul din partea dreaptă, indiferent de faptul că nu există nicio potrivire disponibilă în tabelul din partea stângă.
  • Left Join – La fel ca join right, left join returnează rânduri care sunt comune între tabele și toate rândurile care se află în tabelul din partea stângă, chiar dacă nu există nicio potrivire disponibilă în tabelul din partea dreaptă.
  • Full Join – Această îmbinare returnează rânduri atunci când orice tabel constă din rânduri care se potrivesc. Cu alte cuvinte, creează un set care conține rezultatul atât al îmbinării din dreapta, cât și al îmbinării din stânga. Prin urmare, setul de rezultate include toate rândurile din tabelele din partea stângă și din partea dreaptă.

7. Ce este un index? Denumiți diferitele tipuri de indici.

În SQL, un index este o metodă de reglare a performanței care permite o recuperare mai rapidă a înregistrărilor din tabele. Acestea accelerează procesul de căutare în baza de date – un index creează o intrare pentru fiecare valoare, făcând astfel mai rapidă recuperarea datelor.

Indecii sunt folosiți pentru a găsi rânduri care se potrivesc cu unele coloane, parcurgând doar acele subseturi de date pentru a găsi potrivirile corecte.

Există trei tipuri de indici:

  • Index unic – Acest index asigură că niciunul dintre două rânduri de date dintr-un tabel nu are valori cheie identice, menținând astfel integritatea datelor. Puteți aplica automat un index unic atunci când definiți cheia primară.
  • Index grupat – Acest index ajută la reordonarea sau rearanjarea ordinii fizice a unui tabel și căutarea pe baza valorilor cheie. În acest index, ordinea rândurilor conținute în baza de date corespunde ordinii rândurilor din index. Acesta este motivul pentru care un tabel poate avea un singur index grupat.
  • Index nonclustered – Acest index menține ordinea logică a datelor. Este folosit pentru a crea o entitate separată în tabel care se referă la tabelul original. Un tabel poate avea mai mulți indecși non-cluster.

8. Ce este AUTO_INCREMENT?

AUTO_INCREMENT este folosit pentru a genera automat un număr unic ori de câte ori o nouă înregistrare este adăugată sau introdusă într-un tabel. Deoarece un tabel are o singură cheie primară, această cheie primară este adăugată ca câmp AUTO_INCREMENT care ajută la creșterea câmpului de fiecare dată când este adăugată o nouă înregistrare.

În mod implicit, valoarea AUTO-INCREMENT începe de la 1 și este incrementată cu 1 ori de câte ori este inserată o nouă înregistrare.

9. Definiți interogare și subinterogare.

O interogare este un cod scris pentru a solicita sau a prelua date dintr-un tabel de bază de date sau mai multe tabele. O interogare poate fi o interogare de acțiune sau o interogare de selectare.

O subinterogare, pe de altă parte, este o interogare în cadrul unei alte interogări. Este cunoscută și ca interogare interioară sau interogare imbricată. O subinterogare este utilizată pentru a restricționa sau îmbunătăți datele care trebuie interogate de interogarea principală, limitând sau îmbunătățind astfel rezultatul interogării principale. De obicei, o subinterogare este executată mai întâi, iar rezultatul este transmis interogării principale.

Există două tipuri de subinterogări:

  • Subinterogare corelată – Această subinterogare nu este o interogare independentă. Cu toate acestea, se poate referi la coloana dintr-un tabel listat în FROM al interogării principale.
  • Subinterogare necorelată – Aceasta este o interogare independentă, iar rezultatul ei este înlocuit în interogarea principală.

10. Definiți Trigger.

Un declanșator este un cod sau un program stocat care este executat automat atunci când au loc evenimente precum instrucțiunea INSERT, DELETE, UPDATE(DML). Ele pot fi, de asemenea, executate ca răspuns la instrucțiunile de definire a datelor (DDL) și operațiunile bazei de date, cum ar fi EROAREA SERVERULUI, LOGON, etc., ajută la menținerea integrității bazei de date.

11. Explicați rolul proprietăților ACID într-o tranzacție.

Proprietățile ACID sunt urmărite pentru a menține consistența într-o bază de date atât înainte, cât și după tranzacții.

  • Atomicitate – Aceasta înseamnă că o tranzacție trebuie finalizată. Nu trebuie lăsat la jumătatea drumului. Dacă vreodată o tranzacție eșuează, întreaga tranzacție va eșua, iar baza de date va rămâne neschimbată.
  • Consecvență – Aceasta urmărește să mențină constrângerile de integritate prin validarea datelor introduse într-o bază de date.
  • Izolare – Această proprietate are scopul de a controla concurența.
  • Durabilitate – Această proprietate asigură că, odată ce o tranzacție este încheiată, aceasta rămâne angajată în ciuda oricăror provocări care pot apărea (de exemplu, pierderea energiei, erori interne etc.).

12. Faceți diferența între comenzile DELETE și TRUNCATE.

Diferența de bază dintre comenzile DELETE și TRUNCATE este după cum urmează:

  • În timp ce comanda DELETE este folosită pentru a șterge sau a elimina unul sau mai multe tabele existente, comanda TRUNCATE șterge toate datele din interiorul unui tabel.
  • DELETE este o comandă DML, în timp ce TRUNCATE este o comandă DDL.
  • DELETE vă permite să realizați un declanșator, dar TRUNCATE nu vă permite să executați și să declanșați.
  • Comanda TRUNCATE nu funcționează când constrângerile de cheie străină fac referire la un tabel. În astfel de cazuri, trebuie să utilizați comanda DELETE.

13. Numiți diferitele subseturi de SQL.

Subseturile de SQL includ:

  • DDL (Data Definition Language) – Acest limbaj vă permite să efectuați o serie de operațiuni pe baza de date, inclusiv comenzi SQL precum obiecte CREATE, ALTER și DELETE.
  • DML (Data Manipulation Language) – Acest limbaj vă permite să accesați și să manipulați datele dintr-o bază de date folosind comenzi precum INSERT, UPDATE și DELETE.
  • DCL (Data Control Language) – Acest limbaj vă permite să controlați accesul la baza de date utilizând comenzi precum GRANT și REVOKE.

Citiți: Top 9 instrumente pentru știința datelor în 2020

14. Explicați integritatea datelor.

Integritatea datelor definește acuratețea, consistența și fiabilitatea datelor stocate în baza de date. Mai mult, ajută la definirea constrângerilor de integritate pentru a aplica regulile de afaceri asupra datelor atunci când acestea sunt introduse într-o bază de date sau într-o aplicație.

Integritatea datelor este de patru feluri:

  • Integritatea rândurilor
  • Integritatea coloanei
  • Integritate referenţială
  • Integritate definită de utilizator

15. Care sunt funcțiile definite de utilizator? Denumiți tipurile de funcții definite de utilizator.

Funcțiile definite de utilizator sunt funcții care sunt scrise special pentru a utiliza o logică specifică, atunci când este necesar. Aceste funcții elimină necesitatea de a scrie aceeași logică de mai multe ori; în schimb, puteți apela sau executa o funcție definită de utilizator oricând este necesar.

Există trei tipuri de funcții definite de utilizator:

  • Funcții scalare.
  • Funcții inline cu valori de tabel.
  • Funcții valoroase cu mai multe instrucțiuni.

16. Definiți colaționarea. Numiți diferitele tipuri de sensibilitate de colare.

Colaţionarea se referă la o colecţie de reguli care determină modul în care datele de caractere sunt sortate şi comparate. Pe lângă definirea secvenței corecte de caractere pentru a sorta datele de caractere, acesta încorporează opțiuni pentru a specifica diferența de majuscule, semne de accent, tipuri de caractere kana și, de asemenea, lățimea caracterelor.

Diferitele tipuri de sensibilitate de colare includ:

  • Sensibilitate la minuscule – Caracterele A și „a” sunt tratate diferit.
  • Sensibilitatea la accent – ​​Caracterele „a” și „ a” sunt tratate diferit.
  • Sensibilitatea Kana – Aceasta tratează diferit personajele japoneze Kana precum Hiragana și Katakana.
  • Sensibilitatea la lățime – Aceasta tratează diferit caracterele pe un singur octet (cu lățime pe jumătate) și caracterele pe două octeți (cu lățime completă).

17. Ce înțelegeți prin procedură stocată?

O procedură stocată este o subrutină (cod SQL) utilizată pentru aplicațiile care accesează RDBMS. Acceptă conceptul de programare modulară, ceea ce înseamnă că puteți crea o procedură stocată o dată și o puteți salva și apela de mai multe ori, după cum este necesar.

Aceste proceduri sunt stocate în dicționarul de date a bazei de date. Avantajul unei proceduri stocate este că permite o execuție mai rapidă a interogărilor. Acest lucru nu numai că reduce traficul de rețea, dar oferă și o mai bună securitate a datelor.

Un alt avantaj este că procedurile stocate vin cu funcționalități suplimentare, deoarece utilizatorii care nu pot accesa datele direct pot folosi procedurile stocate pentru a obține acces.

Cu toate acestea, are și un dezavantaj – o procedură stocată poate fi executată doar într-o bază de date, ocupând de obicei mai multă memorie în serverul bazei de date.

18. Faceți diferența între vederi și tabele.

Iată câteva puncte de diferență între vizualizări și tabele:

  • Vizualizările se referă la un tabel virtual extras dintr-o bază de date, în timp ce un tabel se referă la o entitate structurată care conține un număr limitat de coloane și un număr infinit de rânduri.
  • Vizualizările nu pot deține date de la sine, în timp ce tabelele conțin date și le stochează în baze de date.
  • Vizualizările vă permit să interogați informații specifice conținute în câteva tabele distincte. Cu toate acestea, un tabel conține informații fundamentale despre client, împreună cu cazuri de obiecte caracterizate.

19. Definiți tabelul temporar. Cum poți crea unul?

Un tabel temporar este un tabel care vă permite să stocați și să procesați rezultate intermediare. Aceste tabele pot fi șterse automat atunci când nu mai sunt folosite. Tabelele temporare sunt utile pentru situațiile în care trebuie să stocați date temporare.

Sintaxa pentru crearea unui tabel temporar este:

CREATE TABLE #table_name();

Interogarea de mai jos va crea un tabel temporar:

creați tabelul #book(b_id int, b_cost int)

Acum, vom introduce înregistrările.

inserați în #valori de carte (1.100)

inserați în #valori de carte (2.232)

selectați * din #carte

Învață cursuri de dezvoltare software online de la cele mai bune universități din lume. Câștigă programe Executive PG, programe avansate de certificat sau programe de master pentru a-ți accelera cariera.

Încheierea

Sperăm că acest ghid de întrebări și răspunsuri la interviu SQL vă va ajuta să vă consolidați și să vă extindeți baza de cunoștințe SQL.

Dacă sunteți curios să aflați despre SQL și mai multe despre dezvoltarea full stack, consultați Programul Executive PG de la IIIT-B și upGrad în Full Stack Software Development, care este creat pentru profesioniști care lucrează și oferă peste 10 studii de caz și proiecte, practice practice. ateliere de lucru, mentorat cu experți din industrie, 1-la-1 cu mentori din industrie, peste 400 de ore de învățare și asistență la locul de muncă cu firme de top.

Diploma PG în Dezvoltare Software Full Stack

Aplicați acum pentru Programul Executive PG în Full Stack Development