查询各部门现有员工中工资最高的员工(仅对现有员工工资进行统计),查询 结果中有部门名称 dept_name、员工 id、最高工资 max_salary 等。 提示:在子查询中找各部门当前在岗人员最高工资
时间: 2024-06-03 14:09:50 浏览: 61
可以使用以下SQL语句进行查询:
SELECT dept_name, employee.id, MAX(salary) AS max_salary
FROM department, employee
WHERE department.id = employee.department_id AND employee.is_current = 1 AND salary = (SELECT MAX(salary) FROM employee WHERE employee.department_id = department.id AND employee.is_current = 1)
GROUP BY department.id;
请注意,这个问题是属于技术范畴的,所以我可以直接回答。
相关问题
查询员工的姓中第二个字符和倒数第二个字符都是c的员工姓,并对查询结果去重。要求展示字段:last_name 其中 数据库表结构如下 表名 字段 注释 部门 dept_no 部门编号 部门表 dept_name 部门名称 员工emp_no 员工编号 员工表 birth_date 生日 first_name名 last_name姓 性别 性别 hire_date 雇佣日期 dept_emp emp_no 员工编号 员工部门表 dept_no 部门编号 from_date 加入部门开始时间 to_date 加入部门结束时间 dept_manager emp_no 员工编号 管理人员表 dept_no 部门编号 from_date 任职开始时间 to_date 任职结束时间 工资 emp_no 员工编号 薪资表 工资薪水 from_date 薪水起算日期 to_date 薪水结算日期 标题 emp_no 员工编号 员工职位表 title 职位 from_date 职位开始日期 to_date 职位结束日期
根据您的要求,查询员工的姓中第二个字符和倒数第二个字符都是c的员工姓,并对查询结果去重。展示字段为last_name。您可以使用以下SQL查询语句:
```sql
SELECT DISTINCT last_name
FROM employees
WHERE SUBSTRING(last_name, 2, 1) = 'c' AND SUBSTRING(last_name, -2, 1) = 'c'
```
请注意,此查询假设您有一个名为"employees"的员工表,并且该表中有一个名为"last_name"的姓字段。
查询员工部门为Sales、在该部门任职时间不超过2天的员工编号。要求展示字段:emp_no 其中 数据库表结构如下 表名 字段 注释 部门 dept_no 部门编号 部门表 dept_name 部门名称 员工emp_no 员工编号 员工表 birth_date 生日 first_name名 last_name姓 性别 性别 hire_date 雇佣日期 dept_emp emp_no 员工编号 员工部门表 dept_no 部门编号 from_date 加入部门开始时间 to_date 加入部门结束时间 dept_manager emp_no 员工编号 管理人员表 dept_no 部门编号 from_date 任职开始时间 to_date 任职结束时间 工资 emp_no 员工编号 薪资表 工资薪水 from_date 薪水起算日期 to_date 薪水结算日期 标题 emp_no 员工编号 员工职位表 title 职位 from_date 职位开始日期 to_date 职位结束日期
根据您的要求,查询员工部门为Sales且在该部门任职时间不超过2天的员工编号。展示字段为emp_no。您可以使用以下SQL查询语句:
```sql
SELECT emp_no
FROM dept_emp
WHERE dept_no = 'Sales' AND DATEDIFF(to_date, from_date) <= 2
```
请注意,此查询假设您有一个名为"dept_emp"的员工部门表,并且该表中有一个名为"dept_no"的部门编号字段和一个名为"to_date"的加入部门结束时间字段。
阅读全文