Cele mai frecvente 20 de întrebări și răspunsuri la interviu cu interogări SQL [Pentru cei proaspăți și cu experiență]
Publicat: 2021-07-14Asistând la un interviu SQL și vă întrebați care sunt toate întrebările și discuțiile prin care veți trece? Înainte de a participa la un interviu SQL, este mai bine să aveți o idee despre tipurile de întrebări de interviu SQL care vor fi adresate, astfel încât să puteți pregăti mental răspunsuri pentru ele.
Pentru a vă ajuta, am creat ghidul de întrebări și răspunsuri de top pentru interviul SQL pentru a înțelege profunzimea și intenția reală a întrebărilor interviului SQL. Să începem.
Structured Query Language (SQL) este un limbaj de programare popular și utilizat pe scară largă pentru gestionarea, manipularea și interogarea datelor în baze de date relaționale. Deși SQL nu este tocmai cel mai rapid limbaj pentru comunicarea cu bazele de date relaționale, este, fără îndoială, cel mai eficient mijloc de manipulare a datelor structurate.
În comparație cu API-urile tradiționale de citire-scriere precum ISAM sau VSAM , SQL extinde două beneficii principale:
- Vă permite să accesați mai multe înregistrări folosind o singură comandă.
- Elimină necesitatea de a specifica modul de accesare a unei înregistrări (dacă se utilizează sau nu un index) dintr-o bază de date.
O interogare SQL este o întrebare sau o solicitare pentru accesarea datelor stocate într-o bază de date. O bază de date stochează informații într-un format tabelar. Astfel, conține rânduri și coloane. În timp ce câmpurile bazei de date formează coloanele care direcţionează baza de date cu privire la ce informaţii poate stoca, rândurile conţin datele. Iată un exemplu de set de date numit „tblAlbum” pentru a pune lucrurile în perspectivă:
Sursă
Să creăm o interogare SQL folosind aceste date eșantion. Ne vom concentra pe alegerea doar a acelor albume cu o evaluare de 9 sau mai mare. Deci, în esență, solicităm interogării să producă o listă de titluri de album din baza de date cu o evaluare egală sau mai mare de 9. Veți folosi cuvinte cheie relevante pentru a obține răspunsul dorit.
Cuvintele cheie din acest scenariu sunt – SELECT (dictarea pentru preluarea informațiilor din baza de date), FROM (tabelul specific care conține datele menționate) și WHERE (dictarea criteriilor de accesare a informațiilor). Când utilizați aceste cuvinte cheie, interogarea dvs. SQL va arăta astfel:
SELECTează titlul albumului din tblAlbums
WHERE rating >= 9;
Astfel, alegeți (SELECT) datele din (FROM) tabelul „tblAlbums” unde (UNDE) ratingul albumului este de 9 sau mai mult. Declarația WHERE poate fi fie foarte simplă, fie excesiv de complexă dacă este implicată o cantitate substanțială de logică imbricată. La rularea interogării, veți obține următorul rezultat:
albumTitle
Simfonie în re minor
Inima poetului
Acum că aveți o înțelegere de bază a ce sunt interogările SQL și cum funcționează acestea, haideți să vedem douăzeci de întrebări de interviu cu interogare SQL!
Înainte de a începe cu întrebările interviului de interogare SQL, consultați aceste tabele de referință - interogările noastre se vor baza pe aceste tabele.
Tabel EmployeeInfo:
EmpID | EmpFname | EmpLname | Departament | Proiect | Abordare | DOB | Gen |
1 | Rohit | Gupta | Admin | P1 | Delhi | 02/12/1979 | Masculin |
2 | Rahul | Mahajan | Admin | P2 | Mumbai | 10/10/1986 | Masculin |
3 | Sonia | Banerjee | HR | P3 | Pune | 05/06/1983 | Femeie |
4 | Ankita | Kapoor | HR | P4 | Chennai | 28/11/1983 | Femeie |
5 | Swati | Garg | HR | P5 | Delhi | 06/04/1991 | Femeie |
Tabelul EmployeePosition:
EmpID | Poziție | DateOfJoining | Salariu |
1 | Executiv | 01/04/2020 | 75000 |
2 | Administrator | 03.04.2020 | 500000 |
3 | Administrator | 02.04.2020 | 150000 |
2 | Ofiţer | 02.04.2020 | 90000 |
1 | Administrator | 03.04.2020 | 300000 |
Întrebări și răspunsuri la interviu SQL Query
- Scrieți o interogare pentru a obține EmpFname din tabelul EmpFloyeeInfo în majuscule, folosind numele de alias ca EmpName.
Interogarea pentru această condiție este:
SELECTAȚI UPPER(EmpFname) AS EmpName FROM EmployeeInfo;
- Scrieți o interogare pentru a obține numărul de angajați care lucrează în departamentul „HR”.
Iată interogarea pentru această cerere:
SELECTARE COUNT(*) FROM EmployeeInfo WHERE Departament = 'HR';
- Ce interogare veți scrie pentru a obține data curentă?
Pentru a prelua data curentă, puteți scrie această interogare pe serverul SQL:
SELECTARE GETDATE();
Pentru a prelua data curentă, puteți scrie această interogare în MySQL:
SELECTARE SYSTDATE();
- Scrieți o interogare pentru a prelua numai numele locului (șirul înainte de paranteze) din coloana Adresă din tabelul EmployeeInfo.
Puteți utiliza funcția MID din MySQL pentru a crea următoarea interogare:
SELECT MID(Adresa, 0, LOCATE('(',Adresa)) FROM EmployeeInfo;
Puteți folosi SUBSTRING pentru a crea următoarea interogare:
SELECT SUBSTRING(Adresa, 1, CHARINDEX('(',Adresa)) FROM EmployeeInfo;
Citiți mai multe: SQL pentru știința datelor: de ce SQL
- Scrieți o interogare pentru a crea un tabel nou ale cărui date și structură sunt copiate dintr-un alt tabel.
Puteți utiliza comanda SELECT INTO pentru a crea următoarea interogare:
SELECT * INTO NewTable FROM EmployeeInfo WHERE 1 = 0;
Puteți utiliza comanda CREATE în MySQL pentru a crea următoarea interogare:
CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;
- Scrieți o interogare pentru a afișa numele angajaților care încep cu „S”.
Aceasta este interogarea pe care trebuie să o scrieți pentru a obține numele angajaților ale căror nume încep cu „S”:
SELECTAȚI * FROM EmployeeInfo WHERE EmpFname LIKE 'S%';
- Scrieți o interogare pentru a prelua primele N înregistrări.
Puteți scrie o interogare folosind comanda TOP din SQL Server:
SELECTAȚI TOP N * FROM EmployeePosition ORDENAȚI DUPĂ Salariul DESC;
De asemenea, puteți crea o interogare folosind comanda LIMIT din MySQL:
SELECTAȚI * DIN OFERTAȚIE ORDINAȚI DUPĂ Salariul DESC LIMIT N;
- Scrieți o interogare pentru a obține înregistrări relevante din tabelul EmployeeInfo, ordonate după departament în ordine crescătoare și EmpLname în ordine descrescătoare.
Trebuie să utilizați instrucțiunea ORDER BY în SQL în acest scop;
SELECTAȚI * FROM EmployeeInfo ORDER BY Departament asc, EmpFname desc;
- Scrieți o interogare pentru a obține detaliile angajaților al căror EmpFname se termină cu „A”.
Puteți utiliza operatorul LIKE în SQL pentru a crea o interogare pentru această problemă:
SELECTAȚI * FROM EmployeeInfo WHERE EmpFname LIKE '____a';
10. Creați o interogare pentru a obține detalii despre angajații care au ca adresă „DELHI”.
SELECTAȚI * FROM EmployeeInfo WHERE Adresa LIKE 'DELHI%';
Citiți: Top 9 instrumente pentru știința datelor în 2020
- Scrieți o interogare pentru a prelua toți angajații care dețin și funcția de conducere.
Orice ghid de întrebări și răspunsuri la interviu SQL nu se va completa fără această întrebare.
Iată interogarea pentru a obține angajații care ocupă funcția de conducere:
SELECTAȚI E.EmpFname, E.EmpLname, P.EmpPosition
DE LA EmployeeInfo E INNER JOIN EmployeePosition P ON
E.EmpID = P.EmpID ȘI P.EmpPosition IN („Manager”);
- Creați o interogare pentru a genera prima și ultima înregistrare din tabelul EmployeeInfo.
Una dintre cele mai frecvente întrebări de interviu SQL.
Iată interogarea pentru a prelua prima înregistrare din tabelul EmployeeInfo:
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MIN(EmpID) FROM EmployeeInfo);
Iată interogarea pentru a prelua ultima înregistrare din tabelul EmployeeInfo:
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MAX(EmpID) FROM EmployeeInfo);
- Creați o interogare pentru a verifica dacă valoarea transmisă interogării urmează formatul de dată al tabelelor EmployeeInfo și EmployeePosition.
Puteți utiliza funcția IsDate() în SQL pentru a verifica dacă valoarea transmisă urmează sau nu formatul specificat. Returnează 1 (adevărat) sau 0 (fals) în consecință. Iată cum va arăta interogarea:
SELECTARE ISDATE('01/04/2020′) CA „LL/ZZ/AA”;
Rularea acestei interogări va returna 0, deoarece valoarea transmisă nu se potrivește cu formatul specificat.
- Creați o interogare pentru a obține angajați afișați cu salarii egale sau mai mari de 150000.
Interogarea pentru această solicitare va fi:
SELECTEAZĂ EmpName FROM Angajații WHERE Salary>=150000;
- Scrieți o interogare pentru a prelua anul folosind o dată.
Puteți obține anul de la o dată pe un server SQL rulând următoarea interogare:
SELECTAȚI AN(GETDATE()) ca „An”;
- Creați o interogare SQL pentru a prelua EmpPostion și salariul total plătit pentru fiecare post de angajat.
Interogarea pentru această solicitare este:
SELECTAȚI poziția de angajare, SUMA (Salariu) din Poziția de angajat GROUP BY Poziție;
- Scrieți o interogare pentru a găsi înregistrări duplicate dintr-un tabel.
Una dintre cele mai frecvente întrebări din orice ghid de întrebări și răspunsuri de interviu SQL.
SELECT EmpID, EmpFname, Department COUNT(*)
FROM EmployeeInfo GROUP BY EmpID, EmpFname, Department
AVÂND NUMĂRARE(*) > 1;
- Creați o interogare pentru a obține al treilea cel mai mare salariu din tabelul EmpPosition.
SELECTARE TOP 1 salariu
DIN(
SELECTARE TOP 3 salariu
FROM angajat_table
COMANDA DUPA salariu DESC) AS emp
COMANDA DUPA salariu ASC;
- Scrieți o interogare SQL pentru a găsi înregistrări pare și impare în tabelul EmployeeInfo.
Trebuie să utilizați funcția MOD() pentru a prelua înregistrările pare și impare dintr-un tabel. Pentru înregistrări egale, interogarea va fi:
SELECTEAZE EmpID FROM (SELECT rowno, EmpID din EmployeeInfo) WHERE MOD(rowno,2)=0;
Pentru înregistrările impare, interogarea va fi:
SELECTEAZE EmpID FROM (SELECT rowno, EmpID din EmployeeInfo) WHERE MOD(rowno,2)=1;
- Creați o interogare pentru a prelua lista angajaților aceluiași departament.
Iată interogarea pentru această solicitare:
Selectați DISTINCT E.EmpID, E.EmpFname, E.DepartmentFROM EmployeeInfo E, Employee E1
WHERE E.Department = E1.Department ȘI E.EmpID != E1.EmpID;
Învață cursuri de 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.
Concluzie
Cu asta, ajungem la sfârșitul listei noastre de întrebări interviu cu interogare SQL. Sperăm că aceste interogări vă oferă o idee corectă despre modelul standard de interogare SQL și despre cum să creați interogări SQL. Cu cât exersați mai mult, cu atât veți deveni mai bine la scrierea interogărilor SQL pentru a accesa și a manipula datele dintr-un tabel de date.
Dacă sunteți curios să vă îmbunătățiți cunoștințele SQL și mai multe despre dezvoltarea full stack, consultați IIIT-B & upGrad PG Diploma î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, 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.