关于SQL数据表的实例
示例:
查找emp表
1 | select * from emp; |
查找emp表的sal
1 | select a.SAL from emp a; |
查找emp表的ename
1 | select a.ename from emp a; |
emp表的sal*10
1 | select a.SAL*10 from emp a; |
emp表的sal的平均值
1 | select avg(a.sal) from emp a; |
emp表的sal的总和
1 | select sum(a.sal) from emp a; |
emp表的sal的max
1 | select max(a.sal) from emp a; |
emp表的sal的min
1 | select min(a.sal) from emp a; |
emp表中sal<1000的信息
1 | select * from emp where sal<1000; |
ename中含有A的信息
1 | select ename from emp where ename like'%A%'; |
emp中ename不含有A的信息
1 | select * from emp where ename not like'%A%'; |
查询系统时间
1 | select sysdate from dual; |
计算薪资小于5000的员工的工资总和
1 | select sum(sal) from emp where sal<5000 ; |
计算工资不高于平均工资的工资总和
1 | select sum(sal) from emp where sal<(select avg(sal) from emp); |
计算工资小于4000的员工的平均工资
1 | select avg((select sum(sal) from emp where sal<4000)) from emp; |
查询薪水低于100000的员工姓名和sal
1 | select ename,sal from emp where sal<100000; |
计算20号部门的员工的最高工资和最低工资
1 | select max(sal),min(sal) from emp where deptno=20; |
查询工资大于1000,并且是20号部门的员工的全部信息
1 | select * from emp where sal>1000 and deptno=20; |
求最高工资的员工的员工姓名和部门名称
1 | select ename,deptno,sal from emp where sal=(select max(sal) from emp); |
将员工薪水小于5000且部门平均薪水大于1000的部门标号列出,按部门平均薪水降序排序
1 | select deptno from emp where sal<5000 group by deptno having avg(sal) >1000; |
查找表emp
1 | select * from emp ; |
根据用户名“Smiths”查找他所在的部门
1 | select deptno from emp where ename='SMITH'; |
查询每个部门的最高工资的人员名称
1 | select e.ename,e.deptno,e.sal from (select deptno as did ,max(sal) as m from emp group by deptno ) s,emp e,dept d where e.sal=s.m and s.did=e.deptno and d.deptno=e.deptno; |
查询“Jones”之后第一个进入公司的人
1 | select * from emp where hiredate=(select min(hiredate) from emp where hiredate>(select hiredate from emp where ename='JONES')) ; |
查找工资最高的部门名称和工资最低的部门名称及工资
1 | select d.dname,e.sal from emp e,dept d where e.deptno=d.deptno and sal=(select max(m) from (select deptno,max(sal) as m from emp e group by deptno) s) |
创建表
1 | create table student( |
添加数据
1 | insert into student values(1001,'123456','赵六','男',1507,120,'北京','23-5月-1995','@10422'); |
提交
1 | commit; |
查询此表
1 | select * from student; |
根据条件修改
1 | update student set studentname='孙七',loginpwd='666666' where studentid=1001; |
根据条件删除
1 | delete from student where studentid=1002; |
增加字段
1 | ALTER TABLE 表名称 ADD(列名称 数据类型 [DEFAULT 默认值],列名称 数据类型 [DEFAULT 默认值],…) |
删除此表
1 | drop table student; |
B卷 创建表空间
1 | create tablespace mytestspace datafile 'e:week3.dbf' size 2M; |
创建用户
1 | create user zhangsan identified by zhangsan default tablespace mytestspace |
创建角色并授权
1 | create role fang; |
创建表
1 | create table teacher ( |
创建序列
1 | create sequence teachers_sequence minvalue 1 maxvalue 100 (最小值,最大值)cycle (循环)increment by 1(步长值) start with 1(从1开始); |