Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在sql练习中查找表中的链接_Sql_Oracle11g - Fatal编程技术网

在sql练习中查找表中的链接

在sql练习中查找表中的链接,sql,oracle11g,Sql,Oracle11g,所以我被困在这个问题上,它说: 编写一个查询,以按字母顺序检索所有部门的列表,其中包含列DEPARTMENT_ID、DEPARTMENT_NAME、LAST_NAME、FIRST_NAME,其中LAST_NAME和FIRST_NAME是部门经理的姓名,只要有 我正在使用部门、员工表建立人力资源数据库,到目前为止我写的是: select department_id, department_name, e.last_name, e.first_name from departments d, emp

所以我被困在这个问题上,它说:

编写一个查询,以按字母顺序检索所有部门的列表,其中包含列DEPARTMENT_ID、DEPARTMENT_NAME、LAST_NAME、FIRST_NAME,其中LAST_NAME和FIRST_NAME是部门经理的姓名,只要有

我正在使用部门、员工表建立人力资源数据库,到目前为止我写的是:

select department_id, department_name, e.last_name, e.first_name
from departments d, employees e
where e.department_id=d.department_id
and d.department_id=e.department_id
and d.manager_id=e.manager_id
having department_name = '%Manager%';

但是我不明白,任何提示都会有帮助的,谢谢

having子句与group by有关。如果没有GROUPBY,having子句就没有意义

您只需要加入即可为经理在employees表中获取记录

select department_id, department_name, e.last_name, e.first_name
from departments d, employees e
where d.manager_id=e.id
更好的方法是使用较新的联接语法

select dept.department_id, dept.department_name, emp.last_name, emp.first_name
from departments dept
  inner join employees emp on dept.manager_id = emp.id
e.department\u id=d.department\u id和d.department\u id=e.department\u id不需要条件(一方面,这些条件是多余的,因此只有在需要时才需要条件),因为employees.department\u id字段指的是员工所在的部门,而您需要的是该部门的经理员工记录。部门的经理员工记录表示为员工表主键的外键。

这可能有助于您

`select e.first_name,e.last_name,d.department_id ,d.department_name from employees e,departmets d where d.manager_id=e.employee_id order by d.department_name;`

你忘了“字母顺序”(按部门名称排序):)我看不出哪里需要工会。内部联接提供了您想要的内容。@user2145903:Dude…您需要打印部门详细信息和经理姓名,这样经理详细信息(公司员工的)存储在员工表中,简单地说,我根据经理id将这两个表从department表连接到employee表中的employee,这样我们就可以访问经理的相应详细信息。