logo

Întrebări de interviu SQL Query

SQL sau Limbajul de interogare structurat este un limbaj standard pentru bazele de date relaționale. Interogările SQL sunt instrumente puternice folosite pentru a, manipula și gestiona datele stocate în aceste baze de date, cum ar fi MySQL , Oracol , PostgreSQL , etc. Indiferent dacă preluați anumite puncte de date, efectuați analize complexe sau modificați structurile bazei de date, interogările SQL oferă un limbaj standardizat pentru executarea eficientă a acestor sarcini.

Aici, vom acoperi Peste 45 de întrebări la interviu MySQL cu răspunsuri care sunt cerute frecvent în timpul interviuri pentru Data Analyst și Inginer de date poziții la MAANG și alte companii bine plătite. Fie că ești un mai proaspăt sau un profesionist cu experienta cu 5 , 8 , sau 10 ani de experiență, acest articol vă oferă toată încrederea de care aveți nevoie pentru a obține succesul următorului interviu.



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

Am creat trei exemple de tabele:Masa elevilor,Tabelul de programe, șiTabel de burse. Vom folosi aceste tabele pentru a efectua diverse operații de interogare.

Masa elevilor

CARNET DE STUDENT



NUME

NUME

GPA



ENROLMENT_DATE

MAJOR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Informatică

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematică

203

Rakesh

Kumar

5,60

2021-09-01 10:00:00

Biologie

204

Radha

Sharma

9.20

2021-09-01 12:45:00

Chimie

205

OMS

Kumar

7,85

2021-09-01 08:30:00

Fizică

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Istorie

207

Pankaj

Cuve

9,78

2021-09-01 02:30:00

Engleză

208

Navleen

Kaur

7.00

2021-09-01 06:30:00

Matematică

Tabelul de programe

STUDENT_REF_ID

NUMELE PROGRAMULUI

PROGRAM_START_DATE

201

Informatică

2021-09-01 00:00:00

202

Matematică

java sortarea unei liste de matrice

2021-09-01 00:00:00

208

Matematică

2021-09-01 00:00:00

205

Fizică

2021-09-01 00:00:00

204

Chimie

2021-09-01 00:00:00

207

Psihologie

2021-09-01 00:00:00

206

Istorie

2021-09-01 00:00:00

203

Biologie

2021-09-01 00:00:00

Tabel de burse

STUDENT_REF_ID

SCHOLARSHIP_AMOUNT

SCHOLARSHIP_DATE

201

5000

2021-10-15 00:00:00

202

4500

2022-08-18 00:00:00

203

3000

25-01-2022 00:00:00

201

4000

2021-10-15 00:00:00

Să începem prin a arunca o privire la unele dintre ele cele mai puse întrebări de interviu SQL Query :

1. Scrieți o interogare SQL pentru a prelua FIRST_NAME din tabelul Student în majuscule și utilizați numele ALIAS ca STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

Ieșire:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Scrieți o interogare SQL pentru a prelua valori unice ale Subiectelor MAJOR din tabelul Student.

SELECT DISTINCT MAJOR from STUDENT; or SELECT MAJOR FROM STUDENT GROUP BY(MAJOR);>

Ieșire:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Scrieți o interogare SQL pentru a tipări primele 3 caractere din FIRST_NAME din tabelul Student.

SELECT SUBSTRING(FIRST_NAME, 1, 3) FROM Student;>

Ieșire:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Scrieți o interogare SQL pentru a găsi poziția alfabetului (‘a’) în coloana prenumelui „Shivansh” din tabelul Student.

SELECT INSTR(FIRST_NAME, 'a') FROM Student WHERE FIRST_NAME = 'Shivansh';>

Ieșire:

5>

5. Scrieți o interogare SQL care preia valorile unice ale Subiectelor MAJOR din tabelul Student și imprimați lungimea acesteia.

SELECT MAJOR,LENGTH(MAJOR) FROM Student GROUP BY(MAJOR); or SELECT DISTINCT MAJOR, LENGTH(MAJOR) FROM Student;>

Ieșire:

MAJOR

LUNGIME (MAJOR)

Informatică

16

Matematică

unsprezece

Biologie

7

Chimie

9

Fizică

7

Istorie

7

Engleză

7

6. Scrieți o interogare SQL pentru a tipări FIRST_NAME din tabelul Student după înlocuirea „a” cu „A”.

SELECT REPLACE(FIRST_NAME, 'a', 'A') FROM Student;>

Ieșire:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Scrieți o interogare SQL pentru a tipări FIRST_NAME și LAST_NAME din tabelul Student într-o singură coloană COMPLETE_NAME.

SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS COMPLETE_NAME FROM Student;>

Ieșire:

Shivansh Mahajan Umesh Sharma Rakesh Kumar Radha Sharma Kush Kumar Prem Chopra Pankaj Vats Navleen Kaur>

