锁定老帖子 主题:周末两家面试总结
精华帖 (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); } |
|
返回顶楼 | |
发表时间:2009-03-16
楼上的疯了?
3年程序员考这个???? |
|
返回顶楼 | |
发表时间: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 先 |
|
返回顶楼 | |
发表时间: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最简单直接,效率也不低。 |
|
返回顶楼 | |
发表时间:2009-03-16
SELECT t.year as Year, t.salary + t.salary * 0.5 * (t.year-2000) as Salary
FROM test t 这样效率最高。如果用SP来实现的话,就可以用递归方法来实现了。 |
|
返回顶楼 | |
发表时间: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,很重要的基础。 |
|
返回顶楼 | |
发表时间: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; |
|
返回顶楼 | |
发表时间:2009-03-17
多看看基础 这是内功~~~
|
|
返回顶楼 | |
发表时间:2009-03-17
arafat 写道 多看看基础 这是内功~~~
明白...基础我肯定会更努力了解的... |
|
返回顶楼 | |
发表时间: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头上 |
|
返回顶楼 | |