SQL lub Structured Query Language to standardowy język do obsługi relacyjnych baz danych. Biorąc pod uwagę ogromną ilość danych, bardzo ważne jest, abyśmy zrozumieli, jak używać zapytań do pobierania wymaganych danych. W tym artykule na temat pytań do wywiadu SQL Query, omówię kilka pytań, które musisz przećwiczyć, aby zostać administratorem bazy danych, a także pomogą ci osiągnąć sukces w rozmowach kwalifikacyjnych.
Najczęstsze pytania do wywiadu dotyczące zapytania SQL
Dla lepszego zrozumienia rozważę poniższe tabele do pisania zapytań.
Tabela informacji o pracownikach:
EmpID | EmpFname | Praca | Dział | Projekt | Adres | DOB | Płeć |
1 | Sanjay | Mehra | HR | P1 | Hyderabad(HYD) | 01/12/1976 | M |
2 | Ananya | Mishra | Administrator | P2 | Delhi(DEL) | 02.05.1968 | F |
3 | Rohan | Diwan | Konto | P3 | Bombaj (BOM) | 01/01/1980 | M |
4 | Sonia | Kulkarni | HR | P1 | Hyderabad(HYD) | 02/05/1992 | F |
5 | Ankit | Kapoor | Administrator | P2 | Delhi(DEL) | 03.07.1994 | M |
Tabela pozycji pracownika:
EmpID | EmpPosition | Data dołączenia | Wynagrodzenie |
1 | Menedżer | 01/05/2022 | 500000 |
2 | Wykonawczy | 02/05/2022 | 75000 |
3 | Menedżer | 01/05/2022 | 90000 |
2 | Prowadzenie | 02/05/2022 | 85000 |
1 | Wykonawczy | 01/05/2022 | 300000 |
Zacznijmy od przyjrzenia się niektórym z najczęściej zadawanych pytań podczas rozmowy kwalifikacyjnej SQL Query,
- Napisz zapytanie, aby pobrać nazwę EmpFname z tabeli EmployeeInfo wielkimi literami i użyj nazwy ALIAS jako EmpName.
- Napisz zapytanie, aby pobrać liczbę pracowników pracujących w dziale „HR”.
- Napisz zapytanie, aby uzyskać aktualną datę.
- Napisz zapytanie, aby pobrać pierwsze cztery znaki EmpLname z tabeli EmployeeInfo.
- Napisz zapytanie, aby pobrać tylko nazwę miejsca (ciąg przed nawiasami) z kolumny Adres w tabeli Informacje o pracowniku.
- Napisz zapytanie, aby utworzyć nową tabelę, która składa się z danych i struktury skopiowanej z innej tabeli.
- Napisz zapytanie q, aby znaleźć wszystkich pracowników, których wynagrodzenie wynosi od 50000 do 100000.
- Napisz zapytanie, aby znaleźć nazwiska pracowników zaczynające się na „S”
- Napisz zapytanie, aby pobrać najlepsze N rekordów.
- Napisz zapytanie, aby pobrać EmpFname i EmpLname w jednej kolumnie jako „FullName”. Imię i nazwisko muszą być oddzielone spacją.
P1. Napisz zapytanie, aby pobrać nazwę EmpFname z tabeli EmployeeInfo wielkimi literami i użyj nazwy ALIAS jako EmpName.
SELECT UPPER(EmpFname) AS EmpName FROM EmployeeInfo;
P2. Napisz zapytanie, aby pobrać liczbę pracowników pracujących w dziale „HR”.
SELECT COUNT(*) FROM EmployeeInfo WHERE Department = 'HR';
Q3. Napisz zapytanie, aby uzyskać aktualną datę.
Możesz napisać zapytanie w SQL Server w następujący sposób:
SELECT GETDATE();
Możesz napisać zapytanie w MySQL w następujący sposób:
SELECT SYSTDATE();
P4. Napisz zapytanie, aby pobrać pierwsze cztery znaki EmpLname z tabeli EmployeeInfo.
SELECT SUBSTRING(EmpLname, 1, 4) FROM EmployeeInfo;
P5. Napisz zapytanie, aby pobrać tylko nazwę miejsca (ciąg przed nawiasami) z kolumny Adres w tabeli Informacje o pracowniku.
Korzystanie z funkcji MID w MySQL
SELECT MID(Address, 0, LOCATE('(',Address)) FROM EmployeeInfo;
Using SUBSTRING
SELECT SUBSTRING(Address, 1, CHARINDEX('(',Address)) FROM EmployeeInfo;
P6. Napisz zapytanie, aby utworzyć nową tabelę, która składa się z danych i struktury skopiowanych z drugiej tabeli.
Za pomocą polecenia WYBIERZ DO:
SELECT * INTO NewTable FROM EmployeeInfo WHERE 1 = 0;
Używając polecenia CREATE w MySQL:
CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;
P7. Napisz zapytanie q, aby znaleźć wszystkich pracowników, których wynagrodzenie wynosi od 50000 do 100000.
SELECT * FROM EmployeePosition WHERE Salary BETWEEN '50000' AND '100000';
P8. Napisz zapytanie, aby znaleźć nazwiska pracowników zaczynające się na „S”
SELECT * FROM EmployeeInfo WHERE EmpFname LIKE 'S%';
P9. Napisz zapytanie, aby pobrać pierwsze N rekordów.
Używając polecenia TOP w SQL Server:
SELECT TOP N * FROM EmployeePosition ORDER BY Salary DESC;
Używając polecenia LIMIT w MySQL:
SELECT * FROM EmpPosition ORDER BY Salary DESC LIMIT N;
P10. Napisz zapytanie, aby pobrać EmpFname i EmpLname w jednej kolumnie jako „FullName”. Imię i nazwisko muszą być oddzielone spacją.
SELECT CONCAT(EmpFname, ' ', EmpLname) AS 'FullName' FROM EmployeeInfo;
P11. Napisz zapytanie znajdź liczbę pracowników, których data urodzenia mieści się w przedziale od 02.05.1970 do 31.12.1975 i są pogrupowane według płci
SELECT COUNT(*), Gender FROM EmployeeInfo WHERE DOB BETWEEN '02/05/1970 ' AND '31/12/1975' GROUP BY Gender;
P12. Napisz zapytanie, aby pobrać wszystkie rekordy z tabeli EmployeeInfo uporządkowane według EmpLname w porządku malejącym i Działu w porządku rosnącym.
Aby uporządkować rekordy w kolejności rosnącej i malejącej, musisz użyć instrukcji ORDER BY w SQL.
SELECT * FROM EmployeeInfo ORDER BY EmpFname desc, Department asc;
P13. Napisz zapytanie, aby pobrać dane pracowników, których EmpLname kończy się na literę „A” i zawiera pięć alfabetów.
Aby pobrać szczegóły matematyczne o określonej wartości, musisz użyć operatora LIKE w SQL.
SELECT * FROM EmployeeInfo WHERE EmpLname LIKE '____a';
P14. Napisz zapytanie, aby pobrać dane wszystkich pracowników z wyjątkiem pracowników o imionach „Sanjay” i „Sonia” z tabeli Informacje o pracownikach.
SELECT * FROM EmployeeInfo WHERE EmpFname NOT IN ('Sanjay','Sonia');Chcesz podnieść swoje umiejętności, aby awansować w swojej karierze? Sprawdź ten film
10 najlepszych technologii do nauki w 2022 r. | Edureka
P15. Napisz zapytanie, aby pobrać dane pracowników o adresie „DELHI(DEL)”.
SELECT * FROM EmployeeInfo WHERE Address LIKE 'DELHI(DEL)%';
P16. Napisz zapytanie, aby pobrać wszystkich pracowników, którzy również zajmują stanowisko kierownicze.
SELECT E.EmpFname, E.EmpLname, P.EmpPosition FROM EmployeeInfo E INNER JOIN EmployeePosition P ON E.EmpID = P.EmpID AND P.EmpPosition IN ('Manager');
P17. Napisz zapytanie, aby pobrać dział -mądra liczba pracowników posortowanych według liczby działów w porządku rosnącym.
SELECT Department, count(EmpID) AS EmpDeptCount FROM EmployeeInfo GROUP BY Department ORDER BY EmpDeptCount ASC;
P18. Napisz zapytanie, aby obliczyć rekordy parzyste i nieparzyste z tabeli.
Aby pobrać rekordy parzyste z tabeli, musisz użyć funkcji MOD() w następujący sposób:
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=0;
Podobnie, aby pobrać nieparzyste rekordy z tabeli, możesz napisać zapytanie w następujący sposób:
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=1;
P19. Napisz zapytanie SQL, aby pobrać dane pracownika z tabeli EmployeeInfo, który ma datę dołączenia w tabeli EmployeePosition.
SELECT * FROM EmployeeInfo E WHERE EXISTS (SELECT * FROM EmployeePosition P WHERE E.EmpId = P.EmpId);
P20. Napisz zapytanie, aby pobrać dwie minimalne i maksymalne pensje z tabeli EmployeePosition.
Aby pobrać dwie minimalne pensje, możesz napisać zapytanie jak poniżej:
SELECT DISTINCT Salary FROM EmployeePosition E1 WHERE 2 >= (SELECTCOUNT(DISTINCT Salary)FROM EmployeePosition E2 WHERE E1.Salary >= E2.Salary) ORDER BY E1.Salary DESC;
To retrieve two maximum salaries, you can write a query as below:
SELECT DISTINCT Salary FROM EmployeePosition E1 WHERE 2 >= (SELECTCOUNT(DISTINCT Salary) FROM EmployeePosition E2 WHERE E1.Salary <= E2.Salary) ORDER BY E1.Salary DESC;
P21. Napisz zapytanie, aby znaleźć N-tą najwyższą pensję w tabeli bez użycia słowa kluczowego TOP/limit.
SELECT Salary FROM EmployeePosition E1 WHERE N-1 = ( SELECT COUNT( DISTINCT ( E2.Salary ) ) FROM EmployeePosition E2 WHERE E2.Salary > E1.Salary );
P22. Napisz zapytanie, aby pobrać zduplikowane rekordy z tabeli.
SELECT EmpID, EmpFname, Department COUNT(*) FROM EmployeeInfo GROUP BY EmpID, EmpFname, Department HAVING COUNT(*) > 1;
P23. Napisz zapytanie, aby pobrać listę pracowników pracujących w tym samym dziale.
Select DISTINCT E.EmpID, E.EmpFname, E.Department FROM EmployeeInfo E, Employee E1 WHERE E.Department = E1.Department AND E.EmpID != E1.EmpID;
P24. Napisz zapytanie, aby pobrać ostatnie 3 rekordy z tabeli EmployeeInfo.
SELECT * FROM EmployeeInfo WHERE EmpID <=3 UNION SELECT * FROM (SELECT * FROM EmployeeInfo E ORDER BY E.EmpID DESC) AS E1 WHERE E1.EmpID <=3;
P25. Napisz zapytanie, aby znaleźć trzecie najwyższe wynagrodzenie w tabeli EmpPosition.
SELECT TOP 1 salary FROM( SELECT TOP 3 salary FROM employee_table ORDER BY salary DESC) AS emp ORDER BY salary ASC;
P26. Napisz zapytanie, aby wyświetlić pierwszy i ostatni rekord z tabeli EmployeeInfo.
Aby wyświetlić pierwszy rekord z tabeli EmployeeInfo, możesz napisać zapytanie w następujący sposób:
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MIN(EmpID) FROM EmployeeInfo);
Aby wyświetlić ostatni rekord z tabeli EmployeeInfo, możesz napisać zapytanie w następujący sposób:
SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MAX(EmpID) FROM EmployeeInfo);
P27. Napisz zapytanie, aby dodać weryfikację poczty e-mail do swojej bazy danych
SELECT Email FROM EmployeeInfo WHERE NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);
P28. Napisz zapytanie, aby pobrać działy, w których pracuje mniej niż 2 pracowników.
SELECT DEPARTMENT, COUNT(EmpID) as 'EmpNo' FROM EmployeeInfo GROUP BY DEPARTMENT HAVING COUNT(EmpD) < 2;
P29. Napisz zapytanie, aby pobrać EmpPostion wraz z łącznymi zarobkami wypłaconymi dla każdego z nich.
SELECT EmpPosition, SUM(Salary) from EmployeePosition GROUP BY EmpPosition;
P30. Napisz zapytanie, aby pobrać 50% rekordów z tabeli EmployeeInfo.
SELECT * FROM EmployeeInfo WHERE EmpID <= (SELECT COUNT(EmpID)/2 from EmployeeInfo);
To prowadzi nas do końca artykułu z pytaniami do wywiadu dotyczącego zapytań SQL. Mam nadzieję, że ten zestaw pytań do rozmowy kwalifikacyjnej SQL Query pomoże ci osiągnąć sukces podczas rozmowy kwalifikacyjnej. Wszystko najlepsze na rozmowę kwalifikacyjną!
Sprawdź szkolenie certyfikacyjne MySQL DBA prowadzone przez Edureka, zaufaną firmę zajmującą się edukacją online z siecią oponad 250 000 zadowolonych uczniów rozsianych po całym świecie. W ramach tego kursu poznasz podstawowe pojęcia oraz zaawansowane narzędzia i techniki zarządzania danymi i administrowania bazą danych MySQL. Obejmuje on praktyczną naukę takich pojęć, jak MySQL Workbench, MySQL Server, modelowanie danych, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, itp. Po zakończeniu szkolenia będziesz mógł tworzyć i administrować własną bazą danych MySQL oraz zarządzać danymi.
Masz do nas pytanie? Proszę o tym wspomnieć w sekcji komentarzy tego „Kwerendy SQL Pytania do rozmowy kwalifikacyjnej”, a my skontaktujemy się z Tobą tak szybko, jak to możliwe.