logo

Otázky na pohovor SQL Query

SQL alebo Štruktúrovaný Dopytovací Jazyk je štandardný jazyk pre relačné databázy. SQL dotazy sú výkonné nástroje používané na manipuláciu a správu údajov uložených v týchto databázach, napr MySQL , Oracle , PostgreSQL , atď. Či už získavate špecifické údajové body, vykonávate zložité analýzy alebo upravujete databázové štruktúry, dotazy SQL poskytujú štandardizovaný jazyk na efektívne vykonávanie týchto úloh.

Tu budeme pokrývať 45+ otázok na rozhovor s MySQL s odpoveďami ktoré sa bežne pýtajú počas rozhovory pre Data Analyst a dátový inžinier pozície v MAANG a iných vysoko platených spoločnostiach. Či už ste a čerstvejšie alebo an skúsený profesionál s 5 , 8 , alebo 10 rokov Vďaka týmto skúsenostiam vám tento článok dodá všetku sebadôveru, ktorú potrebujete na ďalší pohovor.



Otázky a odpovede v rozhovore s dotazom SQL

Vytvorili sme tri vzorové tabuľky:Študentský stôl,Tabuľka programov, aTabuľka štipendií. Tieto tabuľky budeme používať na vykonávanie rôznych operácií dotazov.

Študentský stôl

ŠTUDENTSKÁ KARTA



KRSTNÉ MENO

PRIEZVISKO

GPA



ENROLLMENT_DATE

MAJOR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Počítačová veda

202

Umesh

Sharma

8.44

01.09.2021 8:30:00

Matematika

203

Rakesh

Kumar

5,60

2021-09-01 10:00:00

Biológia

204

Radha

Sharma

9.20

1. 9. 2021 12:45:00

Chémia

205

SZO

Kumar

7,85

01.09.2021 8:30:00

fyzika

206

Prem

Chopra

9,56

2021-09-01 09:24:00

História

207

Pankaj

kade

9,78

01.09.2021 02:30:00

Angličtina

208

Navleen

Kaur

7:00

01.09.2021 6:30:00

Matematika

Tabuľka programov

STUDENT_REF_ID

PROGRAM_NAME

PROGRAM_START_DATE

201

Počítačová veda

2021-09-01 00:00:00

202

Matematika

2021-09-01 00:00:00

208

Matematika

2021-09-01 00:00:00

205

fyzika

2021-09-01 00:00:00

204

Chémia

2021-09-01 00:00:00

207

Psychológia

2021-09-01 00:00:00

206

História

2021-09-01 00:00:00

203

Biológia

2021-09-01 00:00:00

Tabuľka štipendií

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

ak inak java

2022-01-25 00:00:00

201

4000

2021-10-15 00:00:00

Začnime tým, že sa pozrieme na niektoré z nich najčastejšie otázky na pohovore SQL Query :

1. Napíšte SQL dotaz na získanie FIRST_NAME z tabuľky Študent veľkými písmenami a použite meno ALIAS ako STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

Výkon:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Napíšte SQL dotaz na získanie jedinečných hodnôt HLAVNÝCH predmetov z tabuľky Študent.

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

Výkon:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Napíšte SQL dotaz na vytlačenie prvých 3 znakov FIRST_NAME z tabuľky Študent.

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

Výkon:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Napíšte SQL dotaz na nájdenie pozície abecedy (‚a‘) v stĺpci krstného mena ‚Shivansh‘ z tabuľky Študent.

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

Výkon:

5>

5. Napíšte SQL dotaz, ktorý načíta jedinečné hodnoty MAJOR Subjects z tabuľky Študent a vytlačí jeho dĺžku.

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

Výkon:

MAJOR

DĹŽKA (HLAVNÁ)

Počítačová veda

16

Matematika

jedenásť

Biológia

7

Chémia

9

fyzika

7

História

7

Angličtina

7

6. Napíšte SQL dotaz na vytlačenie FIRST_NAME z tabuľky Študent po nahradení „a“ za „A“.

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

