日期:2014-05-17  浏览次数:20652 次

两个简单问题
oracle 的外连接一般什么时候用 怎么感觉左外连接还有右外连接都没什么用处 ?  



还有数据库一般不建议使用删除语句吗?

------解决方案--------------------
左连接是往左表关联 右连接是往右表关联 怎么会没用呢?
还是 数据库中没有删除,怎么delete数据啊 truncate?
------解决方案--------------------
实际需求应用了你就知道有它的用处了!凭想象 oracle很多东西都是没用处的,到需求要用到的时候就晓得了! 像解释 这些连接的不同之处和用处的网上有很多介绍!

------解决方案--------------------
探讨
oracle 的外连接一般什么时候用 怎么感觉左外连接还有右外连接都没什么用处 ?



还有数据库一般不建议使用删除语句吗?

------解决方案--------------------
探讨
oracle 的外连接一般什么时候用 怎么感觉左外连接还有右外连接都没什么用处 ?



还有数据库一般不建议使用删除语句吗?

------解决方案--------------------
探讨
oracle 的外连接一般什么时候用 怎么感觉左外连接还有右外连接都没什么用处 ?



还有数据库一般不建议使用删除语句吗?

------解决方案--------------------
有用,当两表作过滤时。
根据业务需求定。软删除和硬删除。
------解决方案--------------------
有用,当两表作过滤时。
根据业务需求定。软删除和硬删除。
------解决方案--------------------
所有的东西都是有应用场景的。
------解决方案--------------------
根据自己的应用场景使用。
------解决方案--------------------
探讨
左连接是往左表关联 右连接是往右表关联 怎么会没用呢?
还是 数据库中没有删除,怎么delete数据啊 truncate?

------解决方案--------------------
楼主可以试试oracle 自带的数据做做测试就知道了,比如工资表 S 和员工表 E,并不是所有员工都有发工资的记录的情况下。
这时使用 员工表E左连接工资表S,就可以下显示所有的员工,包括没有过工资记录的员工。
如果使用 工资表S右连接员工表E,也可以得到显示所有的员工,包括没有过工资记录的员工。


数据库一般是不建议删除数据的,一般通过更新一条记录上delete flag 来标示这条记录已删除,这样做有好处。不会造成历史信息无法寻回,级联删除的问题。
------解决方案--------------------
1.外关联还是很有用的...具体的实际用途很多..楼上都有部分介绍了..我就不说了
2.这个不是绝对的...要看系统的需求...有些系统对数据完整性和可回溯性要求比较高..那就设置个删除标记而不是物理删除...但是有些系统(或者表)对可回溯性要求不高..而且会频繁的插入/删除数据..那还是要使用物理删除的...否则时间长了会造成表的性能下降或者管理不方便(无效数据太多)...当然这种也有别的解决办法..比如说删除数据的时候将数据移到历史表中....