logo

Питання для співбесіди щодо SQL Query

SQL або Мова Структурованих Запитів є стандартною мовою для реляційних баз даних. Запити SQL — це потужні інструменти, які використовуються для маніпулювання та керування даними, що зберігаються в цих базах даних, наприклад MySQL , Оракул , PostgreSQL тощо. Якщо ви отримуєте певні точки даних, виконуєте складний аналіз чи змінюєте структури бази даних, запити SQL забезпечують стандартизовану мову для ефективного виконання цих завдань.

Ось, ми прикриємо 45+ питань для співбесіди з MySQL із відповідями які зазвичай запитують під час інтерв'ю для Data Analyst і Інженер даних посади в MAANG та інших високооплачуваних компаніях. Незалежно від того, чи є ви a свіжіше або an досвідчений професіонал з 5 , 8 , або 10 років досвіду, ця стаття дає вам усю впевненість, необхідну для проходження наступної співбесіди.



Питання та відповіді на інтерв’ю SQL Query

Ми створили три зразки таблиць:Студентський стіл,Таблиця програми, іТаблиця стипендій. Ми будемо використовувати ці таблиці для виконання різних операцій із запитами.

Студентський стіл

STUDENT_ID



ІМ'Я

ПРІЗВИЩЕ

середній бал



ENROLLMENT_DATE

ОСНОВНИЙ

201

Шиванш

Махаджан

8,79

2021-09-01 09:30:00

Комп'ютерна наука

202

Умеш

Шарма

8.44

2021-09-01 08:30:00

Математика

203

Ракеш

Кумар

5.60

2021-09-01 10:00:00

Біологія

204

Радха

Шарма

9.20

2021-09-01 12:45:00

Хімія

205

ВООЗ

Кумар

7,85

2021-09-01 08:30:00

Фізика

206

Прем

Чопра

9.56

2021-09-01 09:24:00

історія

207

Панкадж

Чани

9,78

2021-09-01 02:30:00

англійська

208

Навлін

Каур

7.00

2021-09-01 06:30:00

Математика

Таблиця програми

STUDENT_REF_ID

PROGRAM_NAME

PROGRAM_START_DATE

201

Комп'ютерна наука

2021-09-01 00:00:00

202

Математика

2021-09-01 00:00:00

208

Математика

2021-09-01 00:00:00

рядок до цілого числа java

205

Фізика

2021-09-01 00:00:00

204

Хімія

2021-09-01 00:00:00

207

Психологія

2021-09-01 00:00:00

206

історія

2021-09-01 00:00:00

203

Біологія

2021-09-01 00:00:00

Таблиця стипендій

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

Давайте почнемо з огляду на деякі з них найпоширеніші запитання для співбесіди SQL Query :

1. Напишіть SQL-запит, щоб отримати FIRST_NAME з таблиці Student у верхньому регістрі та використовуйте ім’я ALIAS як STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

Вихід:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Напишіть SQL-запит для отримання унікальних значень ОСНОВНИХ предметів із таблиці Student.

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

Вихід:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Напишіть SQL-запит, щоб надрукувати перші 3 символи FIRST_NAME з таблиці Student.

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

Вихід:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Напишіть SQL-запит, щоб знайти позицію алфавіту («a») у першому стовпці імені «Shivansh» з таблиці Student.

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

Вихід:

5>

5. Напишіть SQL-запит, який отримує унікальні значення MAJOR Subjects із таблиці Student, і надрукуйте його довжину.

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

Вихід:

ОСНОВНИЙ

ДОВЖИНА (ОСНОВНА)

Комп'ютерна наука

16

Математика

одинадцять

Біологія

7

Хімія

9

Фізика

7

історія

7

англійська

7

6. Напишіть SQL-запит, щоб вивести FIRST_NAME з таблиці Student після заміни «a» на «A».

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

Вихід:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Напишіть SQL-запит, щоб надрукувати FIRST_NAME і LAST_NAME з таблиці Student в один стовпець COMPLETE_NAME.

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

Вихід:

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