Výkon:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Napíšte SQL dotaz na vytlačenie FIRST_NAME a LAST_NAME z tabuľky Študent do jedného stĺpca COMPLETE_NAME.

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

Výkon:

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

8. Napíšte SQL dotaz na vytlačenie všetkých podrobností o študentovi z poradia tabuľky študentov podľa FIRST_NAME vzostupne a MAJOR predmet zostupne .

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

205

SZO

Kumar

7,85

01.09.2021 8:30:00

fyzika

208

Navleen

Kaur

7

01.09.2021 6:30:00

Matematika

207

Pankaj

kade

9,78

01.09.2021 02:30:00

Angličtina

206

Prem

Chopra

9,56

2021-09-01 09:24:00

História

204

Radha

Sharma

9.2

1. 9. 2021 12:45:00

Chémia

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biológia

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Počítačová veda

202

Umesh

Sharma

8.44

01.09.2021 8:30:00

Matematika

9. Napíšte SQL dotaz na vytlačenie podrobností o študentoch s FIRST_NAME ako „Prem“ a „Shivansh“ z tabuľky Študent.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Počítačová veda

206

Prem

Chopra

9,56

2021-09-01 09:24:00

História

10. Napíšte SQL dotaz na vytlačenie podrobností o študentoch okrem FIRST_NAME ako „Prem“ a „Shivansh“ z tabuľky študentov.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

202

Umesh

Sharma

8.44

01.09.2021 8:30:00

Matematika

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biológia

204

Radha

Sharma

9.2

1. 9. 2021 12:45:00

Chémia

205

SZO

Kumar

7,85

01.09.2021 8:30:00

fyzika

207

Pankaj

kade

9,78

01.09.2021 02:30:00

Angličtina

208

Navleen

Kaur

7

01.09.2021 6:30:00

Matematika

11. Napíšte SQL dotaz na vytlačenie podrobností o študentoch, ktorých FIRST_NAME končí na „a“.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

204

Radha

Sharma

9.2

1. 9. 2021 12:45:00

Chémia

12. Napíšte SQL dotaz na vytlačenie podrobností o študentoch, ktorých FIRST_NAME končí na „a“ a obsahuje šesť abecied.

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

13. Napíšte SQL dotaz na vytlačenie podrobností o študentoch, ktorých GPA leží medzi 9:00 a 9:99.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

204

Radha

Sharma

9.2

1. 9. 2021 12:45:00

Chémia

206

Prem

Chopra

9,56

2021-09-01 09:24:00

História

207

Pankaj

kade

9,78

01.09.2021 02:30:00

Angličtina

14. Napíšte SQL dotaz na získanie počtu študentov, ktorí majú hlavný predmet „Informatika“.

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

Výkon:

MAJOR

TOTAL_COUNT

Počítačová veda

1

15. Napíšte SQL dotaz na získanie úplných mien študentov s GPA>= 8,5 a <= 9,5.

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

Výkon:

Shivansh Mahajan Radha Sharma>

16. Napíšte SQL dotaz na získanie čísla č. študentov za každý HLAVNÝ predmet v zostupnom poradí.

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

Výkon:

MAJOR

POČET (HLAVNÉ)

Biológia

1

Chémia

1

Počítačová veda

1

Angličtina

1

História

1

fyzika

1

Matematika

2

17. Zobrazte podrobnosti o študentoch, ktorí dostali štipendium, vrátane ich mien, výšky štipendia a dátumov štipendia.

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;>

Výkon:

KRSTNÉ MENO PRIEZVISKO 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 2022-01-25 00:00:00
Shivansh Mahajan 4000 2021-10-15 00:00:00

18. Napíšte SQL dotaz na zobrazenie iba nepárnych riadkov z tabuľky Študent.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Počítačová veda
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 Biológia
205 SZO Kumar 7,85 01.09.2021 8:30:00 fyzika
207 Pankaj kade 9,78 01.09.2021 02:30:00 Angličtina

19. Napíšte SQL dotaz na zobrazenie iba párnych riadkov z tabuľky Študent.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

