oraclesql面试题sql笔试题_oracle高级面试题
大家好,我是架构君,一个会写代码吟诗的架构师。今天说一说oraclesql面试题sql笔试题_oracle高级面试题,希望能够帮助大家进步!!!
1删除重复记录
delete from t where t.rowid not in ( select max(rowid) from t group by name); 2根据2表的关联列,更新1个表的多个字段
update t
set t.address = ( select e.address from e,t where t.name = e.name),
t.phone = ( select e.phone from e,t where t.name = e.name); 3选择一段范围内的数据
select * from t where rownum <= 5
minus
select * from t where rownum < 3;
或者
select * from ( select rownum as rn,t.* from t ) s
where s.rn between 3 and 5; 查询工资最高的几个人
select * from (select * from emp order by salary desc) where rownum<=3;
几个行转列,列转行的测试
SQL> select * from t;
ID NAME
---------- ------------------
1 a
2 b
3 c
4 d
1 e
1 f
1 g
2 h
2 i
2 j
已选择10行。
select id ,wm_concat(name) from t group by id;
11 a,e,f,g
22b,h,j,i
33c
44d
select * from test_tb_grade;
11 bai语文 78
22bai数学89
33bai英语90
44xiao语文67
55xiao数学98
66xiao英语56
下面是使用decode和case when的转换
select user_name,
sum(decode(course,'语文',score,null)),sum(decode(course,'数学',score,null)),sum(decode(course,'英语',score,null))
from test_tb_grade group by user_name;
select user_name,
sum(case when course = '语文' then
score
else null end ),
sum(case when course = '数学' then
score
else null end),
sum(case when course = '英语' then
score
else null end)
from test_tb_grade group by user_name;
对应的查询结果如下:
1bai 788990
2xiao 679856
列转行,主要是使用了union
select * from test_tb_grade2;
11 bai67 7890
21xiao8988 96
select user_name, cn_score
from test_tb_grade2
union
select user_name, math_score
from test_tb_grade2
union
select user_name, en_score from test_tb_grade2;
1bai 67
2bai78
3bai90
4xiao 88
5xiao 89
6xiao 96
参考
http://blog.csdn.net/zhoubo200/article/details/5338107
http://www.2cto.com/database/201108/100792.html
相关文章
- 中的应用Oracle数据库中的SQL语句使用指南(sql语句在oracle)
- 使用Oracle中的占位符加快SQL查询速度(oracle占位符)
- 掌握Oracle触发器类型,拓展SQL构建技能(oracle触发器类型)
- Oracle 触发器:分类与应用(oracle触发器类型)
- 实现Oracle数据库分页查询的SQL示例(oracle分页sql)
- Oracle SQL语句入门,轻松掌握数据库基础(oracle语句入门)
- 优化Oracle查询:掌握子查询技巧(oracle子查询优化)
- 深入理解Oracle数据库行锁(oracle数据库行锁)
- Oracle中查看行号的简单方法(oracle显示行号)
- 集Oracle字符集指南(oracle 空格 字符)
- 探究Oracle中其他用户的表结构(oracle其他用户的表)
- Oracle关闭遭遇失败调查结果出炉(oracle 关闭失败)
- 日期筛选中的Oracle实践(date筛选oracle)
- Oracle 数据库资源忙碌不堪(oracle中资源正忙)
- Oracle中的虚拟表字段应用与实现(oracle伪表字段)
- Oracle中的多表查询运用SQL实现大效能(oracle中的多表查询)
- 妙用Oracle中的去尾函数精简SQL查询(oracle中的去尾函数)
- Oracle中创建表的步骤(oracle中怎样创建表)
- Oracle中游标 打开数据库之间对话的门窗(oracle中什么是游标)
- Oracle SQL编程从入门到精通(oracle sql编译)
- Oracle SQL操作实现复杂数据分析(oracle sql操作)
- Oracle SQL提交轻松实现数据库信息更新(oracle sql提交)
- Oracle SQL实战从初学者到专家(oracle sql实战)
- 深入浅出学习Oracle SQL中文(oracle sql中文)
- Oracle Q转义解决SQL语句编写中的坎坷(oracle q 转义)
- IE浏览器登录Oracle数据库(oracle ie 登录)
- 探索Oracle ASM的管理界面(oracle asm界面)
- Sql学习第一天——SQL练习题(建表/sql语句)