MySql初级查询语句+运算符+函数

select 字段名-------要查询的列名称

from 表名 ---------要查询的表名称

where 字段条件---------要查询的值的条件

group by 字段分组-----------对结果分组

having 字段分组的条件----------分组后的行条件进行过滤

order by 排序字段-----------对结果排序

1,查询student表所有列

       select * from student

2,查询指定列

        select id,name,age from student;

3.算数运算符

         加(+),减(-),乘(*),除(/)(%)

4,比较运算符,用于将一个表达式与另一个表达进行比较

          =,!=,<,>,<=,>=

          in(多个值),is null(为空),is not null(不为空),between  and  在..之间

5,逻辑运算符,用户合并两个条件的结果以产生单个结果。

          and/&& (和),or(或),not(非)

6,合并运算符,用户两个独立查询的结果

           union,union all

7,连接运算符,用于连个或多个字符串合并在一起

            concat

            select concat(name,age) from student;

8,模糊查询,用于查询姓名中包含a字母的学生时就需要使用模糊查询了

            Like   接通配符

            通配符:零或者多个字符,使用%有三种情况

                          字段like '%关键字%'字段包含'关键字'的记录

                          字段like '关键字%'字段以'关键字' 开始的记录

                          字段like'%关键字' 字段以"关键字"结束的记录

      Select *from student where job like'_____';(查询job职称为5位)

      %表示任意多个字符,_表示任意一个字符

9,去重复记录

         distinct

         select distinct sal from student;

10,空值之和,假设comm存在空值,则将空值设为0

         select sal+ifnull(comm,0) from student;

11,起别名

        as  别名

        select concat(name,age) as total from student,其中total就是别名

12,排序

       order by  字段名;      asc升序,desc 降序

       select * from student order by sal; 没有按升序排序

       select * from student order by sal asc;      sal升序

       select * from student order by sal desc;    sal降序

       select * from student order by sal desc,id asc; sal 降序,id 升序

聚合函数

       mysq聚合函数同时可以对多行数据进行操作,并返回一个结果,比如经常用来计算数据的总和和平均值,以及最大最小值之类,

       简单理解:聚合函数是用来做纵向运算的函数

       count:统计指定列不为null的记录行数

       max():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算

       min(): 计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算

       sum():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;

       avg() :计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;

       select count(*) from student;                  统计student表中行数

       select count(name) from student;          统计student表中name的行数

       select count(sal) from student where sal>2500;   统计月薪大于2500的人数

       select sum(sal) from student;                统计薪资总和,sum()只能放1个字段名

       select avg(sal) from student                  统计员工平均工资

       select max(sal) from student                 统计最高工资

       select min(min) from student                 统计最低工资

        分组查询 

           group by    当需要分组查询时使用group by字句,列如查询每个部门的工资和,这说明要使用部分来分组,分组的意义是为了统计数据。

             根据部门编号分组

             select deptno from student group by deptno;  

             查询每个部门的部门编号并且工资需要大于3800的人数;

             select deptno,count(*) from company where sal>3800 group by deptno;

             having     having字句跟where的使用方法和作用是一样的,唯一区别是为了区别where,where子句只能跟在from后面,having子句只能跟在group by后,对分组后的数据进行过滤 

              查询员工表职位以及职位的人数,并且人数>2的职位

              select job,count(*) from student group by job having count(*)>2;

             limit 分页的实现

              查看student表中1-3页的内容,0表示从第一行开始,7代表多少条数据

              select * from student limit 0,3

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值