查询显示全表
select * from emp;
select empno from emp;
select * from emp;
select empno 员工编号,ename 员工姓名 from emp;
像empno,ename这叫字段
设置字段别名
然后后面跟着字符串可以改变显示这个字段时的字段名,像这样
但这只改变显示的时候的字段名,数据库里面的内容不会变
设置别名最官方的形式是最右边的,当别名中间有特殊字符时,应该加双引号来解决
字段连接符
--连接符
select empno||'的名字是'||ename 员工信息 from emp;
去重
去掉完全重复的多行信息其中一个
select distinct job,mgr from emp;
排序
单字段排序
按照数字或者字母排序
select empno,ename,job from emp order by ename;
select empno,ename,job from emp order by empno;
默认最后是asc升序排列
加 desc是降序排列
多字段培训
多字段排序的规则是先按第一个字段排序,如果相同就按第二个字段排。。
select empno,ename,job from emp order by ename,empno ;
逻辑运算
当然前提得是数字
select empno,ename,sal+1000 from emp order by empno desc;
where条件限定
select *from emp where ename='SMITH';
select empno,ename,sal from emp where empno>7800;
不等于<>
select empno,ename,sal from emp where empno<>7839;
时间限定格式
x-x月-x(日,月,年)
select *from emp where hiredate>='01-1月-1981' order by hiredate;
is not null(值是0不代表空)
select *from emp where comm is not null;
需要符合多个条件用and连接
select *from emp where comm is not null and comm>0;
用escape将功能字符逆转义成为普通字符
ename中间包含_的 escape ‘’ 表示将里面的这个字符作为转义的标志
select *from emp where ename like '%/_%' escape '/';
从事两个工作种类人员的集合(使用or)
select *from emp where job='CLERK' or job='SALESMAN' order by job;
同样的效果
PS:当然是仅限相同字段使用
select *from emp where job in('CLERK','SALESMAN') order by job;
工资在2000到3000之间
select *from emp where sal>=2000 and sal<=3000 order by sal;
between and 一样的效果
select *from emp where sal between 2000 and 3000 order by sal;