Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/84.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 - Fatal编程技术网

Sql 哪一张表是;“左”;在这个查询中

Sql 哪一张表是;“左”;在这个查询中,sql,Sql,所以我对左连接部分和它的工作原理感到困惑,因为它是第二个连接。“左”表是员工还是it部门 是他们两个。或者,更确切地说,“左侧”是连接之前的连接表达式的结果 实际上,查询优化器可能会在某种程度上重新排序。但是从逻辑的角度来看,假设查询从开始到结束一次运行一个表达式,每个新的连接表达式使用迄今为止为操作左侧计算的整个结果。优化器可能会决定交换两个联接,或者在前面应用where子句中的筛选器,但它不会以更改结果关系的方式进行此操作。此查询假定每个部门至少有一名员工,并且一名员工将有零个或多个项目。左

所以我对左连接部分和它的工作原理感到困惑,因为它是第二个连接。“左”表是员工还是it部门

是他们两个。或者,更确切地说,“左侧”是连接之前的连接表达式的结果


实际上,查询优化器可能会在某种程度上重新排序。但是从逻辑的角度来看,假设查询从开始到结束一次运行一个表达式,每个新的连接表达式使用迄今为止为操作左侧计算的整个结果。优化器可能会决定交换两个联接,或者在前面应用where子句中的筛选器,但它不会以更改结果关系的方式进行此操作。

此查询假定每个部门至少有一名员工,并且一名员工将有零个或多个项目。

左边实际上是加入
部门
员工
的结果。连接是左关联的,因此
x连接y连接z
相当于
(x连接y)连接z

SELECT department_name AS dept_name,
       last_name, project_number
FROM departments dpt
    JOIN employee emp
        ON dpt.department_number = emp.department_number
    LEFT JOIN projects prj
        ON emp.employee_id = prj.employee_id
ORDER BY department_name