8. Напишіть SQL-запит, щоб надрукувати всі відомості про студентів із таблиці студентів у порядку FIRST_NAME за зростанням і MAJOR Subject за спаданням.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

205

ВООЗ

Кумар

7,85

2021-09-01 08:30:00

Фізика

208

Навлін

Каур

7

2021-09-01 06:30:00

Математика

207

Панкадж

Чани

9,78

2021-09-01 02:30:00

англійська

206

Прем

Чопра

9.56

2021-09-01 09:24:00

історія

204

Радха

Шарма

9.2

2021-09-01 12:45:00

Хімія

203

Ракеш

Кумар

5.6

2021-09-01 10:00:00

Біологія

201

Шиванш

Махаджан

8,79

2021-09-01 09:30:00

Комп'ютерна наука

202

Умеш

Шарма

8.44

2021-09-01 08:30:00

Математика

9. Напишіть SQL-запит, щоб надрукувати інформацію про студентів із FIRST_NAME як «Prem» і «Shivansh» із таблиці Student.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

201

Шиванш

Махаджан

8,79

2021-09-01 09:30:00

Комп'ютерна наука

206

Прем

Чопра

9.56

2021-09-01 09:24:00

історія

10. Напишіть SQL-запит, щоб надрукувати інформацію про студентів, за винятком FIRST_NAME як «Prem» і «Shivansh» з таблиці Student.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

202

Умеш

Шарма

пріоритетна черга java

8.44

2021-09-01 08:30:00

Математика

203

Ракеш

Кумар

5.6

2021-09-01 10:00:00

Біологія

204

Радха

Шарма

9.2

2021-09-01 12:45:00

Хімія

205

ВООЗ

Кумар

7,85

2021-09-01 08:30:00

Фізика

207

Панкадж

Чани

9,78

2021-09-01 02:30:00

англійська

208

Навлін

Каур

7

2021-09-01 06:30:00

Математика

11. Напишіть SQL-запит, щоб надрукувати інформацію про студентів, чиє FIRST_NAME закінчується на «a».

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

204

Радха

Шарма

9.2

2021-09-01 12:45:00

Хімія

12. Напишіть SQL-запит, щоб надрукувати інформацію про студентів, чиє FIRST_NAME закінчується на «a» та містить шість літер.

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

13. Напишіть SQL-запит, щоб надрукувати інформацію про студентів, середній бал яких становить від 9,00 до 9,99.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

204

Радха

Шарма

9.2

2021-09-01 12:45:00

Хімія

206

Прем

Чопра

9.56

2021-09-01 09:24:00

історія

207

Панкадж

Чани

9,78

2021-09-01 02:30:00

англійська

14. Напишіть SQL-запит, щоб отримати кількість студентів, які мають спеціальний предмет «Інформатика».

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

Вихід:

ОСНОВНИЙ

TOTAL_COUNT

Комп'ютерна наука

1

15. Напишіть SQL-запит, щоб отримати повні імена студентів із середнім балом>= 8,5 і <= 9,5.

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

Вихід:

Shivansh Mahajan Radha Sharma>

16. Напишіть SQL-запит, щоб отримати номер. студентів для кожного ОСНОВНОГО предмета в порядку спадання.

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

Вихід:

ОСНОВНИЙ

COUNT (ОСНОВНИЙ)

Біологія

1

Хімія

1

Комп'ютерна наука

1

англійська

1

історія

1

Фізика

1

Математика

2

17. Відобразіть інформацію про студентів, які отримали стипендії, включаючи їхні імена, суми стипендії та дати отримання стипендії.

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

Вихід:

ІМ'Я ПРІЗВИЩЕ SCHOLARSHIP_AMOUNT SCHOLARSHIP_DATE
Шиванш Махаджан 5000 2021-10-15 00:00:00
Умеш Шарма 4500 2022-08-18 00:00:00
Ракеш Кумар 3000 2022-01-25 00:00:00
Шиванш Махаджан 4000 2021-10-15 00:00:00

18. Напишіть SQL-запит, щоб показати лише непарні рядки з таблиці Student.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

