MySQL-SQL-DQL(单表)

## DQL:查询表中的记录

            * select * from 表名;

     1. 语法:

         *  select

                字段列表

             from

               表明列表(逗号分隔)

             where

               条件列表

             group by

                分组字段

              having

                分组后的条件

              order by

                排序

              limit

               分页限定

2.基础查询

     1. 多个字段的查询

          * SELECT NAME,age FROM student3;

     2.  去除重复

         * SELECT DISTINCT address FROM student3;
         * SELECT DISTINCT NAME,address FROM student3;(查询人来自哪里)
          

     3. 计算列

         * 一般可以使用四则运算计算一些列的值。(一般只会进行数值型计算)

         * ifnull(表达式1,表达式2):null参与的运算,计算得值都为null

              * 表达式1:哪个字段需要判断是否为null

              * 表达式2:如果表达式1为null的替换值 

 

         * SELECT NAME,math + english FROM student3;

            

         * 如果有null 参与运算,计算结果都为null

         SELECT NAME,math,english,math + IFNULL(english,0) AS 总分 FROM student3;

          

     4. 起别名

          * AS :as 可以省略。

          *  SELECT NAME,math 数学,english 英语,math + IFNULL(english,0) AS 总分 FROM student3;

          

 3.条件查询

     1.where子句后跟条件

     2. 运算符

      

        * like : 模糊查询

         * 占位符

                    * _ : 单个任意字符

                    * %: 任意多个字符

        * and 或 &&

        * or 或 ||

        * not 或 !

 

 模糊查询:LIKE

 排序查询:

     语法:order by 子句

          * order by 排序字段1 排序方式1,排序字段2 排序方式2...

     排序方式:

           * ASC : 升序,默认的。

           * desc : 降序

      * 注意 :

             如果有多个排序条件,则当前一个条件值一样时,才会判断第二个条件。

            

 

                 

2.聚合函数 :将以列数据作为一个整体,进行总想计算。

        1. count : 计算个数

        2. max: 计算最大

        3. min : 计算最小

        4. sum : 计算和

        5. avg :计算平均值

    * 注意 :聚合函数的计算,排除null

          解决方案:

                  1. 选择不包含非空的列进行纵向计算

                  2.ifnull函数

          

    3. 分组查询

              * 语法 :group by 分组字段

         2. 注意:

                  1. 分组之后查询字段:分组字段,聚合函数

                  2. where 和 having 的区别?

                       1. where在分组之前进行限定,如果不满足条件,则不参与分租。having在分组之后进行限           定,如果不满足结果,则不会被查询出来

                       2.where 不可以根据核函数,having可以进行聚合函数的判断。

       

   4. 分页查询

        1.语法:limit 开始的缩引,每页查询的条数

      

        2. 分页操作是个“方言”      

            

猜你喜欢

转载自www.cnblogs.com/fangyulu/p/10281295.html