logo

Otázky k pohovoru SQL Query

SQL nebo strukturovaný dotazovací jazyk je standardní jazyk pro relační databáze. SQL dotazy jsou mocné nástroje používané k manipulaci a správě dat uložených v těchto databázích, jako je např MySQL , Věštec , PostgreSQL , atd. Ať už načítáte konkrétní datové body, provádíte složité analýzy nebo upravujete databázové struktury, dotazy SQL poskytují standardizovaný jazyk pro efektivní provádění těchto úloh.

Tady se budeme věnovat 45+ otázek k rozhovoru s MySQL s odpověďmi které se běžně ptají během rozhovory pro Data Analyst a datový inženýr pozice v MAANG a dalších vysoce platících společnostech. Ať už jste a čerstvější nebo an zkušený profesionál s 5 , 8 nebo 10 let Díky zkušenostem vám tento článek dodá veškerou sebedůvěru, kterou potřebujete, abyste zvládli příští pohovor.



Otázky a odpovědi na dotazování SQL

Vytvořili jsme tři vzorové tabulky:Studentský stůl,Tabulka programů, aStipendijní tabulka. Tyto tabulky budeme používat k provádění různých dotazovacích operací.

Studentský stůl

STUDENT_ID



JMÉNO

PŘÍJMENÍ

GPA



ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Počítačová věda

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematika

203

Rakesh

Kumar

5,60

2021-09-01 10:00:00

Biologie

204

Radha

Sharma

9.20

2021-09-01 12:45:00

Chemie

205

SZO

Kumar

7,85

2021-09-01 08:30:00

Fyzika

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Dějiny

207

Pankaj

kádě

9,78

2021-09-01 02:30:00

Angličtina

208

Navleen

Kaur

7:00

2021-09-01 06:30:00

Matematika

Tabulka programů

STUDENT_REF_ID

PROGRAM_NAME

PROGRAM_START_DATE

201

Počítačová věda

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

Chemie

2021-09-01 00:00:00

207

Psychologie

2021-09-01 00:00:00

206

Dějiny

2021-09-01 00:00:00

java kolekce

203

Biologie

2021-09-01 00:00:00

Stipendijní tabulka

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

2022-01-25 00:00:00

201

4000

2021-10-15 00:00:00

Začněme tím, že se podíváme na některé z nich nejžádanější dotazy na pohovor SQL Query :

1. Napište SQL dotaz pro načtení FIRST_NAME z tabulky Student velkými písmeny a použijte jméno ALIAS jako STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

Výstup:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Napište SQL dotaz pro získání jedinečných hodnot MAJOR Subjects z tabulky Student.

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

Výstup:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Napište SQL dotaz pro tisk prvních 3 znaků FIRST_NAME z tabulky Student.

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

Výstup:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Napište SQL dotaz pro zjištění pozice abecedy (‚a‘) ve sloupci křestního jména ‚Shivansh‘ z tabulky Student.

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

Výstup:

5>

5. Napište SQL dotaz, který načte jedinečné hodnoty MAJOR Subjects z tabulky Student a vytiskněte jeho délku.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ

DÉLKA (HLAVNÍ)

Počítačová věda

16

Matematika

jedenáct

Biologie

7

Chemie

9

Fyzika

7

Dějiny

7

Angličtina

7

6. Napište SQL dotaz pro tisk FIRST_NAME z tabulky Student po nahrazení „a“ za „A“.

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

Výstup:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Napište SQL dotaz pro tisk FIRST_NAME a LAST_NAME z tabulky Student do jednoho sloupce COMPLETE_NAME.

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

Výstup:

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

8. Napište SQL dotaz pro tisk všech podrobností o studentovi z pořadí tabulky studentů podle FIRST_NAME Vzestupně a MAJOR Předmět sestupně .

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

205

SZO

Kumar

7,85

2021-09-01 08:30:00

Fyzika

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematika

207

Pankaj

kádě

9,78

2021-09-01 02:30:00

Angličtina

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Dějiny

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemie

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologie

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Počítačová věda

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematika

9. Napište SQL dotaz pro vytištění podrobností o studentech s FIRST_NAME jako „Prem“ a „Shivansh“ z tabulky Student.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Počítačová věda

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Dějiny

10. Napište dotaz SQL pro vytištění podrobností o studentech s výjimkou FIRST_NAME jako „Prem“ a „Shivansh“ z tabulky Student.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

202

Umesh

Sharma

8.44

2021-09-01 08:30:00

Matematika

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologie

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemie

205

SZO

Kumar

7,85

2021-09-01 08:30:00

Fyzika

207

Pankaj

kádě

9,78

2021-09-01 02:30:00

Angličtina

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematika

11. Napište SQL dotaz pro vytištění podrobností o studentech, jejichž FIRST_NAME končí na „a“.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemie

12. Napište SQL dotaz pro vytištění podrobností o studentech, jejichž FIRST_NAME končí na „a“ a obsahuje šest abeced.

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

13. Napište SQL dotaz pro vytištění podrobností o studentech, jejichž GPA leží mezi 9:00 a 9:99.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemie

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Dějiny

207

Pankaj

kádě

9,78

2021-09-01 02:30:00

Angličtina

14. Napište SQL dotaz pro získání počtu studentů s hlavním předmětem ‚Počítačové vědy‘.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ

CELKOVÝ SOUČET

Počítačová věda

1

15. Napište SQL dotaz pro získání úplných jmen studentů 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ýstup:

Shivansh Mahajan Radha Sharma>

16. Napište SQL dotaz pro získání čísla no. studentů pro každý HLAVNÍ předmět v sestupném pořadí.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ

POČET (HLAVNÍ)

Biologie

1

Chemie

1

Počítačová věda

1

Angličtina

1

Dějiny

1

Fyzika

1

Matematika

2

17. Zobrazte podrobnosti o studentech, kteří obdrželi stipendia, včetně jejich jmen, výše stipendia a data stipendia.

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ýstup:

JMÉNO PŘÍJMENÍ 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. Napište SQL dotaz pro zobrazení pouze lichých řádků z tabulky Student.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Počítačová věda
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 Biologie
205 SZO Kumar 7,85 2021-09-01 08:30:00 Fyzika
207 Pankaj kádě 9,78 2021-09-01 02:30:00 Angličtina

19. Napište SQL dotaz pro zobrazení pouze sudých řádků z tabulky Student.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

202 Umesh Sharma 8.44 2021-09-01 08:30:00 Matematika
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemie
206 Prem Chopra 9,56 2021-09-01 09:24:00 Dějiny
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematika

20. Uveďte všechny studenty a výši jejich stipendií, pokud nějaké obdrželi. Pokud student nezískal stipendium, zobrazte pro podrobnosti o stipendiu 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. Napište SQL dotaz pro zobrazení horních n (řekněme 5) záznamů pořadí studentských tabulek podle sestupného GPA.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

207 Pankaj kádě 9,78 2021-09-01 02:30:00 Angličtina
206 Prem Chopra 9,56 2021-09-01 09:24:00 Dějiny
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemie
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Počítačová věda
202 Umesh Sharma 8.44 2021-09-01 08:30:00 Matematika

22. Napište SQL dotaz pro určení n-tého (řekněme n=5) nejvyššího GPA z tabulky.

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

Výstup:

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

205 SZO Kumar 7,85 2021-09-01 08:30:00 Fyzika

23. Napište SQL dotaz pro určení 5. nejvyšší GPA bez použití klíčového slova LIMIT.

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

Výstup:

je speciální postava

STUDENT_ID

JMÉNO

PŘÍJMENÍ

GPA

ENROLLMENT_DATE

HLAVNÍ, DŮLEŽITÝ

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Počítačová věda

24. Napište SQL dotaz pro získání seznamu studentů se stejným GPA.

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

25. Napište SQL dotaz pro zobrazení druhého nejvyššího GPA z tabulky Student pomocí dílčího dotazu.

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

Výstup:

9.56>

26. Napište dotaz SQL pro zobrazení jednoho řádku dvakrát ve výsledcích z tabulky.

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

27. Napište SQL dotaz do seznamu STUDENT_ID, který nezíská stipendium.

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

Výstup:

204 205 206 207 208>

28. Napište dotaz SQL pro načtení prvních 50 % záznamů z tabulky.

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

29. Napište SQL dotaz pro získání HLAVNÍHO předmětu, který má méně než 4 osoby.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ MAJOR_COUNT
Biologie 1
Chemie 1
Počítačová věda 1
Angličtina 1
Dějiny 1
Matematika 2
Fyzika 1

30. Napište SQL dotaz pro zobrazení všech HLAVNÍCH předmětů spolu s počtem lidí v nich.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ VŠECHNY_MAJOR
Biologie 1
Chemie 1
Počítačová věda 1
Angličtina 1
Dějiny 1
Matematika 2
Fyzika 1

31. Napište dotaz SQL pro zobrazení posledního záznamu z tabulky.

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

Výstup:

