删除数据
delete from 表名;
删除所有记录,表结构还在,写日志,可以恢复的 速度慢
drop table 表名; 删除表的结构和数据
truncate table 表名;
删除表中的所有记录,表结构还在,不写日志,无法找回删除的记录,速度快。
查询出生日期大于XXX
select *from emp where hirdate > to_date(‘1980-12-11’,‘yyyy-MM-dd’);
查询工资在2000到2500之间的
select * from emp where sal between 2000 and 2500;
查询不在2000到2500的
select * from emp where sal not between 2000 and 2500;
select * from emp where sal between 2000 or 2500;
模糊查询
查询名字首字母是S的
select ename,sal from emp where ename like ‘s%’;
查询名字第三个是O
select ename,sal from emp where ename like ‘__0%’;
查询empno是7369.7499.7521的员工信息
select * from emp where empno in (7369.7499.7521);
in是一个集合的概念;
查询没有mgr的员工信息
select * from emp where mgr is null;
查询有mgr的员工信息
select * from emp where mgr is not null;
根据order by 去排序员工信息
select * from emp order by sal asc; (asc是升序排列)
select * from emp order by sal desc; (desc是降序排列)
select * from emp order by sal ;(默认就是升序)
根据deptno升序,sal降序排列
select * from emp order by deptno asc,sal desc;
根据别名来排序
select * ename ,sal*12 as 年薪 from emp order by 年薪 asc;
两个表同时查询
select * from emp,epp;
两表之间消灭笛卡尔积
select * from emp,epp where emp.deptno = epp.deptno;
两表之间通过逻辑判断消灭笛卡尔积
select emp.ename,emp.sal,salgrade .grade from emp,salgrade where emp.sal between salgrade.losal and salgrade.hisal;
select复杂查询
查询emp表中 工资最多 最少 平均 总和
select max(sal),min(sal),avg(sal),sum(sal) from emp;
查询emp表中有多少员工
select count (ename) from emp;
查询emp表中员工工资最高的信息
select * from emp where sal = (select max(sal) from emp);
查询emp表中部门员工的最高工资的信息
select deptno ,max (sal) from emp group by deptno;