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

Oracle查询关联表所有字段问题,跪求高手
select h.* from (select b,*,rownum rn from (select t.* ,b.* from emp t,
dept b where t.deptno = b.deptno) b where rownum <=5) h where rownum>=1;
b.*列定义不明确,难道真的要每个字段每个字段的写?b.name,b.deptno.....b....
求高手有没有好方法?

------解决方案--------------------
以为emp 和dept 表都有 deptno 字段
直接用*,导致deptno字段重复

刚入门就想着偷懒,不是好事,还是一个个敲吧 
入门用的表都是字段很少的,才几个字段
等你在工作中遇到几百个字段,才明白用*的恶心
效率低
代码给人看,根本不知表里有什么字段
------解决方案--------------------
探讨

以为emp 和dept 表都有 deptno 字段
直接用*,导致deptno字段重复

刚入门就想着偷懒,不是好事,还是一个个敲吧
入门用的表都是字段很少的,才几个字段
等你在工作中遇到几百个字段,才明白用*的恶心
效率低
代码给人看,根本不知表里有什么字段

------解决方案--------------------
用* 可不是个好习惯,在实际工作中,有些公司有明确规定,在正式的程序中严禁用*,这个软解析的相对来说时间太长,
insert into table_a
select * from table_b
哪天你的table_b的字段增加或减少了,这个就是个bug ,或者说上面的那个就是个潜在的bug,一个地雷,所不准哪天就轰隆一下,结果,你的钞票被项目经理给咔嚓了