大家好,如果您正在准备软件开发人员、系统管理员、数据分析师或数据科学家的技术面试,您必须准备的一项技能是 SQL。它是允许您与数据库交互的声明性语言。通过使用 SQL,您可以在关系数据库中插入、更新、搜索和删除数据。
您编写的代码称为 SQL 查询,它是许多必须与数据库打交道的技术人员的基本技能之一。这就是为什么 SQL 查询在面试中非常受欢迎,你会经常在面试中看到一个或多个 SQL 查询。
它们不仅在电话或面对面面试中很受欢迎,而且在笔试中也很受欢迎,这就是为什么开发人员、DBA 和数据科学家在编码面试准备期间练习 SQL 查询变得势在必行。以下是您可以在 SQL 和数据库面试中练习的一些 SQL 查询:
而且,还有什么比解决在 SQL 面试中多次被问到的流行 SQL 查询更好的呢?是的,这就是我通过练习面试官的 SQL 查询来学习大部分 SQL 的方式,这就是我要在这里分享的内容。
这些是开发人员和初级 DBA 最流行的 SQL 查询面试问题,如果您正在准备开发人员或 DBA 面试,请确保您可以解决这些 SQL 查询。您很可能已经了解它们,但即使您不了解,也不会花很长时间来掌握它们。
基于访谈中的 SQL 查询的问题
1、如何找到Emp表中员工工资第二高的?SELECT MAX(SALARY) FROM EMPLOYEE WHERE SALARY NOT IN (SELECT MAX(SALARY) FROM EMPLOYEE) //generic
//MySQL
select min(salary) from employee where salary in ( select salary from employee order by salary limit 2)
2. 如何找到员工表中重复的员工?(group by and count())
3. 你如何找到所有担任经理的员工?(Self Join)
4. 给定一个 EMPLOYEE 表和一个 DEPARTMENT 表,你将如何选择比我的工资总和更高的每个部门的工资总和?
5. 写一个查询返回一个特定部门的所有员工说财务?
6. 在 SQL Server 中如何将 int 转换为 date?
7. SQL Server 中如何判断一个日期是否先于另一个日期?
8.如何找到所有担任经理的员工?
9. 编写一个 SQL 查询来显示员工和他们的经理的姓名?
10. 你会如何选择所有以“J”开头的姓氏?
11. 如何选择日期为 20220127 的所有行?
12. 找出所有工资高于老板的员工(姓名)
SELECT a.Name FROM Employees a JOIN Employees b ON a.BossID = b.EmployeeId WHERE a.Salary > b.Salary;
13. 你能写一个查询来显示他们部门中薪水最高的所有员工吗?
SELECT a.Name, a.DepartmentID FROM Employees a JOIN (SELECT a.DepartmentID, MAX(Salary) FROM Employees a JOIN Departments b ON a.DepartmentID = b.DepartmentID GROUP BY a.DepartmentID) b ON a.Salary = b.max AND a.DepartmentID = b.DepartmentID;
14. 写一个SQL查询查询所有少于3人的部门
SELECT DepartmentID, COUNT(Name) FROM Employees GROUP BY DepartmentID HAVING COUNT(Name) < 3;
15. 写一个查询来找到所有的部门以及那里的人数(棘手的 - 人们经常做一个“内部连接”而忽略空部门)
SELECT b.Name, COUNT(a.DepartmentID) FROM Employees a FULL OUTER JOIN Departments b ON a.DepartmentID=b.DepartmentID GROUP BY b.Name;
16. 写一个 SQL 查询来显示在同一部门没有老板的员工
SELECT a.Name FROM Employees a JOIN Employees b ON a.BossID = b.EmployeeId WHERE a.DepartmentID != b.DepartmentID;
17. 编写 SQL 查询以列出所有部门以及那里的总工资?
SELECT b.Name, SUM(a.Salary) FROM Employees a FULL OUTER JOIN Departments b ON a.DepartmentID = b.DepartmentID GROUP BY b.name;
18.什么是ER图?
这不是 SQL 查询问题,但绝对值得了解。ER图代表实体关系图,它显示了不同表的关系。这是一个ER图的例子

以上就是面试中常见的 SQL 查询。当我得到更多的 SQL 查询时,我会在这个列表中添加它们。如果您在编码面试中有任何其他有趣的 SQL 查询,请随时与我们分享,我可能会将它们包含在主列表中。
原文标题:Top 15 SQL Query Interview Questions for Practice
原文作者:Vikas Verma
原文链接:https://www.sqlrevisited.com/2022/01/top-15-sql-query-interview-questions.html




