Database
 sql >> Baza danych >  >> RDS >> Database

30 najważniejszych pytań do wywiadu SQL, które musisz ćwiczyć w 2022 r.

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.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Niektóre DOWOLNE przekształcenia zbiorcze są uszkodzone

  2. Dokumentacja SQL dla początkujących

  3. Adaptacyjny próg łączenia

  4. Programowanie baz danych w Pythonie z SQL Express dla początkujących

  5. PRZYPADEK SQL:Poznaj i unikaj 3 mniej znanych kłopotów