创建部门表(部门编号,部门名称)和员工表(员工编号,姓名,部门编号,出生日期)分别表示为 dept _**( deptno , dname ), emp _**( no , name , deptno , birthday sales 和 accounting 部门的员工编号。表名中的**用自己的学号尾号代替
时间: 2024-02-06 08:12:50 浏览: 151
好的,你的问题是如何查询某个部门的所有员工信息?
可以使用 SQL 语句中的 JOIN 操作符将两个表连接起来,然后通过 WHERE 子句限定部门名称,例如:
```
SELECT emp_**.no, emp_**.name, emp_**.birthday
FROM emp_**
JOIN dept_** ON emp_**.deptno = dept_**.deptno
WHERE dept_**.dname = 'sales';
```
这条 SQL 语句将查询 sales 部门的所有员工编号、姓名和出生日期信息。需要注意的是,emp_** 和 dept_** 分别表示你所创建的员工表和部门表的表名,需要根据实际情况进行修改。
相关问题
查询员工编号是‘7759’的员工姓名和所在部门名称
好的,以下是 SQL 查询语句:
```
SELECT e.ename, d.dname
FROM emp e, dept d
WHERE e.deptno = d.deptno
AND e.empno = 7759;
```
这条 SQL 语句将会返回员工编号为‘7759’的员工姓名和所在部门名称。使用 `WHERE` 子句过滤出员工编号为‘7759’的员工,并且使用 `JOIN` 连接 `emp` 和 `dept` 表,获取员工所在的部门名称。
查询高于20号部门最低工资的员工的编号和姓名及工资。
要查询高于20号部门最低工资的员工信息,首先需要确定每个部门的最低工资。假设有一个`departments`表用于存储部门信息,包括`department_id`和`min_salary`(部门最低工资),以及`employees`表存储员工信息,包括`employee_id`, `name`, 和 `salary`,同时有一个`department_employee`表连接了这两个表。查询可以这样编写:
```sql
WITH department_wages AS (
SELECT d.department_id, MIN(e.salary) as min_salary_per_dept
FROM departments d
JOIN department_employee de ON d.department_id = de.department_id
GROUP BY d.department_id
)
SELECT e.employee_id, e.name, e.salary
FROM employees e
JOIN department_employee de ON e.employee_id = de.employee_id
JOIN department_wages dw ON e.salary > dw.min_salary_per_dept AND de.department_id = dw.department_id
WHERE dw.department_id = 20;
```
这个查询先通过子查询`department_wages`找出每个部门的最低工资,然后在主查询中筛选出20号部门并且工资高于该最低工资的所有员工。
阅读全文