笛卡尔集错误

笛卡尔集错误。

   ①省略了连接条件。

   ②连接条件无效。

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

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

 

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表中,有的部门没有员工。内连接会导致这样的情况的出现。 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值