8. Scrieți o interogare SQL pentru a tipări toate detaliile Student din ordinea tabelului Student, după FIRST_NAME Crescător și MAJOR Subiect descrescător.

SELECT * FROM Student ORDER BY FIRST_NAME , MAJOR DESC;>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

205

OMS

Kumar

7,85

2021-09-01 08:30:00

Fizică

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematică

207

Pankaj

Cuve

9,78

2021-09-01 02:30:00

Engleză

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Istorie

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologie

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Informatică

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematică

9. Scrieți o interogare SQL pentru a imprima detaliile Studenților cu FIRST_NAME ca „Prem” și „Shivansh” din tabelul Student.

SELECT * from Student WHERE FIRST_NAME IN ('Prem' , 'Shivansh');>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Informatică

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Istorie

10. Scrieți o interogare SQL pentru a imprima detaliile Studenților, excluzând FIRST_NAME ca „Prem” și „Shivansh” din tabelul Student.

SELECT * from Student WHERE FIRST_NAME NOT IN ('Prem', 'Shivansh');>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematică

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologie

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

205

OMS

Kumar

7,85

2021-09-01 08:30:00

Fizică

207

Pankaj

Cuve

9,78

2021-09-01 02:30:00

Engleză

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematică

11. Scrieți o interogare SQL pentru a imprima detaliile Studenților al căror FIRST_NAME se termină cu „a”.

SELECT * FROM Student WHERE FIRST_NAME LIKE '%a';>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

12. Scrieți o interogare SQL pentru a imprima detaliile Studenților al căror FIRST_NAME se termină cu „a” și conține șase alfabete.

SELECT * FROM Student WHERE FIRST_NAME LIKE '_____a';>

13. Scrieți o interogare SQL pentru a imprima detaliile studenților al căror GPA se află între 9.00 și 9.99.

SELECT * FROM Student WHERE GPA BETWEEN 9.00 AND 9.99;>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chimie

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Istorie

207

Pankaj

Cuve

9,78

2021-09-01 02:30:00

Engleză

14. Scrieți o interogare SQL pentru a obține numărul de studenți care au disciplina majoră „Informatică”.

SELECT Major, COUNT(*) as TOTAL_COUNT FROM Student WHERE MAJOR = 'Computer Science';>

Ieșire:

MAJOR

NUMĂRĂTOARE TOTALĂ

Informatică

1

15. Scrieți o interogare SQL pentru a prelua numele complete ale Studenților cu GPA>= 8,5 și <= 9,5.

SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS FULL_NAME FROM Student WHERE GPA BETWEEN 8.5 and 9.5;>

Ieșire:

Shivansh Mahajan Radha Sharma>

16. Scrieți o interogare SQL pentru a prelua nr. de Studenți pentru fiecare disciplină MAJORĂ în ordine descrescătoare.

SELECT MAJOR, COUNT(MAJOR) from Student group by MAJOR order by COUNT(MAJOR);>

Ieșire:

MAJOR

COUNT(MAJOR)

Biologie

1

Chimie

1

Informatică

1

Engleză

1

Istorie

1

Fizică

1

Matematică

2

17. Afișați detaliile studenților care au primit burse, inclusiv numele acestora, sumele burselor și datele burselor.

SELECT Student.FIRST_NAME, Student.LAST_NAME, Scholarship.SCHOLARSHIP_AMOUNT, Scholarship.SCHOLARSHIP_DATE FROM Student INNER JOIN Scholarship ON Student.STUDENT_ID = Scholarship.STUDENT_REF_ID;>

Ieșire:

NUME NUME SCHOLARSHIP_AMOUNT SCHOLARSHIP_DATE
Shivansh Mahajan 5000 2021-10-15 00:00:00
Umesh Sharma 4500 2022-08-18 00:00:00
Rakesh Kumar 3000 25-01-2022 00:00:00
Shivansh Mahajan 4000 2021-10-15 00:00:00

18. Scrieți o interogare SQL pentru a afișa numai rândurile impare din tabelul Student.

SELECT * FROM Student WHERE student_id % 2 != 0;>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatică
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 Biologie
205 OMS Kumar 7,85 2021-09-01 08:30:00 Fizică
207 Pankaj Cuve 9,78 2021-09-01 02:30:00 Engleză

19. Scrieți o interogare SQL pentru a afișa numai rândurile pare din tabelul Student.

SELECT * FROM Student WHERE student_id % 2 = 0;>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

202 Umesh Sharma 8.44 2021-09-01 08:30:00 Matematică
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie
206 Prem Chopra 9,56 2021-09-01 09:24:00 Istorie
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematică

20. Enumerați toți studenții și sumele lor de bursă, dacă au primit vreuna. Dacă un student nu a primit o bursă, afișați NULL pentru detaliile bursei.

