[讨论] 今天去面试了,有三个题目问倒我了,写出来大家做做!
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字段的类型来赋值。
问题是映射文件在服务器启动时就加载进来了,动态增加属性时是不允许重新启动服务的 |