201 Шиванш Махаджан 8,79 2021-09-01 09:30:00 Комп'ютерна наука
203 Ракеш Кумар 5.6 2021-09-01 10:00:00 Біологія
205 ВООЗ Кумар 7,85 2021-09-01 08:30:00 Фізика
207 Панкадж Чани 9,78 2021-09-01 02:30:00 англійська

19. Напишіть SQL-запит, щоб відображати лише парні рядки з таблиці Student.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

202 Умеш Шарма 8.44 2021-09-01 08:30:00 Математика
204 Радха Шарма 9.2 2021-09-01 12:45:00 Хімія
206 Прем Чопра 9.56 2021-09-01 09:24:00 історія
208 Навлін Каур 7 2021-09-01 06:30:00 Математика

20. Перелічіть усіх студентів та розміри їхніх стипендій, якщо вони їх отримували. Якщо студент не отримав стипендію, відобразіть 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. Напишіть SQL-запит, щоб показати перші n (скажімо, 5) записів порядку таблиці Student за спаданням GPA.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

207 Панкадж Чани 9,78 2021-09-01 02:30:00 англійська
206 Прем Чопра 9.56 2021-09-01 09:24:00 історія
204 Радха Шарма 9.2 2021-09-01 12:45:00 Хімія
201 Шиванш Махаджан 8,79 2021-09-01 09:30:00 Комп'ютерна наука
202 Умеш Шарма 8.44 2021-09-01 08:30:00 Математика

22. Напишіть SQL-запит для визначення n-го (скажімо, n=5) найвищого GPA з таблиці.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

205 ВООЗ Кумар 7,85 2021-09-01 08:30:00 Фізика

23. Напишіть SQL-запит, щоб визначити 5-й найвищий середній бал без використання ключового слова LIMIT.

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

Вихід:

STUDENT_ID

ІМ'Я

ПРІЗВИЩЕ

середній бал

ENROLLMENT_DATE

ОСНОВНИЙ

201 Шиванш Махаджан 8,79 2021-09-01 09:30:00 Комп'ютерна наука

24. Напишіть SQL-запит, щоб отримати список студентів із однаковим середнім балом.

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

25. Напишіть SQL-запит, щоб показати другий найвищий середній бал із таблиці Student за допомогою підзапиту.

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

Вихід:

9.56>

26. Напишіть SQL-запит, щоб двічі показати один рядок у результатах таблиці.

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

27. Напишіть SQL-запит для списку STUDENT_ID, який не отримує стипендію.

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

Вихід:

204 205 206 207 208>

28. Напишіть SQL-запит, щоб отримати перші 50% записів із таблиці.

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

29. Напишіть SQL-запит, щоб отримати ОСНОВНУ тему, яка містить менше 4 людей.

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

Вихід:

ОСНОВНИЙ MAJOR_COUNT
Біологія 1
Хімія 1
Комп'ютерна наука 1
англійська 1
історія 1
Математика 2
Фізика 1

30. Напишіть SQL-запит, щоб показати всю ОСНОВНУ тему разом із кількістю людей.

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

Вихід:

ОСНОВНИЙ ALL_MAJOR
Біологія 1
Хімія 1
Комп'ютерна наука 1
англійська 1
історія 1
Математика 2
Фізика 1

31. Напишіть SQL-запит, щоб показати останній запис із таблиці.

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

Вихід:

STUDENT_ID ІМ'Я ПРІЗВИЩЕ середній бал ENROLLMENT_DATE ОСНОВНИЙ
208 Навлін Каур 7 2021-09-01 06:30:00 Математика

32. Напишіть SQL-запит для отримання першого рядка таблиці.

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

Вихід:

STUDENT_ID ІМ'Я ПРІЗВИЩЕ середній бал ENROLLMENT_DATE ОСНОВНИЙ
201 Шиванш Махаджан 8,79 2021-09-01 09:30:00 Комп'ютерна наука

33. Напишіть SQL-запит, щоб отримати останні п'ять записів із таблиці.

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

Вихід:

