SQL hoặc Ngôn ngữ truy vấn có cấu trúc là ngôn ngữ chuẩn để xử lý cơ sở dữ liệu quan hệ. Với lượng dữ liệu khổng lồ hiện nay, điều rất quan trọng là chúng ta phải hiểu cách sử dụng các truy vấn để truy xuất dữ liệu cần thiết. Trong bài viết này về Câu hỏi phỏng vấn truy vấn SQL, tôi sẽ thảo luận về một số truy vấn mà bạn phải thực hành để trở thành Quản trị viên cơ sở dữ liệu và cũng sẽ giúp bạn vượt qua các cuộc phỏng vấn.
Câu hỏi phỏng vấn truy vấn SQL hàng đầu
Để bạn hiểu rõ hơn, tôi sẽ xem xét các bảng sau để viết truy vấn.
Bảng EmployeeInfo:
EmpID | EmpFname | EmpLname | Vụ | Dự án | Địa chỉ | DOB | Giới tính |
1 | Sanjay | Mehra | Nhân sự | P1 | Hyderabad (HYD) | 01/12/1976 | M |
2 | Ananya | Mishra | Quản trị viên | P2 | Delhi (DEL) | 02/05/1968 | F |
3 | Rohan | Diwan | Tài khoản | P3 | Mumbai (BOM) | 01/01/1980 | M |
4 | Sonia | Kulkarni | Nhân sự | P1 | Hyderabad (HYD) | 02/05/1992 | F |
5 | Ankit | Kapoor | Quản trị viên | P2 | Delhi (DEL) | 03/07/1994 | M |
Bảng Vị trí Nhân viên:
EmpID | Vị trí | DateOfJoining | Mức lương |
1 | Người quản lý | 01/05/2022 | 500000 |
2 | Giám đốc điều hành | 02/05/2022 | 75000 |
3 | Người quản lý | 01/05/2022 | 90000 |
2 | Khách hàng tiềm năng | 02/05/2022 | 85000 |
1 | Giám đốc điều hành | 01/05/2022 | 300000 |
Chúng ta hãy bắt đầu bằng cách xem qua một số câu hỏi phỏng vấn SQL Query thường gặp nhất,
- Viết một truy vấn để tìm nạp EmpFname từ bảng EmployeeInfo ở dạng chữ hoa và sử dụng tên ALIAS làm EmpName.
- Viết một truy vấn để tìm nạp số lượng nhân viên làm việc trong bộ phận ‘Nhân sự’.
- Viết một truy vấn để lấy ngày hiện tại.
- Viết một truy vấn để lấy bốn ký tự đầu tiên của EmpLname từ bảng EmployeeInfo.
- Viết một truy vấn để chỉ tìm nạp tên địa điểm (chuỗi trước dấu ngoặc) từ cột Địa chỉ của bảng EmployeeInfo.
- Viết truy vấn để tạo một bảng mới bao gồm dữ liệu và cấu trúc được sao chép từ bảng kia.
- Viết truy vấn q để tìm tất cả nhân viên có mức lương từ 50000 đến 100000.
- Viết một truy vấn để tìm tên của các nhân viên bắt đầu bằng chữ ‘S’
- Viết một truy vấn để tìm nạp N bản ghi hàng đầu.
- Viết một truy vấn để truy xuất EmpFname và EmpLname trong một cột duy nhất dưới dạng “FullName”. Họ và tên phải được phân tách bằng dấu cách.
Q1. Viết truy vấn để tìm nạp EmpFname từ bảng EmployeeInfo bằng chữ hoa và sử dụng tên ALIAS làm EmpName.
CHỌN LÊN LÊN (EmpFname) AS EmpName FROM EmployeeInfo;
Q2. Viết truy vấn để tìm nạp số lượng nhân viên làm việc trong bộ phận ‘Nhân sự’.
SELECT COUNT (*) FROM EmployeeInfo WHERE Department ='HR';
Q3. Viết truy vấn để lấy ngày hiện tại.
Bạn có thể viết một truy vấn như sau trong SQL Server:
CHỌN GETDATE ();
Bạn có thể viết một truy vấn như sau trong MySQL:
CHỌN SYSTDATE ();
Q4. Viết truy vấn để lấy bốn ký tự đầu tiên của EmpLname từ bảng EmployeeInfo.
CHỌN ĐĂNG KÝ (EmpLname, 1, 4) TỪ EmployeeInfo;
Q5. Viết truy vấn để chỉ tìm nạp tên địa điểm (chuỗi trước dấu ngoặc) từ cột Địa chỉ của bảng EmployeeInfo.
Sử dụng hàm MID trong MySQL
CHỌN MID (Địa chỉ, 0, VỊ TRÍ ('(', Địa chỉ)) TỪ EmployeeInfo;
Sử dụng SUBSTRING
CHỌN ĐĂNG KÝ (Địa chỉ, 1, CHARINDEX ('(', Địa chỉ)) TỪ EmployeeInfo;
Q6. Viết truy vấn để tạo một bảng mới bao gồm dữ liệu và cấu trúc được sao chép từ bảng khác.
Sử dụng lệnh CHỌN INTO:
CHỌN * VÀO NewTable TỪ EmployeeInfo WHERE 1 =0;
Sử dụng lệnh CREATE trong MySQL:
TẠO BẢNG NewTable AS SELECT * FROM EmployeeInfo;
Q7. Viết q truy vấn để tìm tất cả nhân viên có mức lương từ 50000 đến 100000.
CHỌN * TỪ Vị trí Nhân viên TRONG ĐÓ Mức lương GIỮA '50000' VÀ '100000';
Q8. Viết truy vấn để tìm tên của các nhân viên bắt đầu bằng chữ ‘S’
CHỌN * TỪ EmployeeInfo WHERE EmpFname LIKE 'S%';
Q9. Viết truy vấn để tìm nạp N bản ghi hàng đầu.
Bằng cách sử dụng lệnh TOP trong SQL Server:
CHỌN ĐẦU N * TỪ ĐƠN ĐẶT HÀNG Vị trí Nhân viên THEO MÔ TẢ Lương;
Bằng cách sử dụng lệnh LIMIT trong MySQL:
CHỌN * TỪ ĐẶT HÀNG Vị trí theo lương MÔ TẢ GIỚI HẠN N;
Q10. Viết một truy vấn để lấy EmpFname và EmpLname trong một cột duy nhất là “FullName”. Tên và họ phải được phân tách bằng dấu cách.
CHỌN CONCAT (EmpFname, '', EmpLname) AS 'FullName' FROM EmployeeInfo;
Q11. Viết truy vấn tìm số lượng nhân viên có DOB từ 02/05/1970 đến 31/12/1975 và được nhóm theo giới tính
CHỌN ĐẾM (*), Giới tính TỪ EmployeeInfo Ở ĐÂU GIỮA NHÓM '02 / 05/1970 'VÀ' 31/12/1975 'theo Giới tính;
Q12. Viết truy vấn để tìm nạp tất cả các bản ghi từ bảng EmployeeInfo được EmpLname sắp xếp theo thứ tự giảm dần và Phòng theo thứ tự tăng dần.
Để sắp xếp các bản ghi theo thứ tự tăng dần và giảm dần, bạn phải sử dụng câu lệnh ORDER BY trong SQL.
CHỌN * TỪ LỆNH CỦA EmployeeInfo THEO EmpFname desc, Department asc;
Q13. Viết truy vấn để tìm nạp thông tin chi tiết về các nhân viên có Tên miền kết thúc bằng bảng chữ cái ‘A’ và chứa năm bảng chữ cái.
Để tìm nạp chi tiết bằng toán học một giá trị nhất định, bạn phải sử dụng toán tử LIKE trong SQL.
CHỌN * TỪ EmployeeInfo WHERE EmpLname LIKE '____a';
Q14. Viết truy vấn để lấy thông tin chi tiết về tất cả nhân viên, ngoại trừ những nhân viên có tên, “Sanjay” và “Sonia” từ bảng EmployeeInfo.
CHỌN * TỪ EmployeeInfo TẠI ĐÂU KHÔNG CÓ Tên trống ('Sanjay', 'Sonia');Bạn muốn nâng cao kỹ năng bản thân để tiến lên trong sự nghiệp của mình? Xem video này
10 công nghệ hàng đầu nên học vào năm 2022 | Edureka
Q15. Viết truy vấn để tìm nạp thông tin chi tiết của nhân viên có địa chỉ là “DELHI (DEL)”.
CHỌN * TỪ Địa chỉ EmployeeInfo WHERE LIKE 'DELHI (DEL)%';
Q16. Viết truy vấn để tìm nạp tất cả nhân viên cũng giữ vị trí quản lý.
CHỌN E.EmpFname, E.EmpLname, P.EmpPosition FROM EmployeeInfo E INNER JOIN EmployeePosition P ON E.EmpID =P.EmpID AND P.EmpPosition IN ('Manager');
Q17. Viết một truy vấn để tìm nạp bộ phận số lượng nhân viên tương tự được sắp xếp theo số lượng của bộ phận theo thứ tự tăng dần.
CHỌN Bộ phận, đếm (EmpID) AS EmpDeptCount TỪ NHÓM EmployeeInfo THEO Bộ phận ĐẶT HÀNG THEO EmpDeptCount ASC;
Q18. Viết truy vấn để tính toán các bản ghi chẵn và lẻ từ một bảng.
Để truy xuất các bản ghi chẵn từ một bảng, bạn phải sử dụng hàm MOD () như sau:
CHỌN EmpID FROM (CHỌN rowno, EmpID từ EmployeeInfo) WHERE MOD (rowno, 2) =0;
Tương tự, để truy xuất các bản ghi lẻ từ một bảng, bạn có thể viết một truy vấn như sau:
CHỌN EmpID FROM (CHỌN rowno, EmpID từ EmployeeInfo) WHERE MOD (rowno, 2) =1;
Q19. Viết truy vấn SQL để truy xuất thông tin chi tiết về nhân viên từ bảng EmployeeInfo có ngày tham gia vào bảng EmployeePosition.
SELECT * FROM EmployeeInfo E WHERE EXISTS (CHỌN * TỪ EmployeePosition P WHERE E.EmpId =P.EmpId);
Q20. Viết truy vấn để lấy hai mức lương tối thiểu và tối đa từ bảng Nhân viên.
Để lấy hai mức lương tối thiểu, bạn có thể viết một truy vấn như sau:
CHỌN TIỀN LƯƠNG TỪ NHÂN VIÊN Vị trí E1 WHERE 2> =(TUYỂN CHỌN (Lương DISTINCT) TỪ Nhân viên Vị trí E2 WHERE E1.Salary> =E2.Salary) ĐẶT HÀNG THEO E1.Salary DESC;
Để lấy hai mức lương tối đa, bạn có thể viết một truy vấn như sau:
CHỌN TIỀN LƯƠNG TỪ NHÂN VIÊN Vị trí E1 WHERE 2> =(CHỌN TÀI KHOẢN (Lương DISTINCT) TỪ Nhân viên Vị trí E2 WHERE E1.Salary <=E2.Salary) ĐẶT HÀNG THEO E1.Salary DESC;
Q21. Viết truy vấn để tìm mức lương cao nhất thứ N từ bảng mà không sử dụng từ khóa TOP / giới hạn.
CHỌN lương TỪ Nhân viên vị trí E1 WHERE N-1 =(CHỌN ĐẾM (DISTINCT (E2.Salary)) TỪ Vị trí nhân viên E2 WHERE E2.Salary> E1.Salary);
Q22. Viết truy vấn để lấy các bản ghi trùng lặp từ một bảng.
CHỌN EmpID, EmpFname, Department COUNT (*) from EmployeeInfo GROUP BY EmpID, EmpFname, Department HAVING COUNT (*)> 1;
Q23. Viết truy vấn để truy xuất danh sách các nhân viên làm việc trong cùng một bộ phận.
Chọn DISTINCT E.EmpID, E.EmpFname, E.Department FROM EmployeeInfo E, Employee E1 WHERE E.Department =E1.Department AND E.EmpID! =E1.EmpID;
Q24. Viết truy vấn để truy xuất 3 bản ghi cuối cùng từ bảng EmployeeInfo.
SELECT * FROM EmployeeInfo WHERE EmpID <=3 UNION SELECT * FROM (SELECT * FROM EmployeeInfo E ORDER THEO E.EmpID DESC) AS E1 WHERE E1.EmpID <=3;
Q25. Viết truy vấn để tìm mức lương cao thứ ba từ bảng Vị trí.
CHỌN ĐẦU TIỀN 1 mức lương (CHỌN 3 mức lương CAO NHẤTQ26. Viết truy vấn để hiển thị bản ghi đầu tiên và bản ghi cuối cùng từ bảng EmployeeInfo.
Để hiển thị bản ghi đầu tiên từ bảng EmployeeInfo, bạn có thể viết một truy vấn như sau:
CHỌN * TỪ EmployeeInfo WHERE EmpID =(CHỌN MIN (EmpID) TỪ EmployeeInfo);Để hiển thị bản ghi cuối cùng từ bảng EmployeeInfo, bạn có thể viết một truy vấn như sau:
CHỌN * TỪ EmployeeInfo WHERE EmpID =(CHỌN TỐI ĐA (EmpID) TỪ EmployeeInfo);Q27. Viết truy vấn để thêm xác thực email vào cơ sở dữ liệu của bạn
CHỌN Email TỪ EmployeeInfo KHÔNG PHẢI REGEXP_LIKE (Email, '[A-Z0-9 ._% + -] + @ [A-Z0-9 .-] +. [A-Z] {2,4}', ' i ');Q28. Viết truy vấn để truy xuất các Phòng ban có ít hơn 2 nhân viên làm việc trong đó.
CHỌN SỞ, COUNT (EmpID) là 'EmpNo' TỪ NHÓM EmployeeInfo THEO SỞ CÓ COUNT (EmpD) <2;Q29. Viết truy vấn để truy xuất EmpPostion cùng với tổng tiền lương được trả cho mỗi người trong số họ.
CHỌN Vị trí, SUM (Mức lương) từ NHÓM Vị trí Nhân viên THEO Vị trí;Q30. Viết truy vấn để tìm nạp 50% bản ghi từ bảng EmployeeInfo.
CHỌN * TỪ EmployeeInfo WHERE EmpID <=(CHỌN COUNT (EmpID) / 2 từ EmployeeInfo);Vì vậy, phần này đưa chúng ta đến phần cuối của bài viết Câu hỏi phỏng vấn truy vấn SQL. Tôi hy vọng bộ câu hỏi phỏng vấn truy vấn SQL này sẽ giúp bạn vượt qua cuộc phỏng vấn xin việc của mình. Tất cả những điều tốt nhất cho cuộc phỏng vấn của bạn!
Hãy xem Khóa đào tạo chứng chỉ MySQL DBA này của Edureka, một công ty học trực tuyến đáng tin cậy với mạng o f hơn 250.000 người học hài lòng trên toàn cầu. Khóa học này đào tạo bạn về các khái niệm cốt lõi cũng như các công cụ và kỹ thuật nâng cao để quản lý dữ liệu và quản trị Cơ sở dữ liệu MySQL. Nó bao gồm việc học thực hành về các khái niệm như MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, v.v. Kết thúc khóa đào tạo, bạn sẽ có thể tạo và quản trị Cơ sở dữ liệu MySQL của riêng mình và quản lý dữ liệu.
Bạn có câu hỏi cho chúng tôi? Vui lòng đề cập đến nó trong phần nhận xét của “Truy vấn SQL này Bài viết ”Câu hỏi Phỏng vấn và chúng tôi sẽ liên hệ lại với bạn trong thời gian sớm nhất.