logo

Pytania do rozmowy kwalifikacyjnej dotyczące zapytania SQL

SQL Lub Strukturalny język zapytań jest standardowym językiem relacyjnych baz danych. Zapytania SQL to potężne narzędzia służące do manipulowania i zarządzania danymi przechowywanymi w takich bazach danych, jak np MySQL'a , Wyrocznia , PostgreSQL itp. Niezależnie od tego, czy pobierasz określone punkty danych, przeprowadzasz złożone analizy, czy modyfikujesz struktury bazy danych, zapytania SQL zapewniają ustandaryzowany język umożliwiający wydajną realizację tych zadań.

Tutaj omówimy Ponad 45 pytań do wywiadu MySQL z odpowiedziami które są często zadawane podczas rozmowy kwalifikacyjne dla Analityka Danych I Inżynier danych stanowiska w MAANG i innych dobrze płatnych firmach. Niezależnie od tego, czy jesteś świeższy lub doświadczony profesjonalista z 5 , 8 , Lub 10 lat doświadczenia, ten artykuł doda Ci pewności siebie, której potrzebujesz, aby pomyślnie przejść następną rozmowę kwalifikacyjną.



Pytania i odpowiedzi dotyczące zapytania SQL podczas rozmowy kwalifikacyjnej

Stworzyliśmy trzy przykładowe tabele:Stół studencki,Tabela programów, ITabela stypendialna. Będziemy używać tych tabel do wykonywania różnych operacji na zapytaniach.

Stół studencki

LEGITYMACJA STUDENCKA



IMIĘ

NAZWISKO

GPA



DATA REJESTRACJI

GŁÓWNY

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Informatyka

202

Umesz

Sharma

8.44

2021-09-01 08:30:00

Matematyka

203

Rakesh

Kumar

5,60

2021-09-01 10:00:00

Biologia

204

Radha

Sharma

9.20

2021-09-01 12:45:00

Chemia

205

Kto

Kumar

7,85

2021-09-01 08:30:00

Fizyka

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Historia

207

Pankaja

Kadzie

9,78

2021-09-01 02:30:00

język angielski

208

Navleen

Kaur

7.00

2021-09-01 06:30:00

Matematyka

Tabela programów

STUDENT_REF_ID

NAZWA PROGRAMU

PROGRAM_START_DATE

201

Informatyka

2021-09-01 00:00:00

202

Matematyka

2021-09-01 00:00:00

208

Matematyka

2021-09-01 00:00:00

205

Fizyka

2021-09-01 00:00:00

204

Chemia

2021-09-01 00:00:00

207

Psychologia

2021-09-01 00:00:00

206

Historia

2021-09-01 00:00:00

203

Biologia

2021-09-01 00:00:00

Tabela stypendialna

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

Zacznijmy od przyjrzenia się niektórym z nich najczęściej zadawane pytania podczas rozmów kwalifikacyjnych SQL Query :

1. Napisz zapytanie SQL, aby pobrać FIRST_NAME z tabeli Student, pisane wielkimi literami i użyj nazwy ALIAS jako STUDENT_NAME.

SELECT upper(FIRST_NAME) as STUDENT_NAME from Student;>

Wyjście:

SHIVANSH UMESH RAKESH RADHA KUSH PREM PANKAJ NAVLEEN>

2. Napisz zapytanie SQL, aby pobrać unikalne wartości GŁÓWNYCH przedmiotów z tabeli Studentów.

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

Wyjście:

Computer Science Mathematics Biology Chemistry Physics History English>

3. Napisz zapytanie SQL, aby wydrukować pierwsze 3 znaki FIRST_NAME z tabeli Studenta.

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

Wyjście:

Shi Ume Rak Rad Kus Pre Pan Nav>

4. Napisz zapytanie SQL, aby znaleźć pozycję alfabetu („a”) w kolumnie imienia „Shivansh” z tabeli Student.

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

Wyjście:

5>

5. Napisz zapytanie SQL, które pobierze unikalne wartości MAJOR Tematy z tabeli Student i wydrukuj jego długość.

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

Wyjście:

GŁÓWNY

DŁUGOŚĆ (GŁÓWNA)

Informatyka

16

Matematyka

jedenaście

Biologia

7

Chemia

9

Fizyka

7

Historia

7

język angielski

7

