员工表emp:员工编号,姓名,工作职位,雇佣日期,工资,奖金,部门 部门表dept:部门编号,名称,部门领导 1.列出在销售部工作的员工的姓名 2.查询20部门的所有员工信息,并显示所在部门名称 3.查询30部门有多少员工,每月发多少工资 4.列出与庞统从事相同工作的所有员工及部门名称 5.列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导 6.列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称
时间: 2024-04-21 21:23:07 浏览: 240
请注意,由于我没有实际的数据库来执行这些查询,我将给出相应的 SQL 查询语句供你参考。你可以根据自己的数据库表结构来调整这些查询语句。
1. 列出在销售部工作的员工的姓名:
```sql
SELECT 姓名
FROM 员工表
WHERE 部门 = '销售部';
```
2. 查询20部门的所有员工信息,并显示所在部门名称:
```sql
SELECT e.*, d.名称 AS 部门名称
FROM 员工表 e
JOIN 部门表 d ON e.部门编号 = d.部门编号
WHERE e.部门编号 = 20;
```
3. 查询30部门有多少员工,每月发多少工资:
```sql
SELECT COUNT(*) AS 员工数, AVG(工资) AS 平均工资
FROM 员工表
WHERE 部门编号 = 30;
```
4. 列出与庞统从事相同工作的所有员工及部门名称:
```sql
SELECT e.*, d.名称 AS 部门名称
FROM 员工表 e
JOIN 部门表 d ON e.部门编号 = d.部门编号
WHERE e.工作职位 = (SELECT 工作职位 FROM 员工表 WHERE 姓名 = '庞统');
```
5. 列出薪金高于公司平均薪金的所有员工信息,所在部门名称,上级领导:
```sql
SELECT e.*, d.名称 AS 部门名称, s.姓名 AS 上级领导
FROM 员工表 e
JOIN 部门表 d ON e.部门编号 = d.部门编号
JOIN 员工表 s ON e.上级编号 = s.员工编号
WHERE e.工资 > (SELECT AVG(工资) FROM 员工表);
```
6. 列出受雇日期早于直接上级的所有员工的编号、姓名、部门名称:
```sql
SELECT e.员工编号, e.姓名, d.名称 AS 部门名称
FROM 员工表 e
JOIN 部门表 d ON e.部门编号 = d.部门编号
WHERE e.雇佣日期 < (SELECT 雇佣日期 FROM 员工表 WHERE 员工编号 = e.上级编号);
```
请根据你的实际表名和字段名进行相应的调整。
阅读全文