Vprašanja za intervju s poizvedbo SQL

SQL oz Strukturirani povpraševalni jezik za delo s podatkovnimi bazami je standardni jezik za relacijske baze podatkov. Poizvedbe SQL so zmogljiva orodja, ki se uporabljajo za manipulacijo in upravljanje podatkov, shranjenih v teh zbirkah podatkov, kot so MySQL , Oracle , PostgreSQL , itd. Ne glede na to, ali pridobivate specifične podatkovne točke, izvajate zapletene analize ali spreminjate strukture zbirke podatkov, poizvedbe SQL zagotavljajo standardiziran jezik za učinkovito izvajanje teh nalog.

Tukaj bomo pokrivali 45+ vprašanj za intervju z MySQL z odgovori ki se pogosto sprašujejo med intervjuji za Data Analyst in Podatkovni inženir položajih v MAANG in drugih visoko plačanih podjetjih. Ne glede na to, ali ste a bolj sveže ali an izkušen strokovnjak z 5 , 8 , oz 10 let izkušenj, vam ta članek vliva vso samozavest, ki jo potrebujete za uspešen naslednji razgovor.

SQL Query Interview Vprašanja in odgovori

Ustvarili smo tri vzorčne tabele: Študentska miza , Programska tabela , in Tabela štipendij . Te tabele bomo uporabljali za izvajanje različnih poizvedovalnih operacij.

Študentska miza

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Računalništvo

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematika

203

Rakesh

Kumar

5.60

2021-09-01 10:00:00

Biologija

204

Radha

Sharma

9.20

2021-09-01 12:45:00

kemija

205

WHO

Kumar

7,85

2021-09-01 08:30:00

Fizika

206

prem

Chopra

9.56

2021-09-01 09:24:00

Zgodovina

207

Pankaj

Sodi

9.78

2021-09-01 02:30:00

angleščina

208

Navleen

Kaur

7.00

2021-09-01 06:30:00

Matematika

Programska tabela

STUDENT_REF_ID

PROGRAM_NAME

PROGRAM_START_DATE

201

Računalništvo

2021-09-01 00:00:00

202

Matematika

2021-09-01 00:00:00

208

Matematika

2021-09-01 00:00:00

205

Fizika

2021-09-01 00:00:00

204

kemija

2021-09-01 00:00:00

207

Psihologija

2021-09-01 00:00:00

206

Zgodovina

2021-09-01 00:00:00

203

Biologija

2021-09-01 00:00:00

Tabela štipendij

STUDENT_REF_ID

ŠTIPENDIJA_AMOUNT

ŠTIPIJA_DATE

201

5000

2021-10-15 00:00:00

202

4500

2022-08-18 00:00:00

203

3000

2022-01-25 00:00:00

201

4000

2021-10-15 00:00:00

Začnimo z ogledom nekaterih najpogosteje zastavljena vprašanja za intervjuje SQL Query :

1. Napišite poizvedbo SQL za pridobivanje FIRST_NAME iz tabele študentov z velikimi črkami in uporabite ime ALIAS kot STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student; 

Izhod:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN 

2. Napišite poizvedbo SQL za pridobivanje edinstvenih vrednosti GLAVNIH predmetov iz tabele študentov.

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

Izhod:

Computer Science Mathematics Biology Chemistry Physics History English 

3. Napišite poizvedbo SQL za tiskanje prvih 3 znakov FIRST_NAME iz tabele Student.

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

Izhod:

Shi Ume Rak Rad Kus Pre Pan Nav 

4. Napišite poizvedbo SQL, da poiščete položaj abecede ('a') v stolpcu prvega imena 'Shivansh' iz tabele Student.

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

Izhod:

5 

5. Napišite poizvedbo SQL, ki pridobi edinstvene vrednosti GLAVNIH predmetov iz tabele študentov, in natisnite njeno dolžino.

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

Izhod:

MAJOR

DOLŽINA (GLAVNA)

Računalništvo

16

Matematika

enajst

Biologija

7

kemija

9

Fizika

7

Zgodovina

7

angleščina

7