6. Napisz zapytanie SQL, aby wydrukować FIRST_NAME z tabeli Studenta po zastąpieniu „a” przez „A”.

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

Wyjście:

ShivAnsh Umesh RAkesh RAdhA Kush Prem PAnkAj NAvleen>

7. Napisz zapytanie SQL, aby wydrukować IMIĘ i NAZWISKO z tabeli Studenta w pojedynczej kolumnie COMPLETE_NAME.

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

Wyjście:

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

8. Napisz zapytanie SQL, aby wydrukować wszystkie szczegóły Studenta z tabeli Studentów w kolejności rosnącej IMIĘ IMIĘDZY, a malejącej.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

205

Kto

Kumar

7,85

2021-09-01 08:30:00

Fizyka

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematyka

207

Pankaja

Kadzie

9,78

2021-09-01 02:30:00

język angielski

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Historia

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemia

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologia

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Informatyka

202

Umesz

Sharma

tablica.z Java

8.44

2021-09-01 08:30:00

Matematyka

9. Napisz zapytanie SQL, aby wydrukować szczegóły Studentów z IMIĘ jako „Prem” i „Shivansh” z tabeli Studentów.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

201

Shivansh

Mahajan

8,79

2021-09-01 09:30:00

Informatyka

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Historia

10. Napisz zapytanie SQL, aby wydrukować szczegóły Studentów z wyłączeniem IMIĘ jako „Prem” i „Shivansh” z tabeli Studentów.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

202

Umesz

Sharma

8.44

2021-09-01 08:30:00

Matematyka

203

Rakesh

Kumar

5.6

2021-09-01 10:00:00

Biologia

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemia

205

Kto

Kumar

7,85

2021-09-01 08:30:00

Fizyka

207

Pankaja

Kadzie

9,78

2021-09-01 02:30:00

język angielski

208

Navleen

Kaur

7

2021-09-01 06:30:00

Matematyka

11. Napisz zapytanie SQL, aby wydrukować szczegółowe dane Studentów, których IMIĘ kończy się na „a”.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemia

12. Napisz zapytanie SQL, aby wydrukować szczegółowe informacje o Uczniach, których IMIĘ kończy się na „a” i zawiera sześć alfabetów.

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

13. Napisz zapytanie SQL, które wyświetli dane Studentów, których średnia ocen mieści się w przedziale od 9,00 do 9,99.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

204

Radha

Sharma

9.2

2021-09-01 12:45:00

Chemia

206

Prem

Chopra

9,56

2021-09-01 09:24:00

Historia

207

Pankaja

Kadzie

9,78

2021-09-01 02:30:00

język angielski

14. Napisz zapytanie SQL, aby pobrać liczbę uczniów mających główny przedmiot „Informatyka”.

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

Wyjście:

GŁÓWNY

TOTAL_COUNT

Informatyka

1

15. Napisz zapytanie SQL, które pobierze pełne imiona i nazwiska uczniów z GPA>= 8,5 i <= 9,5.

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

Wyjście:

Shivansh Mahajan Radha Sharma>

16. Napisz zapytanie SQL, aby pobrać nr. studentów dla każdego GŁÓWNEGO przedmiotu w kolejności malejącej.

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

Wyjście:

GŁÓWNY

LICZBA (GŁÓWNA)

Biologia

1

Chemia

1

Informatyka

1

język angielski

1

Historia

1

Fizyka

1

Matematyka

2

17. Wyświetl szczegółowe informacje o studentach, którzy otrzymali stypendia, w tym ich nazwiska, kwoty stypendiów i daty stypendiów.

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

Wyjście:

IMIĘ NAZWISKO SCHOLARSHIP_AMOUNT SCHOLARSHIP_DATE
Shivansh Mahajan 5000 2021-10-15 00:00:00
Umesz 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. Napisz zapytanie SQL wyświetlające tylko nieparzyste wiersze z tabeli Studenta.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatyka
203 Rakesh Kumar 5.6 2021-09-01 10:00:00 Biologia
205 Kto Kumar 7,85 2021-09-01 08:30:00 Fizyka
207 Pankaja Kadzie 9,78 2021-09-01 02:30:00 język angielski

19. Napisz zapytanie SQL wyświetlające tylko parzyste wiersze z tabeli Studenta.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

