笛卡尔集错误。
①省略了连接条件。
②连接条件无效。
③所有表中的行互相连接。
解决办法:添加有效的连接条件。
select e.employee_id,d.department_id from employees e , departments d
比如想要查询的employee_id属于employees 表,department_id属于departments 表,由于没有添加过滤条件,两个表中的所有行会相互连接,从而产生笛卡尔集错误。
select e.employee_id,d.department_id from employees e , departments d where e.department_id = d.department_id ; 需要添加过滤条件来避免笛卡尔集错误。(此方法属于内连接,这样会导致两个表中如果有不符合连接条件的行被过滤)
(此方法属于内连接,这样会导致两个表中如果有不符合连接条件的行被过滤)比如上表中 employees 中,可能存在员工,不属于任何部门,或者在departments表中,有的部门没有员工。内连接会导致这样的情况的出现。
employees 中,可能存在员工,不属于任何部门,或者在departments表中,有的部门没有员工。内连接会导致这样的情况的出现。