STUDENT_ID JMÉNO PŘÍJMENÍ GPA ENROLLMENT_DATE HLAVNÍ, DŮLEŽITÝ
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematika

32. Napište dotaz SQL pro načtení prvního řádku tabulky.

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

Výstup:

STUDENT_ID JMÉNO PŘÍJMENÍ GPA ENROLLMENT_DATE HLAVNÍ, DŮLEŽITÝ
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Počítačová věda

33. Napište dotaz SQL pro načtení posledních pěti záznamů z tabulky.

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

Výstup:

STUDENT_ID JMÉNO PŘÍJMENÍ GPA ENROLLMENT_DATE HLAVNÍ, DŮLEŽITÝ
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemie
205 SZO Kumar 7,85 2021-09-01 08:30:00 Fyzika
206 Prem Chopra 9,56 2021-09-01 09:24:00 Dějiny
207 Pankaj kádě 9,78 2021-09-01 02:30:00 Angličtina
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematika

34. Napište dotaz SQL pro načtení tří maximálních GPA z tabulky pomocí spolu souvisejícího poddotazu.

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

Výstup:

9.78 9.56 9.2>

35. Napište dotaz SQL pro načtení tříminutového GPA z tabulky pomocí souvisejícího poddotazu.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (VYBRAT POČET (ODDÍL. GPA) OD studenta S2, KDE S1.GPA>= S2.GPA) OBJEDNAT PODLE S1.GPA;>

Výstup:

5.6 7 7.85>

36. Napište dotaz SQL pro načtení n-tého maximálního GPA z tabulky.

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

37. Napište SQL dotaz pro načtení HLAVNÍCH předmětů spolu s maximálním GPA v každém z těchto HLAVNÍCH předmětů.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ MAXGPA
Biologie 5.6
Chemie 9.2
Počítačová věda 8,79
Angličtina 9,78
Dějiny 9,56
Matematika 8.44
Fyzika 7,85

38. Napište SQL dotaz pro získání jmen studentů, kteří mají nejvyšší GPA.

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

Výstup:

JMÉNO GPA
Pankaj 9,78

39. Napište dotaz SQL pro zobrazení aktuálního data a času.

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

40. Napište dotaz pro vytvoření nové tabulky, která se skládá z dat a struktury zkopírované z jiné tabulky (řekněme Student) nebo naklonujte tabulku s názvem Student.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. Napište dotaz SQL pro aktualizaci GPA všech studentů v HLAVNÍM oboru ‚Počítačové vědy‘ podle 7.5.

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

42. Napište SQL dotaz pro zjištění průměrného GPA pro každý hlavní obor.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ AVERAGE_GPA
Biologie 5.6
Chemie 9.2
Počítačová věda 4
Angličtina 9,78
Dějiny 9,56
Matematika 7,72
Fyzika 7,85

43. Napište SQL dotaz pro zobrazení 3 nejlepších studentů s nejvyšší GPA.

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

Výstup:

STUDENT_ID JMÉNO PŘÍJMENÍ GPA ENROLLMENT_DATE HLAVNÍ, DŮLEŽITÝ
207 Pankaj kádě 9,78 2021-09-01 02:30:00 Angličtina
206 Prem Chopra 9,56 2021-09-01 09:24:00 Dějiny
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemie

44. Napište SQL dotaz a zjistěte počet studentů v každém oboru, kteří mají GPA větší než 7,5.

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

Výstup:

HLAVNÍ, DŮLEŽITÝ HIGH_GPA_COUNT
Biologie 1
Chemie 1
Počítačová věda 1
Angličtina 1
Dějiny 1
Matematika 2
Fyzika 1

45. Napište SQL dotaz a najděte studenty, kteří mají stejný GPA jako ‚Shivansh Mahajan‘.

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

Výstup:

STUDENT_ID JMÉNO PŘÍJMENÍ GPA ENROLLMENT_DATE HLAVNÍ, DŮLEŽITÝ
201 Shivansh Mahajan 4 2021-09-01 09:30:00 Počítačová věda

Závěr

Stručně řečeno, zvládnutí otázek dotazování SQL je nezbytné pro každého, kdo chce vyniknout v rolích, jako jsou datoví analytici, datoví inženýři a obchodní analytici. Tato příručka poskytuje komplexní sbírku otázek a odpovědí na dotazování SQL, které jsou navrženy tak, aby vás důkladně připravily na pohovory.

Pochopením a procvičením těchto dotazů můžete prokázat svou odbornost v SQL, což je kritická dovednost, která je základem úspěšné manipulace a analýzy dat v různých technologických odvětvích.