202 Umesz Sharma 8.44 2021-09-01 08:30:00 Matematyka
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemia
206 Prem Chopra 9,56 2021-09-01 09:24:00 Historia
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematyka

20. Wymień wszystkich studentów i kwoty ich stypendiów, jeśli je otrzymali. Jeżeli student nie otrzymał stypendium, w informacjach o stypendium wyświetl 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. Napisz zapytanie SQL wyświetlające n górnych (powiedzmy 5) rekordów kolejności tabeli Studentów według malejącego GPA.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

207 Pankaja Kadzie 9,78 2021-09-01 02:30:00 język angielski
206 Prem Chopra 9,56 2021-09-01 09:24:00 Historia
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemia
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatyka
202 Umesz Sharma 8.44 2021-09-01 08:30:00 Matematyka

22. Napisz zapytanie SQL, aby określić n-ty (powiedzmy n=5) najwyższy GPA z tabeli.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

205 Kto Kumar 7,85 2021-09-01 08:30:00 Fizyka

23. Napisz zapytanie SQL, aby określić piąty najwyższy GPA bez użycia słowa kluczowego LIMIT.

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

Wyjście:

LEGITYMACJA STUDENCKA

IMIĘ

NAZWISKO

GPA

DATA REJESTRACJI

GŁÓWNY

201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatyka

24. Napisz zapytanie SQL, aby pobrać listę Studentów z tym samym GPA.

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

25. Napisz zapytanie SQL, aby wyświetlić drugi najwyższy GPA z tabeli Studentów, korzystając z zapytania podrzędnego.

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

Wyjście:

9.56>

26. Napisz zapytanie SQL wyświetlające dwukrotnie jeden wiersz w wynikach tabeli.

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

27. Napisz zapytanie SQL wyświetlające listę STUDENT_ID, który nie otrzymuje stypendium.

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

Wyjście:

204 205 206 207 208>

28. Napisz zapytanie SQL pobierające z tabeli pierwsze 50% rekordów.

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

29. Napisz zapytanie SQL, aby pobrać GŁÓWNY temat, w którym znajduje się mniej niż 4 osoby.

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

Wyjście:

GŁÓWNY MAJOR_COUNT
Biologia 1
Chemia 1
Informatyka 1
język angielski 1
Historia 1
Matematyka 2
Fizyka 1

30. Napisz zapytanie SQL wyświetlające wszystkie GŁÓWNE tematy wraz z liczbą osób w nich zawartych.

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

Wyjście:

GŁÓWNY WSZYSTKICH GŁÓWNYCH
Biologia 1
Chemia 1
Informatyka 1
język angielski 1
Historia 1
Matematyka 2
Fizyka 1

31. Napisz zapytanie SQL wyświetlające ostatni rekord z tabeli.

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

Wyjście:

LEGITYMACJA STUDENCKA IMIĘ NAZWISKO GPA DATA REJESTRACJI GŁÓWNY
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematyka

32. Napisz zapytanie SQL pobierające pierwszy wiersz tabeli.

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

Wyjście:

LEGITYMACJA STUDENCKA IMIĘ NAZWISKO GPA DATA REJESTRACJI GŁÓWNY
201 Shivansh Mahajan 8,79 2021-09-01 09:30:00 Informatyka

33. Napisz zapytanie SQL pobierające pięć ostatnich rekordów z tabeli.

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

Wyjście:

LEGITYMACJA STUDENCKA IMIĘ NAZWISKO GPA DATA REJESTRACJI GŁÓWNY
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemia
205 Kto Kumar 7,85 2021-09-01 08:30:00 Fizyka
206 Prem Chopra 9,56 2021-09-01 09:24:00 Historia
207 Pankaja Kadzie 9,78 2021-09-01 02:30:00 język angielski
208 Navleen Kaur 7 2021-09-01 06:30:00 Matematyka

