Oracle数据库的学习笔记
一、限制条件的查询的练习
1.显示所有没有主管经理的雇员名字和工作岗位
SQL> select ename ,job
2 from emp
3 where mgr is null;
ENAME JOB
KING PRESIDENT
2.显示所有有佣金的雇员名字,薪水和佣金的降序排序
select ename,sal,comm
2 from emp
3 where comm is not null
4 order by sal desc,comm desc;
3.显示所有名字中第三个字母是A的雇员的名字
select ename from emp
2 where ename like’__A%’;
4.显示所有名字中的三个字母是A的雇员的名字。
select ename from emp
2 where ename like’__A%’;
5.显示所有工作是销售代表或者普通职员,并且薪水不等于$2500,$3500,$5000的
雇员的名字、工作和薪水。
select ename,job,sal
2 from emp
3 where job=‘SALESMAN’ or job=‘CLERK’
4 and sal not in(2500,3500,5000);
6.查询出姓名是SMITH,ALLEN,KING,的雇员信息
select ename,sal,job from emp
2 where ename in(‘SMITH’,‘ALLEN’,‘KING’);
7.找出佣金高于薪金60%的员工。
select ename
2 from emp
3 where comm > sal0.6;
8.找出部门10中的所有经理(MANAGER)和部门20中所有的办事员(CLERK)的
详细资料
select from emp
2 where (job=‘MANAGER’ and deptno=20)
3 or(deptno=20 and job=‘CLERK’);
9.找出不收取佣金或收取的佣金低于100的员工
select* from emp
2 where job=‘MANAGER’
3 or(deptno=20 and job=‘CLERK’);
10.按右边的指定格式输出(SMITH is a CLERK)
||进行拼接操作
select ename || ‘is a’ || job
2 from emp
3 where job = ‘CLERK’ and ename=‘SMITH’;
二、函数查询
*函数查询
1.单行函数。
<1>数字函数
<2>字符函数
<3>日期函数
<4>转换函数
<5>通用函数
2.多行函数
*单行函数
1.数字函数
<1>round 函数(四舍五入)
select round(45.923),round(49.923,2),round(45.923,-1)
2 from dual;
ROUND(45.923) ROUND(49.923,2) ROUND(45.923,-1)
46 49.92 50
select round(45.923),round(49.923,2),round(45.923,-2)
2 from dual;
ROUND(45.923) ROUND(49.923,2) ROUND(45.923,-2)
46 49.92 0
select round (52.2,-2) from dual;
ROUND(52.2,-2)
100
-2是四舍五入到百位;
dual 只有一条记录
<2>trunc 函数(截断)
select trunc(45.923),trunc(45.923,2) ,trunc(45.923,-1)
2 from dual;
TRUNC(45.923) TRUNC(45.923,2) TRUNC(45.923,-1)
45 45.92 40
<3>mod 函数(求余数)
select mod(5000,2000) from dual;
MOD(5000,2000)
1000
<4>abs 函数 (绝对值)
select abs(-5) from dual;
ABS(-5)
5
<5>ceil 函数 (向上取整)
select ceil(45.678) from dual;
CEIL(45.678)
46
<6>floor函数 (向下取整)
select floor(45.678) from dual;
FLOOR(45.678)
45
2,字符函数
*大小写转换函数
<1>upper 小写转大写
<2>lower 大写转小写
select lower(ename) from emp;
LOWER(ENAM
smith
allen
ward
j