一个简单的sql语句

caoleisu 2010-11-25 11:45:11
语句 1
SELECT *
FROM TEMP_2 A, T_PACKAGE B
WHERE B.PACKID = '2000001610'
AND A.MSISDN = B.msisdn(+);
语句 2

SELECT *
FROM TEMP_2 A, T_SUBS_PACKAGE B
WHERE A.MSISDN = B.msisdn(+);

如果使用语句1,冒似左连接就无效果了,就是说,加不加 加号是一样的效果。

去掉B.PACKID = '2000001610' 这个语句,则查询出来的数据条数与 TEMP_2 A相同
这种左右连接有这样的讲究么。不能加别的条件?
...全文
73 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
caoleisu 2010-11-25
  • 打赏
  • 举报
回复
感谢,
可即使对b表进行过滤了,那结果还应该是以a表的条数为基准啊。也就是不管b表的数据,最后的结果的条数都应该是a表的条数吧。
hao1hao2hao3 2010-11-25
  • 打赏
  • 举报
回复
这是Oracle的吧?

上面的是先对B表中的数据进行过滤,然后再进行连接。

下面一个问题看看“左连接”的定义就知道是怎么回事了。
caoleisu 2010-11-25
  • 打赏
  • 举报
回复
oracle
华夏小卒 2010-11-25
  • 打赏
  • 举报
回复
这是什么数据库

34,872

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