查询相关命令:
- 查看表中的数据:select * from 表名; //统一执行这个SQL语句。
- 不看表中的数据,只看表的结构:desc 表名; desc是describe的简称。
- 查询一个字段:select 字段名 from 表名;
- 对于SQL语句来说,是通用的,所有的SQL语句以“;”结尾。另外SQL语句不区分大小写,都行。
- 查询两个字段,或者多个字段:select deptno,dname from dept; 用逗号隔开
- 给查询的列起别名: select deptno,dname as deptname from dept; 使用as关键字
注意:只是将显示的查询结果列名显示为deptname,原表列名还是叫:dname
as关键字可以省略 select deptno,dname deptname from dept
起别名的时候,别名里面有空格:
select deptno,dname 'dept name' from dept; //加单引号
select deptno,dname "dept name" from dept; //加双引号 - 字段可以使用数学表达式:select ename,sal*12 from emp;
- 条件查询 select 字段1,字段2,字段3.... from 表名 where 条件;
= 等于:select empno,ename from emp where sal = 800;
<>或!= 不等于:select empno,ename from emp where sal <> 800;
< 小于:select empno,ename,sal from emp where sal < 2000;
<= 小于等于:select empno,ename,sal from emp where sal <= 3000;
> 大于:select empno,ename,sal from emp where sal > 3000;
>= 大于等于:select empno,ename,sal from emp where sal >= 3000;
between … and …. 两个值之间, 等同于 >= and <=:select ename,sal from emp where sal between 2400 and 3000;
is null 为 null(is not null 不为空):select empno,ename,sal,comm from emp where comm is null;
and 并且:select empno,ename,job,sal from emp where job = 'MANAGER' and sal > 2500;
or 或者:select empno,ename,job,sal from emp where job = 'MANAGER' or sal > 2500;
and和or同时出现,加小括号就好了,当然有优先级,但容易迷糊。
in 包含,相当于多个 or (not in 不在这个范围中):select ename,sal from emp where sal in(800, 5000, 3000); - 模糊查询like,支持%或下划线匹配
%匹配任意多个字符 。下划线:任意一个字符。
找出名字中含有O的:select ename from emp where ename like '%O%';