SELECT Student.FIRST_NAME, Student.LAST_NAME, COALESCE(Scholarship.SCHOLARSHIP_AMOUNT, NULL) AS SCHOLARSHIP_AMOUNT, COALESCE(Scholarship.SCHOLARSHIP_DATE, NULL) AS SCHOLARSHIP_DATE FROM Student LEFT JOIN Scholarship ON Student.STUDENT_ID = Scholarship.STUDENT_REF_ID;>

21. Scrieți o interogare SQL pentru a afișa primele n (să zicem 5) înregistrări din ordinea tabelului Student prin GPA descrescător.

SELECT * from Student ORDER BY GPA DESC LIMIT 5;>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

207 Pankaj Cuve 9,78 2021-09-01 02:30:00 Engleză
206 Prem Chopra 9,56 2021-09-01 09:24:00 Istorie
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatică
202 Umesh Sharma 8.44 2021-09-01 08:30:00 Matematică

22. Scrieți o interogare SQL pentru a determina a n-a (să spunem n=5) cel mai mare GPA dintr-un tabel.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 5, 1;>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

205 OMS Kumar 7,85 2021-09-01 08:30:00 Fizică

23. Scrieți o interogare SQL pentru a determina al 5-lea cel mai mare GPA fără a utiliza cuvântul cheie LIMIT.

SELECT * FROM Student s1 WHERE 4 = ( SELECT COUNT(DISTINCT (s2.GPA)) FROM Student s2 WHERE s2.GPA>= s1.GPA );>

Ieșire:

CARNET DE STUDENT

NUME

NUME

GPA

ENROLMENT_DATE

MAJOR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatică

24. Scrieți o interogare SQL pentru a prelua lista Studenților cu același GPA.

SELECT s1.* FROM Student s1, Student s2 WHERE s1.GPA = s2.GPA AND s1.Student_id != s2.Student_id;>

25. Scrieți o interogare SQL pentru a afișa al doilea cel mai mare GPA dintr-un tabel Student folosind sub-interogare.

SELECT MAX(GPA) FROM Student WHERE GPA NOT IN(SELECT MAX(GPA) FROM Student);>

Ieșire:

9.56>

26. Scrieți o interogare SQL pentru a afișa un rând de două ori în rezultatele dintr-un tabel.

SELECT * FROM Student UNION ALL SELECT * FROM Student ORDER BY STUDENT_ID;>

27. Scrieți o interogare SQL pentru a lista STUDENT_ID care nu primește bursă.

SELECT STUDENT_ID FROM Student WHERE STUDENT_ID NOT IN (SELECT STUDENT_REF_ID FROM Scholarship);>

Ieșire:

204 205 206 207 208>

28. Scrieți o interogare SQL pentru a prelua primele 50% înregistrări dintr-un tabel.

SELECT * FROM Student WHERE STUDENT_ID <= (SELECT COUNT(STUDENT_ID)/2 FROM Student);>

29. Scrieți o interogare SQL pentru a prelua subiectul MAJOR care are mai puțin de 4 persoane în el.

SELECT MAJOR, COUNT(MAJOR) AS MAJOR_COUNT FROM Student GROUP BY MAJOR HAVING COUNT(MAJOR) <4;>

Ieșire:

MAJOR MAJOR_COUNT
Biologie 1
Chimie 1
Informatică 1
Engleză 1
Istorie 1
Matematică 2
Fizică 1

30. Scrieți o interogare SQL pentru a afișa toate subiectele MAJOR împreună cu numărul de persoane din acolo.

SELECT MAJOR, COUNT(MAJOR) AS ALL_MAJOR FROM Student GROUP BY MAJOR;>

Ieșire:

MAJOR ALL_MAJOR
Biologie 1
Chimie 1
Informatică 1
Engleză 1
Istorie 1
Matematică 2
Fizică 1

31. Scrieți o interogare SQL pentru a afișa ultima înregistrare dintr-un tabel.

SELECT * FROM Student WHERE STUDENT_ID = (SELECT MAX(STUDENT_ID) FROM STUDENT);>

Ieșire:

CARNET DE STUDENT NUME NUME GPA ENROLMENT_DATE MAJOR
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematică

32. Scrieți o interogare SQL pentru a prelua primul rând al unui tabel.

SELECT * FROM Student WHERE STUDENT_ID = (SELECT MIN(STUDENT_ID) FROM Student);>

Ieșire:

CARNET DE STUDENT NUME NUME GPA ENROLMENT_DATE MAJOR
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatică

33. Scrieți o interogare SQL pentru a prelua ultimele cinci înregistrări dintr-un tabel.

SELECT * FROM ( SELECT * FROM Student ORDER BY STUDENT_ID DESC LIMIT 5 ) AS subquery ORDER BY STUDENT_ID;>

