Select COUNT(*)
From t_prod_list,t_prod_desp
Where pl_prod_id *= pd_prod_id
And pd_seller_id = 'ALL'
Select COUNT(*)
From t_prod_list
LEFT JOIN t_prod_desp ON pl_prod_id = pd_prod_id
Where pd_seller_id = 'ALL'
我写了了两段sql,结果查询出来的结果1为1412134,结果2为1025492,网上说*=等价于left join 但是实际结果却不等价,是我sql 语句写错了还是有什么其它原因,求大神指点
A*=b,等价于 A=A*B,跟left join 没有半毛钱关系
这个是表连接啊,不是乘的缩写
@浅草青晨:
Select COUNT(*)
From t_prod_list,t_prod_desp
Where pl_prod_id *= pd_prod_id
And pd_seller_id = 'ALL'
当在两个表之间使用“,”时,是全连接的意思,在where子句中指定连接条件,但是你的 pl_prod_id *= pd_prod_id 条件等价于 pl_prod_id *pd_prod_id= pd_prod_id ,只能帮你到这里了,看你的悟性了
@悦光阴: 我知道你想说什么,但是这个是sql 2000的写法,不是你说的这个东西,不过还是表示感谢
还在用快20年的东西吗
所以要改啊,如果有等价的,就基本上不用经过测试了,如果有区别就得去关注一下逻辑了
哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈哈
注册专门来这边哈哈哈一下