[讨论] 今天去面试了,有三个题目问倒我了,写出来大家做做!

tlde_ti 2012-07-21
刚试了下,开始把distinct的概念忘掉了,distinct并没把重复的完全除去,只是把多条重复的变成一条.

not in 那个语句倒是运行正确.
tlde_ti 2012-07-21
distinct函数使用错了,但想法还是对的,这个角度的思路是:
(表1+表2) - (表1 交 表2)。
没有函数的话用sql 的话也可以这么写(注意,这里是因为id不会为null所以用not in,如果可能为null的话用exits改写).
select * from (select * from user1 union select * from user2) as t1 where id not in (select id from user1 intersect select id from user2);
jubn 2012-07-21
问题3: select * from (table1 union table2) group by id having(conut(id)=1)
zhangyw720 2012-07-22
jubn 写道
问题3: select * from (table1 union table2) group by id having(conut(id)=1)

取表的信息麻烦!只是取ID还好.
cywhoyi 2012-07-22
2.把握IOC模式目的性,很多方式可以通过工程模式,然后做好回收实例,可以产业弱引用
3.exit之外,可以很多方式了,a:临时表;b:(数据不大情况下),List比较
tlde_ti 2012-07-22
jubn 写道
问题3: select * from (table1 union table2) group by id having(conut(id)=1)

这条语句违反了select 列只能是 group by的列或使用了aggregate函数的列的规则。
这样写修改正确后只能select id.最后要用这个取集合还是要 用 in和exist。所以我没写这个方法。
supercrsky 2012-07-22
3.  exist 或  not in
坏孩子 2012-07-22
第三个用外连接,任意一张表id字段为空的就是你要的数据
huangshanghua 2012-07-22
用左连接,面试官说会产生笛卡尔积效果,我觉得也不会
huangshanghua 2012-07-22
coderliang2018 写道
1、在页面上面弄一个添加的字段的名称, 字段值类型名称,新建立一个类 Address property 比如动态添加的属性有 String id, String addressName, String dataType String personId(这个是之前表Person的ID)  在Person 类当中有一个address 的一条记录的引用  hibernate加载的时候就可以加载这条记录, 然后你通过反射机制根据dataType字段的类型来赋值。

问题是映射文件在服务器启动时就加载进来了,动态增加属性时是不允许重新启动服务的
Global site tag (gtag.js) - Google Analytics