您的位置:首页 > 数据库 > MySQL

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条数据.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: