logo

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, inTabela š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

755 chmod

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

ustvari naključno število v Javi

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

java bool v niz

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

java niz vsebuje

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.