------------恢复内容开始------------
查询emp中的所有表:
select * from emp; 在日常工作中 不建议使用* 因为查询效率较低
常用命令:
select database(); 查看当前使用的是哪个数据库
\c 命令,结束一条语句。
exit 命令,退出mysql。
查看创建表的语句:
show create table emp;
查询语法格式:
select 字段名1,字段名2,字段名3,.... from 表名;
注意:标准sql语句中要求字符串使用单引号括起来。虽然mysql支持双引号,尽量别用。
可以给字段名设为中文:
select ename,sal * 12 as ‘年薪‘ from emp;
条件查询。
语法格式:
select
字段,字段...
from
表名
where
条件;
执行顺序:先from,然后where,最后select
查询工资等于5000的员工姓名?
select ename,sal from emp where sal = 5000;
找出工资在1100和3000之间的员工,包括1100和3000?
select ename,sal from emp where sal between 1100 and 3000; // between...and...是闭区间 [1100 ~ 3000]
select ename,sal from emp where sal between 3000 and 1100; // 查询不到任何数据
between and在使用的时候必须左小右大。
between and除了可以使用在数字方面之外,还可以使用在字符串方面。
select ename from emp where ename between ‘A‘ and ‘C‘;
找出哪些人津贴为NULL?
在数据库当中NULL不是一个值,代表什么也没有,为空。
空不是一个值,不能用等号衡量。
必须使用 is null或者is not null
select ename,sal,comm from emp where comm is null;
找出工作岗位是MANAGER和SALESMAN的员工?
select ename,job from emp where job = ‘MANAGER‘ or job = ‘SALESMAN‘; or或者的意思
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,sal from emp where sal in(800, 5000); // in后面的值不是区间,是具体的值。
not in: 不在这几个值当中。
select ename,job from emp where sal not in(800, 5000);
模糊查询like ?
找出名字当中含有O的?
(在模糊查询当中,必须掌握两个特殊的符号,一个是%,一个是_)
%代表任意多个字符,_代表任意1个字符。
排序(升序、降序)
按照工资升序,找出员工名和薪资?
select
ename,sal
from
emp
order by
sal;
排序:默认就是升序
------------恢复内容结束------------
原文:https://www.cnblogs.com/jj0531/p/14683216.html