Ieșire:

CARNET DE STUDENT NUME NUME GPA ENROLMENT_DATE MAJOR
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie
205 OMS Kumar 7,85 2021-09-01 08:30:00 Fizică
206 Prem Chopra 9,56 2021-09-01 09:24:00 Istorie
207 Pankaj Cuve 9,78 2021-09-01 02:30:00 Engleză
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematică

34. Scrieți o interogare SQL pentru a obține trei GPA maxim dintr-un tabel folosind o subinterogare corelată.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECTARE NUMĂR (GPA DISTINCT) FROM Student S2 WHERE S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

Ieșire:

9.78 9.56 9.2>

35. Scrieți o interogare SQL pentru a prelua trei min GPA dintr-un tabel folosind o subinterogare corelată.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECTARE NUMĂR (GPA DISTINCT) FROM Student S2 WHERE S1.GPA>= S2.GPA) ORDER BY S1.GPA;>

Ieșire:

5.6 7 7.85>

36. Scrieți o interogare SQL pentru a prelua a-n-a GPA maxim dintr-un tabel.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (SELECTARE NUMĂR (GPA DISTINCT) FROM Student S2 WHERE S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

37. Scrieți o interogare SQL pentru a prelua subiecte MAJORE împreună cu GPA maxim în fiecare dintre aceste subiecte MAJORE.

SELECT MAJOR, MAX(GPA) as MAXGPA FROM Student GROUP BY MAJOR;>

Ieșire:

MAJOR MAXGPA
Biologie 5.6
Chimie 9.2
Informatică 8,79
Engleză 9,78
Istorie 9,56
Matematică 8.44
Fizică 7,85

38. Scrieți o interogare SQL pentru a obține numele studenților care au cel mai mare GPA.

SELECT FIRST_NAME, GPA FROM Student WHERE GPA = (SELECT MAX(GPA) FROM Student);>

Ieșire:

NUME GPA
Pankaj 9,78

39. Scrieți o interogare SQL pentru a afișa data și ora curente.

Query to get current date : SELECT CURDATE(); Query to get current date and time : SELECT NOW();>

40. Scrieți o interogare pentru a crea un tabel nou care constă din date și structură copiate din celălalt tabel (să spunem Student) sau clonați tabelul numit Student.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. Scrieți o interogare SQL pentru a actualiza GPA-ul tuturor studenților la MAJOR „Computer Science” subiectul 7.5.

UPDATE Student SET GPA = 4.0 WHERE MAJOR = 'Computer Science';>

42. Scrieți o interogare SQL pentru a găsi media GPA pentru fiecare specializare.

SELECT MAJOR, AVG(GPA) AS AVERAGE_GPA FROM Student GROUP BY MAJOR;>

Ieșire:

MAJOR AVERAGE_GPA
Biologie 5.6
Chimie 9.2
Informatică 4
Engleză 9,78
Istorie 9,56
Matematică 7,72
Fizică 7,85

43. Scrieți o interogare SQL pentru a afișa primii 3 studenți cu cel mai mare GPA.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 3;>

Ieșire:

CARNET DE STUDENT NUME NUME GPA ENROLMENT_DATE MAJOR
207 Pankaj Cuve 9,78 2021-09-01 02:30:00 Engleză
206 Prem Chopra 9,56 2021-09-01 09:24:00 Istorie
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chimie

44. Scrieți o interogare SQL pentru a afla numărul de studenți din fiecare specializare care au un GPA mai mare de 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 GRUPARE PE MAIOR;>

Ieșire:

MAJOR HIGH_GPA_COUNT
Biologie 1
Chimie 1
Informatică 1
Engleză 1
Istorie 1
Matematică 2
Fizică 1

45. Scrieți o interogare SQL pentru a găsi studenții care au același GPA ca „Shivansh Mahajan”.

SELECT * FROM Student WHERE GPA = (SELECT GPA FROM Student WHERE FIRST_NAME = 'Shivansh' AND LAST_NAME = 'Mahajan');>

Ieșire:

CARNET DE STUDENT NUME NUME GPA ENROLMENT_DATE MAJOR
201 Shivansh Mahajan 4 2021-09-01 09:30:00 Informatică

Concluzie

În rezumat, stăpânirea întrebărilor de interviu cu interogare SQL este esențială pentru oricine dorește să exceleze în roluri precum analişti de date, ingineri de date și analiști de afaceri. Acest ghid a oferit o colecție cuprinzătoare de întrebări și răspunsuri la interviu cu interogare SQL menite să vă pregătească temeinic pentru interviurile dvs.

Înțelegând și exersând aceste interogări, vă puteți demonstra competența în SQL, o abilitate critică care stă la baza manipulării și analizei de succes a datelor în diverse industrii bazate pe tehnologie.