我是初学oracle新人,求解决一些简单问题

本帖最后由 石沉┏溪洞 于 2012-5-13 10:46 编辑

以scott表为准,下面的查询语句应该怎么写啊?求答案

1显示在一个月为30天的情况下所有雇员的日薪金
2显示姓名字段的任何位置,包含 "A" 的所有雇员的姓名
3找出各月最后一天受雇的所有雇员
4找出早于25年之前受雇的雇员
5显示只有首字母大写的所有雇员的姓名
6显示正好为6个字符的雇员姓名
7显示所有雇员的姓名的前三个字符
8显示所有雇员的姓名,用a替换所有'A'
9显示所有雇员的姓名以及入职10年后的日期
10显示雇员姓名,根据其服务年限,将最老的雇员排在最前面
11显示所有雇员的姓名和加入公司的年份和月份,按雇员受雇日所在 月排序,将最早年份的项目排在最前面
12找出在(任何年份的)2月受聘的所有雇员
13对于每个雇员,显示其加入公司的天数
14以年、月和日显示所有雇员的服务年限
标签: 暂无标签
石沉┏溪洞

写了 5 篇文章,拥有财富 77,被 1 人关注

转播转播 分享分享 分享淘帖
回复

使用道具

P4 | 发表于 2012-5-19 22:50:09
互相学习,互相帮助!
回复

使用道具

P4 | 发表于 2012-5-18 23:40:30
zhaojingyuo 发表于 2012-5-17 10:33
1. select ename,sal/30 from emp;
2. select * from emp where ename like '%A%';
3. select * from emp w ...

这个帖子我发了好几天了,我一直都觉得是不是我问的问题太简单了,所以没人肯帮我解决,你是第一个回我的,你是个好人,谢谢
回复

使用道具

P4 | 发表于 2012-5-17 10:33:49
1. select ename,sal/30 from emp;
2. select * from emp where ename like '%A%';
3. select * from emp where hiredate=last_day(hiredate);
4. select * from emp where months_between(sysdate,hiredate)/12>25;
5. select * from emp where ename=initcap(ename);
6. select * from emp where length(ename)=6;
7. select substr(ename,1,3) from emp;
8. select replace(ename,'A','a') from emp;
9. select ename,add_months(hiredate,12*10) from emp;
10. select ename,hiredate from emp order by hiredate;
11. select ename,to_char(hiredate,'yy') y,to_char(hiredate,'mm') m from emp order by m,y;
12. select ename,hiredate from emp where to_number(to_char(hiredate,'mm'))=02;
13. select ename,ceil(sysdate-hiredate) from emp;
14. select ename,months_between(sysdate,hiredate)/12 year,months_between(sysdate,hiredate) month,sysdate-hiredate day from emp;
回复

使用道具

您需要登录后才可以回帖 登录 | 加入社区

本版积分规则

意见
反馈