【【【2013-9-13】】】
--模糊查询 关键字 like
--与通配符联合使用('_'任意一个字符;'%'任意长度的字符;转义字符'/'和关键字escape联用)
select * from emp
where job like '%/%%' escape '/';
select * from emp where comm is not null;
commit;
SELECT * FROM emp WHERE ename = 'SMITH';
--字符串转成日期(to_date:第一个参数是日期字符串,第二个参数是格式(yyyy-mm-dd))
select to_date('2013-9-9','yyyy-mm-dd') from dual;
insert into emp values(321,'tom','ssd%f_s',123,to_date('2013-9-9','yyyy-mm-dd'),121,123,20);
--日期转成字符串
select to_char(sysdate,'yy-mm-dd hh:mi') from dual;
select to_char(sysdate,'yyyy"年"mm"月"dd"日"') from dual; --穿插的内容加""
--字符串转成数字
select to_number('12345') from dual;
--例子
select ename,to_char(hiredate,'yyyy"年"mm"月"dd"日"') from emp;
--几个常用的字符函数
select lower('YYMmDD') from dual;
select lower(ename),upper(job),initcap(job) from emp;
--日期函数
select add_months(sysdate,3) from dual;
【【【简单查询 作业】】】
--1、选择部门30中的雇员
select * from emp where deptno = 30;
--2、找出所有收入在3000-5000的员工信息
select * from emp where sal between 3000 and 5000;
--3、找出佣金高于薪金的雇员
select * from emp where comm > sal;
--4、找出佣金高于薪金60%的雇员
select * from emp where comm > (sal * 0.6);
--5、显示雇员的详细资料,按姓名排序
select * from emp order by ename;
--6、显示所有雇员的姓名、工作和薪金,按工作的降序顺序排序,而工作相同时按薪金升序
select ename, job, sal from emp order by job desc, sal;
--7、列出所有办事员的姓名、编号和部门
select e.empno, e.ename, d.deptno, d.dname
from emp e
join dept d on e.deptno = d.deptno;
--8、找出部门10中所有经理和部门20中的所有办事员的详细资料.
select *
from emp
where (deptno = 10 and job = 'MANAGER')
or (deptno = 20 and job <> 'CLERK');
--9、找出部门10中所有经理、部门20中所有办事员,既不是经理又不是办事员但其薪金>=2000的所有雇员的详细资料.
select *
from emp
where (deptno = 10 and job = 'MANAGER')
or (deptno = 20 and job = 'CLERK')
or (job <> 'MANAGER' and job <> 'CLERK' and sal >= 2000);
--10、找出收取佣金的雇员的不同工作.
select distinct job from emp where comm is not null;
--11、显示所有雇员的姓名的前三个字符
select substr(ename, 1, 3) from emp;
--12、显示所有雇员的姓名,用a替换所有'A'
select replace(ename, 'A', 'a') from emp;
--13、显示所有雇员的姓名以及满10年服务年限的日期
select ename, add_months(hiredate, 120) from emp;
标签:ename,函数,--,job,emp,简单,where,select From: https://blog.51cto.com/yuzhyn/5871956