笛卡尔集错误

来源:互联网 发布:echo php 编辑:程序博客网 时间:2024/06/08 02:50

笛卡尔集错误。

   ①省略了连接条件。

   ②连接条件无效。

   ③所有表中的行互相连接。

    解决办法:添加有效的连接条件。

select e.employee_id,d.department_idfrom employees e , departments d 

比如想要查询的employee_id属于employees 表,department_id属于departments 表,由于没有添加过滤条件,两个表中的所有行会相互连接,从而产生笛卡尔集错误。

select e.employee_id,d.department_idfrom employees e , departments d where e.department_id = d.department_id ;需要添加过滤条件来避免笛卡尔集错误。(此方法属于内连接,这样会导致两个表中如果有不符合连接条件的行被过滤)
比如上表中 employees 中,可能存在员工,不属于任何部门,或者在departments表中,有的部门没有员工。内连接会导致这样的情况的出现。 







          






原创粉丝点击