34. Napisz zapytanie SQL, aby pobrać z tabeli maksymalnie trzy GPA, korzystając z powiązanego podzapytania.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (WYBIERZ LICZBĘ(ODRÓŻNONE GPA) OD UCZNIA S2 GDZIE S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

Wyjście:

9.78 9.56 9.2>

35. Napisz zapytanie SQL, aby pobrać z tabeli trzyminutowe GPA, korzystając z powiązanego podzapytania.

SELECT DISTINCT GPA FROM Student S1 WHERE 3>= (WYBIERZ LICZBĘ(ODSTĘPNE GPA) OD UCZNIA S2 GDZIE S1.GPA>= S2.GPA) ZAMÓW PRZEZ S1.GPA;>

Wyjście:

5.6 7 7.85>

36. Napisz zapytanie SQL, aby pobrać n-ty maksymalny GPA z tabeli.

SELECT DISTINCT GPA FROM Student S1 WHERE n>= (WYBIERZ LICZBĘ(ODRÓŻNONE GPA) OD UCZNIA S2 GDZIE S1.GPA<= S2.GPA) ORDER BY S1.GPA DESC;>

37. Napisz zapytanie SQL, aby pobrać GŁÓWNE przedmioty wraz z maksymalną oceną średnią z każdego z tych GŁÓWNYCH przedmiotów.

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

Wyjście:

GŁÓWNY MAXGPA
Biologia 5.6
Chemia 9.2
Informatyka 8,79
język angielski 9,78
Historia 9,56
Matematyka 8.44
Fizyka 7,85

38. Napisz zapytanie SQL, aby pobrać nazwiska Studentów, którzy mają najwyższą średnią ocen.

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

Wyjście:

IMIĘ GPA
Pankaja 9,78

39. Napisz zapytanie SQL wyświetlające aktualną datę i godzinę.

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

40. Napisz zapytanie o utworzenie nowej tabeli składającej się z danych i struktury skopiowanych z innej tabeli (powiedzmy Student) lub sklonuj tabelę o nazwie Student.

CREATE TABLE CloneTable AS SELECT * FROM Student;>

41. Napisz zapytanie SQL w celu aktualizacji ocen wszystkich studentów kierunku „Informatyka” z zastrzeżeniem 7.5.

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

42. Napisz zapytanie SQL, aby znaleźć średnią ocen GPA dla każdego kierunku.

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

Wyjście:

GŁÓWNY ŚREDNIA_GPA
Biologia 5.6
Chemia 9.2
Informatyka 4
język angielski 9,78
Historia 9,56
Matematyka 7,72
Fizyka 7,85

43. Napisz zapytanie SQL wyświetlające 3 uczniów z najwyższymi wynikami GPA.

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

Wyjście:

LEGITYMACJA STUDENCKA IMIĘ NAZWISKO GPA DATA REJESTRACJI GŁÓWNY
207 Pankaja Kadzie 9,78 2021-09-01 02:30:00 język angielski
206 Prem Chopra 9,56 2021-09-01 09:24:00 Historia
204 Radha Sharma 9.2 2021-09-01 12:45:00 Chemia

44. Napisz zapytanie SQL, aby znaleźć liczbę studentów na każdym kierunku, którzy mają GPA większą niż 7,5.

SELECT MAJOR, COUNT(STUDENT_ID) AS HIGH_GPA_COUNT FROM Student WHERE GPA>3.5 GRUPA WEDŁUG KIERUNKÓW;>

Wyjście:

GŁÓWNY HIGH_GPA_COUNT
Biologia 1
Chemia 1
Informatyka 1
język angielski 1
Historia 1
Matematyka 2
Fizyka 1

45. Napisz zapytanie SQL, aby znaleźć uczniów, którzy mają tę samą średnią ocen co „Shivansh Mahajan”.

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

Wyjście:

LEGITYMACJA STUDENCKA IMIĘ NAZWISKO GPA DATA REJESTRACJI GŁÓWNY
201 Shivansh Mahajan 4 2021-09-01 09:30:00 Informatyka

Wniosek

Podsumowując, opanowanie pytań do rozmów kwalifikacyjnych dotyczących zapytań SQL jest niezbędne dla każdego, kto chce przodować w rolach takich jak analitycy danych, inżynierowie danych i analitycy biznesowi. W tym przewodniku znajdziesz obszerny zbiór pytań i odpowiedzi dotyczących rozmów kwalifikacyjnych za pomocą zapytań SQL, których zadaniem jest dokładne przygotowanie Cię do rozmów kwalifikacyjnych.

Rozumiejąc i ćwicząc te zapytania, możesz wykazać się znajomością języka SQL – umiejętności krytycznej, która leży u podstaw skutecznej manipulacji i analizy danych w różnych branżach opartych na technologii.