刚刚学习oracle,有些地方用的不熟练,特此记录以供今后复习:
注意的点有:
1、查询工作为CLERK的员工的员工号、员工名和部门号;
select empno,ename,deptno from emp where job = 'CLERK';
需要注意!一定要使用单引号 ' ' !!
双引号会出错的;
2、查询工龄大于或等于10年的员工信息;
select * from emp where months_between(sysdate,hiredate)/12>=10;
需要注意! month_between() 是查的两个参数之间的月份!!!
3、查询员工信息,要求以首字母大写的方式显示所有员工的姓名;
select initcap(ename) from emp;
需要注意! initcap()函数是将参数的首字母变为大写的函数的!!
4、 查询员工名正好为6个字母的员工信息;
select *from emp where length(ename)=6;
需要注意:存在length()函数计算长度,用到where里
5、查询所有员工姓名的前三个字符
select substr(ename,1,3) from emp;
需要注意:substr()是查询前字符串指定位置的字符
6、查询所有员工姓名、如果包含字母s,则用S替换;
select replace(ename,'s','S') from emp;
需要注意:replace()替换字符使用,放在select之后;
7、显示所有员工的姓名、入职的年份和月份,按入职日期所在的月份排序,若月份相同,按入职的年份排序
select ename,to_char(hiredate,'yyyymm') from emp order by to_char(hiredate,'mm'),to_char(hiredate,'yyyy');