`
AutomaticThoughts
  • 浏览: 162333 次
社区版块
存档分类
最新评论

三道面试题

 
阅读更多

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

 

1、有一个表有姓名,性别,年龄三个属性,表用hibernate进行表映射。显示页面显示表的所有属性,如下: 

姓名   性别  年龄 
name  sex  age 

那么我要动态增加一个属性值,如:地址;怎样在表中增加一个属性并且映射文件也要同时修改,映射文件要生效。有什么好办法??(用SSH实现) 

2、spring有IOC模式,如果不用spring,请设计一个与spring的IOC模式一样功能的代码?? 

3、有两个表,表的属性都有:id,name,sex,age;第一个表有700条数据,第二个表有500条数据,其中两个表中有300条是id相同的,如何把两个表中不相同的数据取出来,面试官说只能用exist关键字才能做到?还有其它好办法吗?

 

第一题:如果需动态添加属性,那么一开始就要设计好

http://www.iteye.com/topic/197752
http://www.blogjava.net/canonical/archive/2008/03/17/59703.html
http://www.blogjava.net/sparkyang/archive/2005/09/12/12782.html

http://blog.csdn.net/ajun_studio/article/details/6807181

 

第二题:了解spring ioc的原理

http://blog.csdn.net/it_man/article/details/4402245

 

简单实现:http://chenguanwei2008.iteye.com/blog/361558

 

第三题:

 

Sql代码 复制代码 收藏代码
  1. --建表   
  2. create table D_TEST1   
  3. (   
  4.   ID     NUMBER(10),   
  5.   NAME   VARCHAR2(30),   
  6.   age NUMBER(3),   
  7.   sex NUMBER(1)   
  8. )   
  9. create table D_TEST2   
  10. (   
  11.   ID     NUMBER(10),   
  12.   NAME   VARCHAR2(30),   
  13.   age NUMBER(3),   
  14.   sex NUMBER(1)   
  15. )   
  16.   
  17.   
  18. --not in 实现   
  19. select *   
  20.   from (select *   
  21.           from d_test1   
  22.         union  
  23.         select * from d_test2) t1   
  24.  where id not in (select id   
  25.                     from d_test1   
  26.                   intersect  
  27.                   select id from d_test2);   
  28.   
  29. --minus 与 union 实现   
  30.   
  31. (SELECT * FROM d_test1   
  32. MINUS   
  33. SELECT * FROM d_test2   
  34. )   
  35. UNION ALL  
  36. (   
  37. SELECT * FROM d_test2   
  38. MINUS   
  39. SELECT * FROM d_test1   
  40. )   
  41.   
  42. -- exists  实现   
  43. select *   
  44.   from (select *   
  45.           from d_test1   
  46.         union  
  47.         select * from d_test2) t1   
  48.  where not exists (select * from (select id   
  49.                     from d_test1   
  50.                   intersect  
  51.                   select id from d_test2) t2 where t1.id = t2.id);  
--建表
create table D_TEST1
(
  ID     NUMBER(10),
  NAME   VARCHAR2(30),
  age NUMBER(3),
  sex NUMBER(1)
)
create table D_TEST2
(
  ID     NUMBER(10),
  NAME   VARCHAR2(30),
  age NUMBER(3),
  sex NUMBER(1)
)


--not in 实现
select *
  from (select *
          from d_test1
        union
        select * from d_test2) t1
 where id not in (select id
                    from d_test1
                  intersect
                  select id from d_test2);

--minus 与 union 实现

(SELECT * FROM d_test1
MINUS
SELECT * FROM d_test2
)
UNION ALL
(
SELECT * FROM d_test2
MINUS
SELECT * FROM d_test1
)

-- exists  实现
select *
  from (select *
          from d_test1
        union
        select * from d_test2) t1
 where not exists (select * from (select id
                    from d_test1
                  intersect
                  select id from d_test2) t2 where t1.id = t2.id);

  转载自:http://nassir.iteye.com/blog/1605232

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics