Oracle基础知识学习1-基本指令

xiaoxiao2021-02-27  220

雇员表(EMP)

No.字段类型描述1EMPNONUMBER(4)雇员编号,唯一2EMPNAMEVARCHAR2(10)表示雇员姓名3JOBVARCHAR2(9)表示工作职位4MGRNUMBER(4)雇员的领导名称5HIREDATEDATE表示雇佣日期6SALNUMBER(7,2)表示月薪、工资7COMMNUMBER(7,2)表示奖金8DEPNONUMBER(2)部门编号

奖金表(BONUS)

No.字段类型描述1EMPNONUMBER(4)雇员编号,唯一2EMPNAMEVARCHAR2(10)雇员姓名3JOBVARCHAR2(9)雇员工作4SALNUMBER雇员工资5COMMNUMBER雇员奖金
列出了表emp中所有数据 select * from emp; 取出表emp中job列所有数据 select job from emp; 取出表emp中job列不同的数据,也就是相同的数据只留一个 select distinct job from emp; 显示sal大于2000的人员信息 select * from emp where sal > 2000; sal大于3000或sal在1000和2000之间的人员名称 select ename from emp where sal > 3000 or (sal > 1000 and sal < 2000); 这是列出job是CLERK的人员信息 select * from emp where job in 'CLERK'; 列出job是CLERK和ANALYST的人员信息 select * from emp where job in ('CLERK','ANALYST'); 列出日期在这个范围的人员 select * from emp where hiredate between '20-2月-81' and '03-12月-81'; 列出job名带AN的job select distinct job from emp where job like '%AN%'; 从小到大排列sal select sal from emp order by sal asc; 按sal排,如果相同再按hiredate从大到小排 select sal, hiredate from emp order by sal asc, hiredate desc; 加上where条件 select ename,job,sal from emp where sal > 2000 order by sal asc;

函数:AVG (平均)、COUNT (计数)、MAX (最大值)、MIN (最小值)、SUM (总合)

求所有sal的和 select sum(sal) from emp; 求有多少个人 select count(ename) from emp; 求有多少种job,这就要去掉重复的job项 select count(distinct job) from emp; 多少人有comm奖金 select count(ename) from emp where comm is not null; 给函数设定条件用having,岗位sal和大于5000的岗位 select job,sum(sal) from emp group by job having sum(sal) > 5000; 起别名,先给sum(sal)起名为SUM,别名的本身名中间一个空格 select sum(sal) "SUM" from emp; 给表也起个别名 select t.job "JOBS", sum(sal) "SUM" from emp t group by job; 把不同栏的内容连在一起,在Oracle中可以用concat也可以用||,不过concat最多两个元素,||可以多个 select concat(empno, empname) from emp; select empno || empname "newname" from emp; select empno || '-' || empname from emp; //中间有-分隔 取某个栏信息的一段字符串,substr select substr(empname,3,2) from emp; 去掉开头或结尾的某个字符,一般就是空格。 select ltrim(job) from emp; select rtrim(job) from emp;
转载请注明原文地址: https://www.6miu.com/read-10349.html

最新回复(0)