论坛首页 招聘求职论坛

周末两家面试总结

浏览 33048 次
精华帖 (0) :: 良好帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2009-03-16  
public String test(){  
    String tmp = new String();  
    for(int i = 0; i < 10; i++){  
      tmp += i;  
    }  
    return tmp;  


你题目看清楚没有?

这个是考 字符串 + 数字输出什么吧。

public String test(){  
    int tmp = 0;  
    for(int i = 0; i < 10; i++){  
      tmp += i;  
    }  
    return String.valueOf(tmp);  

0 请登录后投票
   发表时间:2009-03-16  
楼上的疯了?
3年程序员考这个????
1 请登录后投票
   发表时间:2009-03-16  
rain2005 写道
使用子查询
select  a.year,
       (select sum(b.salary)
        from t_salary b 
        where b.year<=a.year)
from t_salary a
就是oracle上的最佳sql

如果是字型的......
有时要转型成number
0 请登录后投票
   发表时间:2009-03-16  
rain2005 写道
使用子查询
select  a.year,
       (select sum(b.salary)
        from t_salary b 
        where b.year<=a.year)
from t_salary a
就是oracle上的最佳sql


你这个语句根本不符合题目的意思。根本就谈不上最佳。
这里明显是用window function最简单直接,效率也不低。
0 请登录后投票
   发表时间:2009-03-16  
SELECT t.year as Year, t.salary + t.salary * 0.5 * (t.year-2000) as Salary
FROM test t

这样效率最高。如果用SP来实现的话,就可以用递归方法来实现了。
0 请登录后投票
   发表时间:2009-03-16  
xiaocheng 写道
虽说三年工作经验,不过基础太差了。
我以前也和你一样,只注重技术和经验,但这样根本就不会有质的飞跃。
建议你多注重下基础。不然三年工作经验和1年2年差不多


连接查询
SELECT b.YEAR, SUM(a.salary) salary FROM hello a, hello b WHERE a.YEAR <= b.YEAR GROUP BY b.YEAR

子查询
select year ,(select sum(salary) from hello as B where B.year<=A.year ) from hello as A

正解,楼主应该多学习一下SQL,很重要的基础。
0 请登录后投票
   发表时间:2009-03-16  
ybak 写道
rain2005 写道
使用子查询
select  a.year,
       (select sum(b.salary)
        from t_salary b 
        where b.year<=a.year)
from t_salary a
就是oracle上的最佳sql


你这个语句根本不符合题目的意思。根本就谈不上最佳。
这里明显是用window function最简单直接,效率也不低。


oracle上子查询是最佳实践,那oracle就不是oracle了,分析函数专门处理此类问题,这里都不用分区的,直接一个order by搞定
select year,sum(salary) over(order by year) from test;
0 请登录后投票
   发表时间:2009-03-17  
多看看基础 这是内功~~~
0 请登录后投票
   发表时间:2009-03-17  
arafat 写道
多看看基础 这是内功~~~


明白...基础我肯定会更努力了解的...
0 请登录后投票
   发表时间:2009-03-17  
aquleo 写道
jackman 写道
哎,要做连接,可以在循环外面创建stringbuffer或在循环外面创建string对象,当然stringbuffer性能好点,另外oracle的分析函数你不知道吗???或者你用连接,子查询等也能搞定啊!基础最重要,做累加计算,分析函数用的很多,而且性能比你用连接子查询要好,oracle已经做了优化了,当然一般的数据库也有实现分析函数的方法。


抱歉,数据库我确实不强...

Oracle DB2都没用过...MySQL用的也少...用的最多的就是MSSQL,那玩意太智能太傻瓜了...

搞到现在好多语句都不会写了...惭愧...

sqlserver怎么傻瓜了,都是sql语句,不同的就是sqlserver2005版的sql实现了很多标准比如over()子句等
如果你用oracle,sql语句和sql大致也是一样的。
比如你说的题目,和用sqlserver或者是oracle没有什么关系,就是你对sql理解不深。
怎么能怪到sqlserver头上
0 请登录后投票
论坛首页 招聘求职版

跳转论坛:
Global site tag (gtag.js) - Google Analytics