202 Umesh Sharma 8.44 01.09.2021 8:30:00 Matematika
204 Radha Sharma 9.2 1. 9. 2021 12:45:00 Chémia
206 Prem Chopra 9,56 2021-09-01 09:24:00 História
208 Navleen Kaur 7 01.09.2021 6:30:00 Matematika

20. Uveďte všetkých študentov a ich výšku štipendia, ak nejaké dostali. Ak študent nezískal štipendium, pre podrobnosti o štipendiu zobrazte hodnotu NULL.

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. Napíšte SQL dotaz na zobrazenie n (povedzme 5) záznamov v poradí tabuľky študentov podľa zostupnej GPA.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

207 Pankaj kade 9,78 01.09.2021 02:30:00 Angličtina
206 Prem Chopra 9,56 2021-09-01 09:24:00 História
204 Radha Sharma 9.2 1. 9. 2021 12:45:00 Chémia
201 Shivansh Mahajan 8,79 01.09.2021 09:30:00 Počítačová veda
202 Umesh Sharma 8.44 01.09.2021 8:30:00 Matematika

22. Napíšte SQL dotaz na určenie n-tej (povedzme n=5) najvyššej GPA z tabuľky.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

205 SZO Kumar 7,85 01.09.2021 8:30:00 fyzika

23. Napíšte SQL dotaz na určenie 5. najvyššej GPA bez použitia kľúčového slova LIMIT.

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

Výkon:

ŠTUDENTSKÁ KARTA

KRSTNÉ MENO

PRIEZVISKO

GPA

ENROLLMENT_DATE

MAJOR

201 Shivansh Mahajan 8,79 01.09.2021 09:30:00 Počítačová veda

24. Napíšte SQL dotaz na získanie zoznamu študentov s rovnakým GPA.

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

25. Napíšte SQL dotaz na zobrazenie druhého najvyššieho GPA z tabuľky Študent pomocou poddotazu.

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

Výkon:

9.56>

26. Napíšte SQL dotaz na zobrazenie jedného riadku dvakrát vo výsledkoch z tabuľky.

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

27. Napíšte SQL dotaz na zoznam STUDENT_ID, ktorý nezískal štipendium.

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

Výkon:

204 205 206 207 208>

28. Napíšte SQL dotaz na získanie prvých 50 % záznamov z tabuľky.

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

29. Napíšte SQL dotaz na získanie HLAVNÉHO predmetu, ktorý má menej ako 4 ľudí.

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

Výkon:

MAJOR MAJOR_COUNT
Biológia 1
Chémia 1
Počítačová veda 1
Angličtina 1
História 1
Matematika 2
fyzika 1

30. Napíšte SQL dotaz na zobrazenie všetkých HLAVNÝCH predmetov spolu s počtom ľudí v ňom.

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

Výkon:

MAJOR ALL_MAJOR
Biológia 1
Chémia 1
Počítačová veda 1
Angličtina 1
História 1
Matematika 2
fyzika 1

31. Napíšte SQL dotaz na zobrazenie posledného záznamu z tabuľky.

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

Výkon:

ŠTUDENTSKÁ KARTA KRSTNÉ MENO PRIEZVISKO GPA ENROLLMENT_DATE MAJOR
208 Navleen Kaur 7 01.09.2021 6:30:00 Matematika

32. Napíšte SQL dotaz na získanie prvého riadku tabuľky.

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

Výkon:

ŠTUDENTSKÁ KARTA KRSTNÉ MENO PRIEZVISKO GPA ENROLLMENT_DATE MAJOR
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Počítačová veda

33. Napíšte SQL dotaz na získanie posledných piatich záznamov z tabuľky.

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

Výkon:

ŠTUDENTSKÁ KARTA KRSTNÉ MENO PRIEZVISKO GPA ENROLLMENT_DATE MAJOR
204 Radha Sharma 9.2 1. 9. 2021 12:45:00 Chémia
205 SZO Kumar 7,85 01.09.2021 8:30:00 fyzika
206 Prem Chopra 9,56 2021-09-01 09:24:00 História
207 Pankaj kade 9,78 01.09.2021 02:30:00 Angličtina
208 Navleen Kaur 7 01.09.2021 6:30:00 Matematika

34. Napíšte SQL dotaz na získanie troch maximálnych GPA z tabuľky pomocou spolu súvisiaceho poddotazu.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (VYBERTE POČET (ODLIŠNÉ GPA) OD študenta S2, KDE S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

Výkon:

9.78 9.56 9.2>

35. Napíšte dotaz SQL na získanie trojminútového GPA z tabuľky pomocou súvisiaceho poddotazu.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (VYBERTE POČET (ODDIEL. GPA) OD študenta S2, KDE S1.GPA>= S2.GPA) OBJEDNAŤ PODĽA S1.GPA;>

Výkon:

5.6 7 7.85>

36. Napíšte SQL dotaz na získanie n-tého maximálneho GPA z tabuľky.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (VYBERTE POČET (ODLIŠNÉ GPA) OD študenta S2, KDE S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

37. Napíšte SQL dotaz na získanie HLAVNÝCH predmetov spolu s maximálnym GPA v každom z týchto HLAVNÝCH predmetov.

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

Výkon:

MAJOR MAXGPA
Biológia 5.6
Chémia 9.2
Počítačová veda 8,79
Angličtina 9,78
História 9,56
Matematika 8.44
fyzika 7,85

38. Napíšte SQL dotaz na získanie mien študentov s najvyšším GPA.

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

Výkon:

KRSTNÉ MENO GPA
Pankaj 9,78

39. Napíšte SQL dotaz na zobrazenie aktuálneho dátumu a času.

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

40. Napíšte dotaz na vytvorenie novej tabuľky, ktorá pozostáva z údajov a štruktúry skopírovanej z inej tabuľky (povedzme Študent) alebo naklonujte tabuľku s názvom Študent.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. Napíšte SQL dotaz na aktualizáciu GPA všetkých študentov v HLAVnom odbore „Počítačová veda“ podľa 7.5.

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

42. Napíšte SQL dotaz, aby ste našli priemernú GPA pre každú hlavnú.

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

Výkon:

MAJOR AVERAGE_GPA
Biológia 5.6
Chémia 9.2
Počítačová veda 4
Angličtina 9,78
História 9,56
Matematika 7,72
fyzika 7,85

43. Napíšte SQL dotaz na zobrazenie 3 najlepších študentov s najvyšším GPA.

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

Výkon:

ŠTUDENTSKÁ KARTA KRSTNÉ MENO PRIEZVISKO GPA ENROLLMENT_DATE MAJOR
207 Pankaj kade 9,78 01.09.2021 02:30:00 Angličtina
206 Prem Chopra 9,56 2021-09-01 09:24:00 História
204 Radha Sharma 9.2 1. 9. 2021 12:45:00 Chémia

44. Napíšte SQL dotaz na zistenie počtu študentov v každom odbore, ktorí majú GPA väčšie ako 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 SKUPINA PODĽA MAJOROV;>

Výkon:

MAJOR HIGH_GPA_COUNT
Biológia 1
Chémia 1
Počítačová veda 1
Angličtina 1
História 1
Matematika 2
fyzika 1

45. Napíšte SQL dotaz, aby ste našli študentov, ktorí majú rovnaký GPA ako ‚Shivansh Mahajan‘.

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

Výkon:

ŠTUDENTSKÁ KARTA KRSTNÉ MENO PRIEZVISKO GPA ENROLLMENT_DATE MAJOR
201 Shivansh Mahajan 4 2021-09-01 09:30:00 Počítačová veda

Záver

Stručne povedané, zvládnutie otázok na dotazovanie SQL je nevyhnutné pre každého, kto chce vyniknúť v rolách, ako sú dátoví analytici, dátoví inžinieri a obchodní analytici. Táto príručka poskytuje komplexnú zbierku otázok a odpovedí na pohovor SQL dotazov navrhnutých tak, aby vás dôkladne pripravili na pohovory.

Pochopením a precvičením týchto dotazov môžete preukázať svoju odbornosť v SQL, čo je kritická zručnosť, ktorá je základom úspešnej manipulácie s údajmi a analýzy v rôznych technologických odvetviach.