STUDENT_ID ІМ'Я ПРІЗВИЩЕ середній бал ENROLLMENT_DATE ОСНОВНИЙ
204 Радха Шарма 9.2 2021-09-01 12:45:00 Хімія
205 ВООЗ Кумар 7,85 2021-09-01 08:30:00 Фізика
206 Прем Чопра 9.56 2021-09-01 09:24:00 історія
207 Панкадж Чани 9,78 2021-09-01 02:30:00 англійська
208 Навлін Каур 7 2021-09-01 06:30:00 Математика

34. Напишіть SQL-запит, щоб отримати три максимальних GPA з таблиці за допомогою спільного підзапиту.

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

Вихід:

9.78 9.56 9.2>

35. Напишіть SQL-запит, щоб отримати трихвилинні GPA з таблиці за допомогою спільного підзапиту.

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

Вихід:

5.6 7 7.85>

36. Напишіть SQL-запит для отримання n-го максимального GPA з таблиці.

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. Напишіть SQL-запит, щоб отримати ОСНОВНІ предмети разом із максимальним середнім балом з кожного з цих ОСНОВНИХ предметів.

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

Вихід:

ОСНОВНИЙ MAXGPA
Біологія 5.6
Хімія 9.2
Комп'ютерна наука 8,79
англійська 9,78
історія 9.56
Математика 8.44
Фізика 7,85

38. Напишіть SQL-запит, щоб отримати імена студентів, які мають найвищий середній бал.

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

Вихід:

ІМ'Я середній бал
Панкадж 9,78

39. Напишіть SQL-запит, щоб показати поточну дату та час.

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

40. Напишіть запит для створення нової таблиці, яка складається з даних і структури, скопійованих з іншої таблиці (скажімо, Student), або клонуйте таблицю під назвою Student.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. Напишіть SQL-запит, щоб оновити середній бал усіх студентів спеціальності «Інформатика» за предметом 7.5.

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

42. Напишіть SQL-запит, щоб знайти середній середній бал для кожної спеціальності.

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

Вихід:

рядок до логічного java
ОСНОВНИЙ AVERAGE_GPA
Біологія 5.6
Хімія 9.2
Комп'ютерна наука 4
англійська 9,78
історія 9.56
Математика 7.72
Фізика 7,85

43. Напишіть SQL-запит, щоб показати 3 кращих студентів із найвищим середнім балом.

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

Вихід:

STUDENT_ID ІМ'Я ПРІЗВИЩЕ середній бал ENROLLMENT_DATE ОСНОВНИЙ
207 Панкадж Чани 9,78 2021-09-01 02:30:00 англійська
206 Прем Чопра 9.56 2021-09-01 09:24:00 історія
204 Радха Шарма 9.2 2021-09-01 12:45:00 Хімія

44. Напишіть SQL-запит, щоб знайти кількість студентів на кожній спеціальності, середній бал яких перевищує 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 ГРУПОВАННЯ ЗА СПЕЦІАЛЬНОСТЮ;>

Вихід:

ОСНОВНИЙ HIGH_GPA_COUNT
Біологія 1
Хімія 1
Комп'ютерна наука 1
англійська 1
історія 1
Математика 2
Фізика 1

45. Напишіть SQL-запит, щоб знайти студентів, які мають такий самий середній бал, як і «Шиванш Махаджан».

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

Вихід:

STUDENT_ID ІМ'Я ПРІЗВИЩЕ середній бал ENROLLMENT_DATE ОСНОВНИЙ
201 Шиванш Махаджан 4 2021-09-01 09:30:00 Комп'ютерна наука

Висновок

Підводячи підсумок, можна сказати, що опанування питань інтерв’ю щодо запитів SQL є важливим для тих, хто хоче досягти успіху в таких ролях, як аналітики даних, інженери даних та бізнес-аналітики. У цьому посібнику міститься вичерпна колекція запитань і відповідей на співбесіду за запитом SQL, розроблена для того, щоб ретельно підготувати вас до співбесіди.

Розуміючи та відпрацьовуючи ці запити, ви можете продемонструвати свою майстерність у SQL, важливому навику, який лежить в основі успішної обробки та аналізу даних у різних технологічних галузях.