Mysql数据库(3)

1.筛选条件

  • 比较运算符:=  等于     >=  大于等于     <=  小于等于     !=(或者<>)   不等于 

                            >    大于    <   小于     is null   空     is not null   非空

  • 逻辑运算符:and    与(且)

                            or       或

                            not      非(不是)

  • 范围查询:between a and b      a<=value<=b  连续查询

                         in                              范围内的任意一个  间隔查询

  • 模糊查询:like

                        %任意多个字符            _任意一个字符

      例:select *from student where age between 18 and 20   //查询年龄在18-20岁的学生信息

             select *from student  where age in (18,20)   //查询年龄为18岁或20岁的学生信息

             select * from student whwre age >20 and sex='男' //查询年龄大于20岁的男生信息

             select *from student where name like '张%'   //查询姓张的同学的信息

             select  *from student where name like'张_'    //查询姓张的名字是两个字的同学

2.排序与去重

  • 排序:  select columns from tb_name order by order_col [asc/desc]

                    asc  正序

                    desc  降序

  • 去重:select distinct columns from tb_name

3.聚合与分组

    例如查询90分以上的学生个数,先按学生分组,再使用count聚合函数

  • 聚合函数

            count(column) 统计个数         sum(column)  求和

            max(column)  最大值              min(column)  最小值

            avg(column)   平均值              

  • 分组查询

          select group_col, aggregations from tb_name group by group_col

          分组情况下,只能出现分组的列和聚合函数生成的列,其他列没有意义

          聚合筛选

             select group_col, aggregations from tb_name where condition group by group_col 

                       having conditions   

             注意:(1)where不能筛选聚合函数,having筛选的是聚合函数

                        (2)where写在group by 之前,having写在group by之后,先执行where,后havin

                        (3)where不能使用别名,having可以使用别名

4.限制与分页

  •  限制结果个数

          SELECT columns FROM tb_name     LIMIT count; //count是个数

          SELECT columns FROM tb_name     LIMIT start, count; //从start开始取count个

  • 分页

        SELECT columns     FROM tb_name     LIMIT (n-1)*m, m    //显示第n页的数据(下标从0开始)

猜你喜欢

转载自blog.csdn.net/weixin_42089175/article/details/81331846