join on 与inner join 有没有区别?join on 与不带谓词的联接又有什么区别?
解决方案 »
- HttpModule能否获取页面的点击事件
- dotnetcharting图表插件
- jQuery+JSON asp.net数据输出问题
- 奇怪问题,百思不得其解。
- 动态生成按钮事件只能放在Page_Load里面才能执行?
- 新手提问,关于复选和返回。
- 服务器控件怎么样使用CSS啊?
- VS2005,我做了一个软件的测试版,有一个使用次数限制,我不想把这个次数放在数据库里,而想把它放在一个*.TXT文件中..
- 求救DropDownList显示问题??
- 求教:在asp.net中能不能实现类似于javaApplet的功能,怎么实现
- Oracle调用分页存储过程出错?
- 请教,关于ASP.NET的多处理器环境的可靠性。
一般指没有写join和left join 或者inner join没有差别的
cross join 就成了笛卡尔集合了
CROSS JOIN , FULL JOIN等等之类是不需要的。t1
id name
1 a
2 bt2
id name
1 a
3 cselect a.*,b.*
from t1 a
inner join t2 b
on a.id=b.id
/*结果取交集
1 a 1 a
*/select a.*,b.*
from t1 a
left join t2 b
on a.id=b.id
/*结果以左表为依具
1 a 1 a
2 b null null
*/select a.*,b.*
from t1 a
cross join t2 b
算排列组合。结果太多不写了.其它的你自己看看结果,多改几条示例数据,就明白了
select * from a join b on a.infoid=b.id
select * from a inner join b on a.infoid=b.id
select * from a ,b on where a.infoid=b.id
这三句有什么区别?
我记得join on就是默认的inner join,都是内连接。
第三个也是内连接的一种写法。不过oracal8以前好像不支持inner join 这种写法
只能用select * from a ,b on where a.infoid(+)=b.id(+)
JOIN 默认是内连.
FROM a,b WHERE a.id=b.id 也会转换为内连