当前位置:编程学习 > JAVA >>

sql语句面试题 求解答(貌似挺难的)




--------------------编程问答-------------------- 不想学就不用答,想学就自己答。 --------------------编程问答--------------------
引用 1 楼 forgetsam 的回复:
不想学就不用答,想学就自己答。



这个我是费了老大劲也没做出来的题,特来此求指教 --------------------编程问答-------------------- 1、4
2、update TestA a set a.Grade = (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) 

3、update TestA a set a.STU_ID = a.STU_ID || a.Grade where a.STU_Name like '张%'

4、select * from (select a.*,rownum rn  from TestA a desc) where rn > 20 and rn<=40

没测试  你自己测试看看吧 --------------------编程问答--------------------
引用 3 楼 tianma630 的回复:
1、4
2、update TestA a set a.Grade = (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) 

3、update TestA a set a.STU_ID = a.STU_ID || a.Grade where a.STU_Name like '张%'

4、selec……







谢了,但前两个不太对 --------------------编程问答--------------------
引用 3 楼 tianma630 的回复:
1、4
2、update TestA a set a.Grade = (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) 

3、update TestA a set a.STU_ID = a.STU_ID || a.Grade where a.STU_Name like '张%'

4、selec……


update TestA a set a.Grade = (select b.Grade  from TestB b where b.STU_ID = a.STU_ID )  这句明显错了 会把TestA里面有的数据会设置为null了,这个正确的做法应该是在循环里面去弄  应该要用存储过程吧?

--------------------编程问答--------------------

1).4
2).(这个可以在Oracle下执行 mysql 应该执行不了)
begin for p in (select * from TestB)loop
update TsetA a set a.Grade=p.Grade where a.STU_ID=p.STU_ID;
end loop;
end;

3).update TestA a set SUT_ID=a.STU_ID||'_'||a.Grade where a.STU_NAME like '张%';
4).select * from TestA a order by a.Grade desc limit(21,20); (这个只适用mysql)
--------------------编程问答--------------------
引用 3 楼 tianma630 的回复:
1、4
2、update TestA a set a.Grade = (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) 

3、update TestA a set a.STU_ID = a.STU_ID || a.Grade where a.STU_Name like '张%'

4、select * from (sel……



merge into TestA a
using TestB b
on (a.id=b.id)
when matched then
update
set a.grade=b.grade;
在Oracle中用merge函数不错 --------------------编程问答--------------------
引用 6 楼 qq2511296 的回复:
SQL code?1234567891).42).(这个可以在Oracle下执行 mysql 应该执行不了)begin for p in (select * from TestB)loopupdate TsetA a set a.Grade=p.Grade where a.STU_ID=p.STU_ID;end loop;end; 3).update TestA a se……


2)写错个表名称。。。。 --------------------编程问答-------------------- mark 回去试试 --------------------编程问答-------------------- mark --------------------编程问答--------------------
引用 4 楼 wangsuchuan 的回复:
引用 3 楼 tianma630 的回复:1、4
2、update TestA a set a.Grade = (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) 

3、update TestA a set a.STU_ID = a.STU_ID || a.Grade where a.STU_Name……

update TestA a set a.Grade = case when (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) = null a.Grade else (select b.Grade  from TestB b where b.STU_ID = a.STU_ID ) end;
补充:Java ,  Web 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,