6. Napišite poizvedbo SQL za tiskanje FIRST_NAME iz tabele študentov po zamenjavi 'a' z 'A'.

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

Izhod:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen 

7. Napišite poizvedbo SQL za tiskanje FIRST_NAME in LAST_NAME iz tabele Student v en stolpec COMPLETE_NAME.

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

Izhod:

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

8. Napišite poizvedbo SQL za tiskanje vseh podrobnosti študentov iz tabele študentov, vrstnega reda glede na FIRST_NAME Naraščajoče in MAJOR Subject padajoče.

SELECT * FROM Student ORDER BY FIRST_NAME , MAJOR DESC; 

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

205

WHO

Kumar

7,85

2021-09-01 08:30:00

Fizika

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematika

207

Pankaj

Sodi

9.78

2021-09-01 02:30:00

angleščina

206

prem

Chopra

9.56

2021-09-01 09:24:00

Zgodovina

204

Radha

Sharma

9.2

2021-09-01 12:45:00

kemija

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologija

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Računalništvo

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematika

9. Napišite poizvedbo SQL za tiskanje podrobnosti o študentih s FIRST_NAME kot »Prem« in »Shivansh« iz tabele študentov.

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

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Računalništvo

206

prem

Chopra

9.56

2021-09-01 09:24:00

Zgodovina

10. Napišite poizvedbo SQL za tiskanje podrobnosti študentov brez FIRST_NAME kot »Prem« in »Shivansh« iz tabele študentov.

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

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematika

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologija

204

Radha

Sharma

9.2

2021-09-01 12:45:00

kemija

205

WHO

Kumar

7,85

2021-09-01 08:30:00

Fizika

207

Pankaj

Sodi

9.78

2021-09-01 02:30:00

angleščina

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematika

11. Napišite poizvedbo SQL za tiskanje podrobnosti študentov, katerih FIRST_NAME se konča z 'a'.

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

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

204

Radha

Sharma

9.2

2021-09-01 12:45:00

kemija

12. Napišite poizvedbo SQL za tiskanje podrobnosti študentov, katerih FIRST_NAME se konča z 'a' in vsebuje šest črk.

SELECT * FROM Student WHERE FIRST_NAME LIKE '_____a'; 

13. Napišite poizvedbo SQL za tiskanje podrobnosti študentov, katerih GPA je med 9,00 in 9,99.

SELECT * FROM Student WHERE GPA BETWEEN 9.00 AND 9.99; 

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

204

Radha

Sharma

9.2

2021-09-01 12:45:00

kemija

206

prem

Chopra

9.56

2021-09-01 09:24:00

Zgodovina

207

Pankaj

Sodi

9.78

2021-09-01 02:30:00

angleščina

14. Napišite poizvedbo SQL, da pridobite število študentov, ki imajo glavni predmet 'Računalništvo'.

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

Izhod:

MAJOR

TOTAL_COUNT

Računalništvo

1

15. Napišite poizvedbo SQL za pridobitev polnih imen učencev s GPA>= 8,5 in <= 9,5.

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

Izhod:

Shivansh Mahajan Radha Sharma 

16. Napišite poizvedbo SQL, da pridobite št. študentov za vsak GLAVNI predmet v padajočem vrstnem redu.

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

Izhod:

MAJOR

ŠTEVJE (GLAVNO)

Biologija

1

kemija

1

Računalništvo

1

angleščina

1

Zgodovina

1

Fizika

1

Matematika

2

17. Prikažite podrobnosti študentov, ki so prejeli štipendije, vključno z njihovimi imeni, zneski štipendij in datumi štipendij.

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; 

Izhod:

IME PRIIMEK ŠTIPENDIJA_AMOUNT ŠTIPIJA_DATE
Shivansh Mahajan 5000 2021-10-15 00:00:00
Umesh Sharma 4500 2022-08-18 00:00:00
Rakesh Kumar 3000 2022-01-25 00:00:00
Shivansh Mahajan 4000 2021-10-15 00:00:00

18. Napišite poizvedbo SQL za prikaz samo lihih vrstic iz tabele študentov.

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

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Računalništvo
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 Biologija
205 WHO Kumar 7,85 2021-09-01 08:30:00 Fizika
207 Pankaj Sodi 9.78 2021-09-01 02:30:00 angleščina

