1、查看创建表的语句
show create table emp;
2、简单的查询语句(DQL)
语法格式:
select 字段名1,字段名2,字段名3,… from 表名;
(1)字段可以参与数学运算。
例:select ename,sal * 12 from emp;
(2)给查询结果的列重命名
as关键字可以省略
*例:select ename,sal 12 as yearsal from emp;
(3)别名中有中文
select ename,sal * 12 as 年薪 from emp; // 错误
select ename,sal * 12 as ‘年薪’ from emp;//正确
注意:标准sql语句中要求字符串使用单引号括起来。
提示:
1、任何一条sql语句以“;”结尾。
2、sql语句不区分大小写。
3、条件查询
语法格式:
select 字段名1,字段名2,字段名3,… from 表名 where 条件;
执行顺序:先from,然后where,最后select
例子:
(1)查询工资等于5000的员工姓名
select ename from emp where sal = 5000;
(2)找出工资在1100和3000之间的员工,包括1100和3000
select ename,sal from emp where sal >= 1100 and sal <= 3000;
select ename,sal from emp where sal between 1100 and 3000; // between…and…是闭区 间 [1100 ~ 3000]
between and在使用的时候必须左小右大。
between and除了可以使用在数字方面之外,还可以使用在字符串方面。
select ename from emp where ename between ‘A’ and ‘D’; // 左闭右开。
(3)在数据库当中NULL不是一个值,代表什么也没有,为空。
空不是一个值,不能用等号衡量。
必须使用 is null或者is not null
找出哪些人没有津贴:select ename,sal,comm from emp where comm is null or comm = 0;
(4)and和or联合起来用:找出薪资大于1000的并且部门编号是20或30部门的员工。
select ename,sal,deptno from emp where sal > 1000 and deptno = 20 or deptno = 30; // 错误的
select ename,sal,deptno from emp where sal > 1000 and (deptno = 20 or deptno = 30); // 正确的。
注意:当运算符的优先级不确定的时候加小括号。
(5)in等同于or:找出工作岗位是MANAGER和SALESMAN的员工?
select ename,job from emp where job = ‘SALESMAN’ or job = ‘MANAGER’;
select ename,job from emp where job in(‘SALESMAN’, ‘MANAGER’);
注释:select ename,job from emp where sal in(800, 5000); // in后面的值不是区间,是具体的值。
(6)模糊查询like
在模糊查询当中,必须掌握两个特殊的符号,一个是%,一个是_
%代表任意多个字符,_代表任意1个字符。
找出名字当中含有O的select ename from emp where ename like ‘%O%’;
找出名字中第二个字母是A的select ename from emp where ename like ‘_A%’;
找出名字中有下划线的select name from t_user where name like ‘%_%’;
找出名字中最后一个字母是T的select ename from emp where ename like ‘%T’;