mysql各种查询语句介绍
2017-03-30 21:27
471 查看
1. between … and…表示范围的组合
找出月薪在2000到6000之间的员工?
select* from emp where sal>=2000 and sal<=6000; //where后面是两个条件
select* from emp where sal between 2000 and 6000; //where后面是一个条件
2. in和not in
找出10号、30号、40号部门的所有员工?
select* from emp where deptno=10 or deptno=30or deptno=40;//三个条件
select* from emp where deptno in(30,40,10); //一个条件
//select* from emp where deptno not in(30,40,10);
3. is null和is not null
找出有提成的员工?
select* from emp where comm is not null;
4. 排序order by
按照月薪从低到高查询所有员工?
select* from emp order by sal asc;//升序
select* from emp order by sal desc;//降序
select* from emp order by sal;//默认是升序
//sal是主排序字段,comm是次要排序字段
select* from emp order by sal asc, comm desc;
5. 别名
字段或者表可以起别名
selectename as eee from emp as ttt;
selectename e from emp t;
6. 不等于
!= <>
select* from emp where deptno <>10;
7. distinct关键字
过滤重复,不显示重复的
注意:这个关键字要跟在select后面
查询所有员工都分布在哪些部门?
selectdistinct deptno from emp;
8. 分组查询group by
请算出每个部门的平均工资?
先分组,然后再求平均
selectdeptno, avg(sal) from emp group by deptno;
如果select语句中有group by 子句,
那么select关键字之后能跟(group by 后面出现的字段 + 组函数)
请找出平均工资大于 4000的部门编号?
having条件,筛选组(where条件,筛选表中的数据)
selectdeptno,avg(sal) from emp group by deptno having avg(sal)>4000;
没有group by, 肯定没有having
查询语句的全结构:
select .... 5
from ... 1
where ... 2
group by ... 3
having.... 4
order by ... 6
(书写顺序) (执行顺序)
9. 模糊查询
精确查询用=,模糊查询用like
有两个通配符,%代表0个或者多个任意字符,_代表1个任意字符
找出所有姓wang的员工?
select* from emp where ename like ‘wang%’
找出名字中有a这个字母的员工?
10. 分页查询语句(limit)
例如:select * from emp limit 0,3; //表示从 0+1 条开始取,取出3条数据.
找出月薪在2000到6000之间的员工?
select* from emp where sal>=2000 and sal<=6000; //where后面是两个条件
select* from emp where sal between 2000 and 6000; //where后面是一个条件
2. in和not in
找出10号、30号、40号部门的所有员工?
select* from emp where deptno=10 or deptno=30or deptno=40;//三个条件
select* from emp where deptno in(30,40,10); //一个条件
//select* from emp where deptno not in(30,40,10);
3. is null和is not null
找出有提成的员工?
select* from emp where comm is not null;
4. 排序order by
按照月薪从低到高查询所有员工?
select* from emp order by sal asc;//升序
select* from emp order by sal desc;//降序
select* from emp order by sal;//默认是升序
//sal是主排序字段,comm是次要排序字段
select* from emp order by sal asc, comm desc;
5. 别名
字段或者表可以起别名
selectename as eee from emp as ttt;
selectename e from emp t;
6. 不等于
!= <>
select* from emp where deptno <>10;
7. distinct关键字
过滤重复,不显示重复的
注意:这个关键字要跟在select后面
查询所有员工都分布在哪些部门?
selectdistinct deptno from emp;
8. 分组查询group by
请算出每个部门的平均工资?
先分组,然后再求平均
selectdeptno, avg(sal) from emp group by deptno;
如果select语句中有group by 子句,
那么select关键字之后能跟(group by 后面出现的字段 + 组函数)
请找出平均工资大于 4000的部门编号?
having条件,筛选组(where条件,筛选表中的数据)
selectdeptno,avg(sal) from emp group by deptno having avg(sal)>4000;
没有group by, 肯定没有having
查询语句的全结构:
select .... 5
from ... 1
where ... 2
group by ... 3
having.... 4
order by ... 6
(书写顺序) (执行顺序)
9. 模糊查询
精确查询用=,模糊查询用like
有两个通配符,%代表0个或者多个任意字符,_代表1个任意字符
找出所有姓wang的员工?
select* from emp where ename like ‘wang%’
找出名字中有a这个字母的员工?
10. 分页查询语句(limit)
例如:select * from emp limit 0,3; //表示从 0+1 条开始取,取出3条数据.
相关文章推荐
- Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
- MySQL5.6 怎样优化慢查询的SQL语句 -- 慢日志介绍
- mysql:索引介绍和各种索引解释以及创建语句
- MySQL查询优化:连接查询排序limit(join、order by、limit语句)介绍
- mysql开启慢查询(EXPLAIN SQL语句使用介绍)
- mysql:索引介绍和各种索引解释以及创建语句
- Oracle、MySQL和SqlServe三种数据库分页查询语句的区别介绍
- 各种数据库(MYSQL、Oracle、DB2、SQL Server、PostgreSQL)的分页查询语句
- MySQL5.6 如何优化慢查询的SQL语句 -- 慢日志介绍
- MySQL5.6 如何优化慢查询的SQL语句 -- 慢日志介绍
- MYSQL最近一周一个月时间段的查询语句
- mysql取前10条数的查询语句
- 23个MySQL常用查询语句
- mysql查询语句的理解分析
- linux下开启mysql慢查询,分析查询语句
- 23个MySQL常用查询语句
- mysql中获取一天、一周、一月时间数据的各种sql语句写法
- MySQL查询语句中的IN 和Exists 对比分析
- mysql中select查询语句添加自增id