19. Napišite poizvedbo SQL za prikaz samo sodih vrstic iz tabele študentov.

SELECT * FROM Student WHERE student_id % 2 = 0; 

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

202 Umesh Sharma 8.44 2021-09-01 08:30:00 Matematika
204 Radha Sharma 9.2 2021-09-01 12:45:00 kemija
206 prem Chopra 9.56 2021-09-01 09:24:00 Zgodovina
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematika

20. Navedite vse študente in njihove zneske štipendij, če so jih prejemali. Če študent ni prejel štipendije, prikažite NULL za podrobnosti o štipendiji.

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. Napišite poizvedbo SQL za prikaz prvih n (recimo 5) zapisov vrstnega reda tabele študentov z padajočim GPA.

SELECT * from Student ORDER BY GPA DESC LIMIT 5; 

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

207 Pankaj Sodi 9.78 2021-09-01 02:30:00 angleščina
206 prem Chopra 9.56 2021-09-01 09:24:00 Zgodovina
204 Radha Sharma 9.2 2021-09-01 12:45:00 kemija
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Računalništvo
202 Umesh Sharma 8.44 2021-09-01 08:30:00 Matematika

22. Napišite poizvedbo SQL za določitev n-te (recimo n=5) najvišje GPA iz tabele.

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

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

205 WHO Kumar 7,85 2021-09-01 08:30:00 Fizika

23. Napišite poizvedbo SQL za določitev 5. najvišjega GPA brez uporabe ključne besede LIMIT.

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

Izhod:

STUDENT_ID

IME

PRIIMEK

GPA

ENROLLMENT_DATE

MAJOR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Računalništvo

24. Napišite poizvedbo SQL, da pridobite seznam študentov z enakim GPA.

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

25. Napišite poizvedbo SQL za prikaz drugega najvišjega GPA iz tabele študentov z uporabo podpoizvedbe.

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

Izhod:

9.56 

26. Napišite poizvedbo SQL za dvakratni prikaz ene vrstice v rezultatih iz tabele.

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

27. Napišite poizvedbo SQL za seznam STUDENT_ID, ki ne dobi štipendije.

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

Izhod:

204 205 206 207 208 

28. Napišite poizvedbo SQL, da pridobite prvih 50 % zapisov iz tabele.

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

29. Napišite poizvedbo SQL, da pridobite GLAVNI subjekt, v katerem so manj kot 4 osebe.

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

Izhod:

MAJOR MAJOR_COUNT
Biologija 1
kemija 1
Računalništvo 1
angleščina 1
Zgodovina 1
Matematika 2
Fizika 1

30. Napišite poizvedbo SQL, da prikažete vse GLAVNE teme skupaj s številom ljudi tam.

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

Izhod:

MAJOR ALL_MAJOR
Biologija 1
kemija 1
Računalništvo 1
angleščina 1
Zgodovina 1
Matematika 2
Fizika 1

31. Napišite poizvedbo SQL za prikaz zadnjega zapisa iz tabele.

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

Izhod:

STUDENT_ID IME PRIIMEK GPA ENROLLMENT_DATE MAJOR
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematika

32. Napišite poizvedbo SQL za pridobitev prve vrstice tabele.

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

Izhod:

STUDENT_ID IME PRIIMEK GPA ENROLLMENT_DATE MAJOR
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Računalništvo

33. Napišite poizvedbo SQL, da pridobite zadnjih pet zapisov iz tabele.

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

Izhod:

STUDENT_ID IME PRIIMEK GPA ENROLLMENT_DATE MAJOR
204 Radha Sharma 9.2 2021-09-01 12:45:00 kemija
205 WHO Kumar 7,85 2021-09-01 08:30:00 Fizika
206 prem Chopra 9.56 2021-09-01 09:24:00 Zgodovina
207 Pankaj Sodi 9.78 2021-09-01 02:30:00 angleščina
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematika

34. Napišite poizvedbo SQL za pridobivanje treh največjih GPA iz tabele z uporabo sorodne podpoizvedbe.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECT COUNT(DISTINCT GPA) FROM Student S2 WHERE S1.GPA <= S2.GPA) ORDER BY S1.GPA DESC; 

Izhod:

9.78 9.56 9.2 

35. Napišite poizvedbo SQL za pridobivanje treh minut GPA iz tabele z uporabo sorodne podpoizvedbe.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (SELECT COUNT(DISTINCT GPA) FROM Student S2 WHERE S1.GPA>= S2.GPA) ORDER BY S1.GPA;> 

Izhod:

5.6 7 7.85 

36. Napišite poizvedbo SQL za pridobitev n-tega največjega GPA iz tabele.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (SELECT COUNT(DISTINCT GPA) FROM Student S2 WHERE S1.GPA <= S2.GPA) ORDER BY S1.GPA DESC; 

37. Napišite poizvedbo SQL, da pridobite GLAVNE predmete skupaj z najvišjim GPA pri vsakem od teh GLAVNIH predmetov.

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

Izhod:

MAJOR MAXGPA
Biologija 5.6
kemija 9.2
Računalništvo 8,79
angleščina 9.78
Zgodovina 9.56
Matematika 8.44
Fizika 7,85

38. Napišite poizvedbo SQL, da pridobite imena študentov, ki imajo najvišji GPA.

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

Izhod:

IME GPA
Pankaj 9.78

39. Napišite poizvedbo SQL za prikaz trenutnega datuma in ure.

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

40. Napišite poizvedbo za ustvarjanje nove tabele, ki je sestavljena iz podatkov in strukture, kopiranih iz druge tabele (recimo Študent) ali klonirajte tabelo z imenom Študent.

CREATE TABLE CloneTable AS SELECT * FROM Student; 

41. Napišite poizvedbo SQL, da posodobite povprečne ocene vseh študentov pri predmetu »Računalništvo« MAJOR na 7.5.

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

42. Napišite poizvedbo SQL, da poiščete povprečni GPA za vsako smer.

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

Izhod:

MAJOR AVERAGE_GPA
Biologija 5.6
kemija 9.2
Računalništvo 4
angleščina 9.78
Zgodovina 9.56
Matematika 7.72
Fizika 7,85

43. Napišite poizvedbo SQL, da prikažete najboljše 3 študente z najvišjim GPA.

SELECT * FROM Student ORDER BY GPA DESC LIMIT 3; 

Izhod:

STUDENT_ID IME PRIIMEK GPA ENROLLMENT_DATE MAJOR
207 Pankaj Sodi 9.78 2021-09-01 02:30:00 angleščina
206 prem Chopra 9.56 2021-09-01 09:24:00 Zgodovina
204 Radha Sharma 9.2 2021-09-01 12:45:00 kemija

44. Napišite poizvedbo SQL, da poiščete število študentov v vsaki smeri, ki imajo povprečno oceno višji od 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 SKUPINA PO DURU; 

Izhod:

MAJOR HIGH_GPA_COUNT
Biologija 1
kemija 1
Računalništvo 1
angleščina 1
Zgodovina 1
Matematika 2
Fizika 1

45. Napišite poizvedbo SQL, da poiščete študente, ki imajo enak GPA kot 'Shivansh Mahajan'.

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

Izhod:

STUDENT_ID IME PRIIMEK GPA ENROLLMENT_DATE MAJOR
201 Shivansh Mahajan 4 2021-09-01 09:30:00 Računalništvo

Zaključek

Če povzamemo, obvladovanje vprašanj za intervju s poizvedbami SQL je bistvenega pomena za vsakogar, ki želi blesteti v vlogah, kot so podatkovni analitiki, podatkovni inženirji in poslovni analitiki. Ta priročnik ponuja obsežno zbirko vprašanj in odgovorov za intervjuje s poizvedbami SQL, ki so oblikovani tako, da vas temeljito pripravijo na intervjuje.

Z razumevanjem in izvajanjem teh poizvedb lahko dokažete svoje znanje SQL, kritične veščine, ki podpira uspešno manipulacijo podatkov in analizo v različnih tehnološko usmerjenih panogah.



Morda Vam Bo Všeč