Cele Mai Bune Întrebări Pentru Interviul SQL: Să Începem
Cele Mai Bune Întrebări Pentru Interviul SQL: Să Începem
Să începem.
Q # 1) Ce este SQL?
Răspuns: Structured Query Language SQL este un instrument de bază de date care este utilizat
pentru a crea și accesa baza de date pentru a sprijini aplicațiile software.
Răspuns: Tabelul este o colecție de înregistrări și informațiile sale într-o singură vizualizare.
Răspuns:
a) DDL (Limbajul de definire a datelor): Este folosit pentru a defini structura bazei de date,
cum ar fi tabelele. Acesta include trei declarații, cum ar fi CREATE, ALTER și DROP.
VÂRSTĂ: Tabelul ALTER este utilizat pentru modificarea obiectului de tabel existent în baza
de date.
Instrucțiunea SELECT este utilizată ca o instrucțiune DML parțială, utilizată pentru a selecta
toate sau înregistrările relevante din tabel.
c) DCL (Limbajul de control al datelor): Aceste declarații sunt folosite pentru a seta privilegii,
cum ar fi permisiunea de acces GRANT și REVOKE la baza de date pentru utilizatorul specific .
Sintaxă:
Răspuns:
Clauza unde: Această clauză este utilizată pentru a defini condiția, extrage și afișa numai acele
înregistrări care îndeplinesc condiția dată.
Sintaxă:
Sintaxă:
Având clauza: Această clauză este utilizată în asociere cu clauza GROUP BY. Se aplică fiecărui
grup de rezultate sau întregului rezultat ca un singur grup. Este mult similar cu clauza WHERE,
dar singura diferență este că nu o puteți folosi fără clauza GROUP BY
Sintaxă:
Clauza ORDER BY: Această clauză este utilizată pentru a defini ordinea ieșirii interogării fie în
ascendent (ASC), fie în descendent (DESC). Ascendent (ASC) este setat ca implicit, dar
descendent (DESC) este setat explicit.
Sintaxă:
Clauza de UTILIZARE: Clauza USING este utilizată în timp ce lucrați cu SQL JOIN. Este
folosit pentru a verifica egalitatea pe baza coloanelor atunci când tabelele sunt unite. Poate fi
folosit în locul clauzei ON din JOIN.
Sintaxă:
Răspuns: Constrângerile sunt folosite pentru a seta regulile pentru toate înregistrările din tabel.
Dacă se constată încălcarea oricăror constrângeri, atunci poate anula acțiunea care a provocat-o.
Constrângerile sunt definite la crearea bazei de date în sine cu instrucțiunea CREATE TABLE
sau chiar după ce tabela este creată o dată cu instrucțiunea ALTER TABLE.
NU NUL: Asta indică faptul că coloana trebuie să aibă o anumită valoare și nu poate fi
lăsată NULL.
UNIC: Această constrângere este utilizată pentru a se asigura că fiecare rând și coloană
are o valoare unică și că nici o valoare nu se repetă în niciun alt rând sau coloană.
CHEIA PRINCIPALA: Această constrângere este utilizată în asociere cu constrângeri
NOT NULL și UNIQUE, cum ar fi pe una sau combinația de mai multe coloane pentru a
identifica înregistrarea specială cu o identitate unică.
CHEIE EXTERNĂ: Este utilizat pentru a asigura integritatea referențială a datelor din
tabel. Se potrivește valoarea dintr-un tabel cu alta folosind CHEIA PRIMARĂ.
VERIFICA: Acesta asigură dacă valoarea din coloane îndeplinește condiția specificată.
Răspuns:
Se utilizează 4 tipuri majore de Joins în timp ce se lucrează la mai multe tabele în bazele de date
SQL:
Sintaxă:
De exemplu,
Sintaxă:
De exemplu,
Sintaxă:
De exemplu,
În acest exemplu, avem un tabel Angajat cu următoarele date:
Ieșire:
Emp_id Data_înscriere
E0012 18/04/2016
E0013 19.04.2016
E0014 01.05.2016
FULL JOIN (FULL OUTER JOIN): Această alăturare returnează toate rezultatele atunci când
există o potrivire fie în tabelul DREAPTA, fie în tabelul STÂNGA .
Sintaxă:
De exemplu,
Răspuns: O tranzacție poate fi definită ca sarcina de secvență care se efectuează pe baze de date
într-un mod logic pentru a obține anumite rezultate. Operațiuni precum Crearea, actualizarea,
ștergerea înregistrărilor efectuate în baza de date provin din tranzacții.
În cuvinte simple, putem spune că o tranzacție înseamnă un grup de interogări SQL executate în
înregistrările bazei de date.
COMITEAZA : Este folosit pentru a salva toate modificările făcute prin tranzacție.
REALIZARE : Este folosit pentru a reveni la tranzacție. Toate modificările efectuate de
tranzacție sunt returnate înapoi și baza de date rămâne la fel ca înainte.
SETAȚI TRANZACȚIA : Setați numele tranzacției.
SAVEPOINT: Este folosit pentru a seta punctul în care tranzacția urmează să fie reluată.
Răspuns: Proprietățile tranzacției sunt cunoscute sub numele de proprietăți ACID. Acestea
sunt:
Răspuns: Funcțiile SQL Aggregate determină și calculează valori din mai multe coloane dintr-
un tabel și returnează o singură valoare.
Răspuns: Funcțiile scalare sunt utilizate pentru a returna o singură valoare pe baza valorilor de
intrare.
Răspuns: Declanșatoarele în SQL sunt un fel de proceduri stocate utilizate pentru a crea un
răspuns la o acțiune specifică efectuată pe masă, cum ar fi INSERT, UPDATE sau DELETE.
Puteți invoca declanșatorii în mod explicit pe tabelul din baza de date.
Acțiunea și evenimentul sunt două componente principale ale declanșatoarelor SQL. Când se
efectuează anumite acțiuni, evenimentul are loc ca răspuns la acțiunea respectivă.
Sintaxă:
CREATE TRIGGER name BEFORE (event [OR..]} ON table_name [FOR [EACH] ROW]
EXECUTE PROCEDURE functionname {arguments}
Răspuns: O vizualizare poate fi definită ca un tabel virtual care conține rânduri și coloane cu
câmpuri de la unul sau mai multe tabele.
S yntax:
Sintaxă:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name
WHERE condition
Răspuns: Comenzile SQL GRANT și REVOKE sunt utilizate pentru a implementa privilegii în
medii SQL cu mai mulți utilizatori. Administratorul bazei de date poate acorda sau revoca
privilegii către sau de la utilizatorii obiectelor bazei de date utilizând comenzi precum SELECT,
INSERT, UPDATE, DELETE, ALL etc.
Comanda GRANT : Această comandă este utilizată pentru a oferi acces la baza de date pentru
alți utilizatori decât administratorul.
Sintaxă:
În sintaxa de mai sus, opțiunea GRANT indică faptul că utilizatorul poate acorda acces și altui
utilizator.
Comanda REVOKE : Această comandă este utilizată pentru a oferi refuzarea bazei de date sau
pentru a elimina accesul la obiectele bazei de date.
Sintaxă:
Privilegiu de sistem: Privilegiile de sistem se ocupă de obiectul unui anumit tip și oferă
utilizatorilor dreptul de a efectua una sau mai multe acțiuni asupra acestuia. Aceste
acțiuni includ efectuarea de sarcini administrative, ALTER ORICE INDEX, ALTER
ORICE CACHE GROUP CREATE / ALTER / DELETE TABLE, CREATE / ALTER /
DELETE VIEW etc.
Privilegiul obiectului: Aceasta permite efectuarea de acțiuni asupra unui obiect sau
obiect al altui utilizator, respectiv. tabel, vizualizare, indexuri etc. Unele dintre
privilegiile de obiect sunt EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH,
LOAD, INDEX, REFERENCES etc.
Răspuns: SQL Injection este un tip de tehnică de atac al bazei de date în care instrucțiunile SQL
rău intenționate sunt inserate într-un câmp de intrare al bazei de date într-un mod în care odată ce
este executată, baza de date este expusă unui atacator pentru atac. Această tehnică este de obicei
utilizată pentru atacarea aplicațiilor bazate pe date pentru a avea acces la date sensibile și pentru
a efectua sarcini administrative pe baze de date.
De exemplu,
Răspuns: SQL Sandbox este un loc sigur în mediul serverului SQL în care sunt executate
scripturi de încredere. Există 3 tipuri de sandbox SQL:
Sandbox cu acces sigur: Aici un utilizator poate efectua operațiuni SQL, cum ar fi
crearea de proceduri stocate, declanșatoare etc., dar nu poate avea acces la memorie și nu
poate crea fișiere.
Sandbox cu acces extern: Utilizatorii pot accesa fișiere fără a avea dreptul să
manipuleze alocarea memoriei.
Sandbox cu acces nesigur: Acesta conține coduri de încredere în care un utilizator poate
avea acces la memorie.
Răspuns: SQL este un limbaj de interogare structurat pentru a crea și accesa baze de date, în
timp ce PL / SQL vine cu concepte procedurale de limbaje de programare.
Răspuns: SQL este un limbaj de interogare structurat care este utilizat pentru manipularea și
accesarea bazei de date relaționale. Pe de altă parte, MySQL în sine este o bază de date
relațională care folosește SQL ca limbaj standard al bazei de date.
Răspuns: Funcția NVL este utilizată pentru a converti valoarea nulă la valoarea sa reală.
Răspuns: Rezultatul Cross Join se numește produs cartezian. Returnează rânduri care combină
fiecare rând din primul tabel cu fiecare rând al celui de-al doilea tabel. De exemplu, dacă unim
două tabele având 15 și 20 de coloane, produsul cartezian din două tabele va fi 15 × 20 = 300 de
rânduri.
Răspuns: Există operatori de comparație pe 3 rânduri care sunt folosiți în subinterogări precum
IN, ANY și ALL.
Un tabel poate avea un singur index grupat, dar mai mulți indici non-grupați.
Indicii grupați pot fi citiți mai degrabă decât indicii ne-grupați.
Indicii clusterizați stochează datele fizic în tabel sau vizualizare, în timp ce indexurile
non-cluster nu stochează date în tabel, deoarece are o structură separată de rândul de date.
Diferența de bază în ambele este comanda DELETE este comanda DML și comanda
TRUNCATE este DDL.
Comanda DELETE este utilizată pentru a șterge un anumit rând din tabel, în timp ce
comanda TRUNCATE este utilizată pentru a elimina toate rândurile din tabel.
Putem folosi comanda DELETE cu clauza WHERE dar nu putem folosi comanda
TRUNCATE cu ea.
Răspuns: TRUNCATE elimină toate rândurile din tabel care nu pot fi recuperate înapoi, DROP
elimină întregul tabel din baza de date și, de asemenea, nu poate fi recuperat înapoi.
Q # 28) Cum se scrie o interogare pentru a arăta detaliile unui student din tabelul Studenți
al cărui
numele începe cu K?
Răspuns: Interogare:
Răspuns: Normalizarea este utilizată pentru a organiza datele în așa fel încât redundanța datelor
să nu apară niciodată în baza de date și să evite inserarea, actualizarea și ștergerea anomaliilor.
Prima formă normală (1NF): Elimină toate coloanele duplicate din tabel. Acesta
creează un tabel pentru datele conexe și identifică valorile unice ale coloanei.
Prima formă normală (2NF): Urmărește 1NF și creează și plasează subseturi de date
într-un tabel individual și definește relația dintre tabele utilizând cheia primară.
A treia formă normală (3NF): Urmărește 2NF și elimină acele coloane care nu sunt
legate prin cheia primară.
A patra formă normală (4NF): Urmărește 3NF și nu definește dependențe cu mai multe
valori. 4NF este, de asemenea, cunoscut sub numele de BCNF.
Răspuns: Relația poate fi definită ca conexiunea dintre mai multe tabele din baza de date.
Răspuns: O procedură stocată este o colecție de instrucțiuni SQL care pot fi utilizate ca o funcție
de acces la baza de date. Putem crea aceste proceduri stocate mai devreme înainte de ao utiliza și
le putem executa ori de câte ori este necesar, aplicându-i o logică condițională. Procedurile
stocate sunt, de asemenea, utilizate pentru a reduce traficul de rețea și pentru a îmbunătăți
performanța.
Sintaxă:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in
stored procedures to update/retrieve records END
Răspuns: Un cursor este un obiect de bază de date care este utilizat pentru a manipula datele
într-un mod rând-la-rând.
Declarați cursorul
Deschideți cursorul
Recuperați rândul din Cursor
Procesați rândul
Închideți cursorul
Alocați cursorul
Răspuns: Colacționarea este un set de reguli care verifică modul în care datele sunt sortate
comparându-le. De exemplu, datele despre caractere sunt stocate utilizând secvența corectă de
caractere împreună cu sensibilitatea la majuscule, tipul și accentul.
Răspuns: În testarea bazei de date, următorul lucru este necesar pentru a fi testat:
Cartografierea datelor
Date stocate și recuperate
Utilizarea tehnicilor de testare a cutiei negre, cum ar fi partiționarea echivalenței și
analiza valorii limită (BVA)
Răspuns: Indexul poate fi definit ca modalitatea de a prelua datele mai rapid. Putem defini
indexuri folosind instrucțiuni CREATE.
Sintaxă:
Răspuns: Pentru a selecta toate înregistrările din tabel, trebuie să folosim următoarea sintaxă:
Răspuns: Cuvântul cheie Join este folosit pentru a prelua date din două sau mai multe tabele
conexe. Returnează rânduri în care există cel puțin o potrivire în ambele tabele incluse în
alăturare. Citiți mai multe aici .
Tipul de asocieri sunt:
1. Alăturați-vă drept
2. Alăturare exterioară
3. Alăturați-vă complet
4. Alăturați-vă încrucișat
5. Unirea de sine.
De exemplu,
Răspuns: DELETE este folosit pentru a șterge un rând sau rânduri dintr-un tabel pe baza
condiției specificate.
Sintaxa de bază este după cum urmează:
Răspuns: O cheie primară este o coloană ale cărei valori identifică în mod unic fiecare rând
dintr-un tabel. Valorile cheie primare nu pot fi refolosite niciodată.
Q # 49) Ce sunt cheile străine?
Răspuns: Când câmpul cheie primar al unui tabel este adăugat la tabelele conexe pentru a crea
câmpul comun care leagă cele două tabele, acesta a numit o cheie străină în alte tabele.
Constrângerile cheii străine impun integritatea referențială.
Răspuns: O constrângere CHECK este utilizată pentru a limita valorile sau tipul de date care pot
fi stocate într-o coloană. Acestea sunt utilizate pentru a impune integritatea domeniului.
Răspuns: Da, un tabel poate avea multe chei străine, dar numai o cheie principală.
Răspuns: Pentru un câmp de date BOOLEAN, sunt posibile două valori: -1 (adevărat) și 0 (fals).
Răspuns: O procedură stocată este un set de interogări SQL care pot prelua intrarea și trimite
înapoi ieșirea.
Răspuns: O coloană de identitate în care SQL generează automat valori numerice. Putem defini
o valoare de pornire și de creștere a coloanei de identitate.
Răspuns: Declanșatorul ne permite să executăm un lot de cod SQL atunci când apare
evenimentul tabelului (comenzile INSERT, UPDATE sau DELETE sunt executate pe un anumit
tabel).
De exemplu,
SELECT * FROM table_name SAMPLE(10);
Q # 59) Scrieți o interogare SQL SELECT care returnează fiecare nume doar o singură
dată dintr-un tabel?
Răspuns: Pentru a obține rezultatul ca fiecare nume o singură dată, trebuie să folosim cuvântul
cheie DISTINCT.
DDL înseamnă Limbajul de definire a datelor. CREATE, ALTER, DROP, RENAME sunt
instrucțiuni DDL.
Răspuns: Ordinea clauzelor SQL SELECT este: SELECT, FROM, WHERE, GROUP BY,
HAVING, ORDER BY. Doar clauzele SELECT și FROM sunt obligatorii.
Q # 63) Să presupunem că o coloană Student are două coloane, Nume și Marcaje. Cum să
obțineți numele și notele primilor trei studenți.
Răspuns: SELECT Nume, marchează FROM Student s1 unde 3<= (SELECT COUNT(*)
FROM Students s2 WHERE s1.marks = s2.marks)
Răspuns: Comentariile SQL pot fi inserate prin adăugarea a două cratime consecutive (-).
Răspuns:
ȘTERGE elimină unele sau toate rândurile dintr-un tabel pe baza condiției. Poate fi rulat
înapoi.
TRUNCHIA elimină TOATE rândurile dintr-un tabel prin alocarea paginilor de
memorie. Operațiunea nu poate fi derulată înapoi
CĂDERE BRUSCA comanda elimină complet un tabel din baza de date.
1. Atomicitate
2. Coerență
3. Izolare
4. Durabilitate.
Răspuns: Este o pseudo coloană lungă de 18 caractere atașată la fiecare rând al unui tabel.
Răspuns:
Răspuns: O tranzacție este o secvență de cod care rulează împotriva unei baze de date. Acesta
duce baza de date de la o stare consecventă la alta.
Un tabel poate avea o singură CHEIE PRIMARĂ, în timp ce poate exista orice număr de
chei UNICE.
Cheia primară nu poate conține valori nule, în timp ce cheia unică poate conține valori
nule.
Răspuns: Un index este o structură specială asociată cu un tabel pentru a accelera performanța
interogărilor. Indexul poate fi creat pe una sau mai multe coloane ale unui tabel.
Răspuns: O Subinterogare este un subset de instrucțiuni selectate ale căror valori de returnare
sunt utilizate în condițiile de filtrare ale interogării principale.
Răspuns: Optimizarea interogării este un proces în care un sistem de baze de date compară
diferite strategii de interogare și selectează interogarea cu cel mai mic cost.
Răspuns: Set de reguli care definesc modul în care sunt stocate datele, modul în care pot fi
tratate sensibilitatea la majuscule și minuscule și caracterul Kana etc.
Răspuns: Set de reguli care restricționează valorile uneia sau mai multor coloane ale tabelelor pe
baza valorilor cheii primare sau a cheii unice a tabelului de referință.
Răspuns: Case facilitează tipul de logică if-then-else în SQL. Evaluează o listă de condiții și
returnează una dintre multiplele expresii de rezultate posibile.
Răspuns: O tabelă temporară este o structură de stocare temporară pentru stocarea temporară a
datelor.
Răspuns: Prin utilizarea cuvântului cheie DISTINCT, duplicarea înregistrărilor într-o interogare
poate fi evitată.
Răspuns: Redenumirea este un nume permanent dat unei tabele sau coloane, în timp ce Alias
este un nume temporar dat unei tabele sau coloane.
Q # 81) Ce este o vizualizare?
Răspuns: O vizualizare este un tabel virtual care conține date de la unul sau mai multe tabele.
Vizualizările restricționează accesul la date al tabelului selectând numai valorile necesare și
facilitează interogările complexe.
Q # 83) Enumerați diferitele privilegii pe care le poate acorda un utilizator altui utilizator?
Răspuns: O schemă este o colecție de obiecte de baze de date ale unui utilizator.
Răspuns: Un tabel este unitatea de bază de stocare a datelor în sistemul de gestionare a bazelor
de date. Datele din tabel sunt stocate în rânduri și coloane.
Răspuns: Ambele specifică o condiție de căutare, dar clauza Have este utilizată numai cu
instrucțiunea SELECT și de obicei este utilizată cu clauza GROUP BY.
Dacă clauza GROUP BY nu este utilizată, atunci după ce s-a comportat doar ca clauza WHERE.
Răspuns: O expresie CTE sau tabelă comună este o expresie care conține un set de rezultate
temporare care este definit într-o instrucțiune SQL.
Concluzie
SQL este o componentă esențială a sistemului de baze de date. A avea cunoștințe bine versate
despre baza de date împreună cu concepte SQL va fi cu siguranță benefică pentru a sparge
interviul pentru profilul în cauză.