zoukankan      html  css  js  c++  java
  • MySQL----MySQL数据库入门----第四章 单表查询

    select [distinct] * | 字段1,字段2,字段3...
    from 表名
    [where 条件表达式]
    [group by 字段名] [having 条件表示式]
    [order by 字段名] [asc | desc ]
    [limit [offset] 记录数]

     “distinct” 是可选参数,用于剔除查询结果中重复的数据。

    4.1 简单查询

      ①查询所有字段 

    #方法1
    select  字段1,字段2,...,字段n  from 表名   //所有字段
    #方法2
    select  *  from  表名

      注意:

      1、一般情况下,除非需要使用表中所有字段的数据,否则最好不要使用星号通配符,使用通配符虽然可以节省输入查询语句的时间,但由于获取的数据过多会降低查询的效率;

      2、对于字段显示的信息较多时,分号可以使用G替换,显示更清晰。

      ②查询指定字段

    select 字段1,字段2,... from 表名;//部分字段

    4.2 按条件查询

      ①带关系运算符查询

    select  * | 字段1,字段2,... from 表名  where  字段名 > | < | <= | >= | = |!= 字段值;

      ②带in关键字查询

    select  * | 字段1,字段2,... from 表名 where 字段名 [not] in (值1,值2,值3,...);

      ③带between......and 关键字查询

    select  * | 字段1,字段2,... from 表名 where 字段名 [not] between  值1  and  值2;  //值1和值2也包括在查询范围内

      ④空值查询

    select  * | 字段1,字段2... from 表名  where 字段名 is [not] NULL;

      ⑤带distinct关键字查询

    select  distinct  字段名 from 表名;                                      #只查询该字段中不重复的值
    select  distinct 字段名1,字段名2,... from 表名;                           #只有当所列字段值都相等时候才认定为重复数据

      ⑥带like关键字的查询

    select * | 字段1,字段2,... from 表名  where 字段名 like "%%";        #%匹配任意长度的字符串,包括空字符串   
    select * | 字段1,字段2,... from 表名  where 字段名 like "_值_";        #_匹配单个字符,若要匹配多个字符,需要使用多个_

      ⑦带and关键字的多条件查询

    select  * | 字段1,字段2... from 表名  where 表达式1  and  表达式2;

      ⑧带or关键字的多条件查询

    select  * | 字段1,字段2... from 表名  where 表达式1  or  表达式2;

      注意:

      or关键字和and关键字可以一起使用,需要注意的是,and的优先级高于or,因此当两者在一起使用时,应该先运算and两边的条件表达式,再运算or两边的条件表达式。

    4.3 高级查询

      ①聚合函数

     count()  返回数据行数
     sum()    返回某列值的和
     max()    返回某列值的最大值
     min()     返回某列值的最小值
     avg()     返回某列值的平均值

      ②对查询结果排序

    select  * | 字段1,字段2,... from 表名 where 表达式 order by 字段1[asc | desc] , 字段2[asc | desc] , ...;

      查询结果先按照字段1以规定的顺序进行排序,对于字段1值相同的数据,再按照字段2以规定的顺序进行排序。

      ③分组查询

    select  * | 字段1,字段2,... from 表名 where 表达式 group by 字段1 , 字段2 , ... [having 条件表达式];

      注意:

      group by 一般和聚合函数在一起使用,如果查询的字段出现在group by之后,却没有包含在聚合函数中,该字段显示的是分组后的第一条记录的值;

      having关键字指定条件表达对分组后的内容进行过滤;

      ④limit限制查询结果的数量

    select  * | 字段1,字段2,... from 表名 where 表达式 limit [offset]  每页显示的行数pagesize; 

      满足条件的数据可能很多,通过limit子句,限定返回的是哪些行的数据。减少数据的传输,便于用户查看数据。

      对于一个页面,每页显示的行pagesize一般为固定的。

      偏移量:偏移指定行之后,再开始显示。

      假设每页显示10行,当前页码为page

      显示第二页 偏移2-1页数据(2-1) *10 =10

      显示第三页 偏移3-1页数据(3-1) *10 =20

      第n页,偏前n-1页已经显示的内容。offset =(page -1 ) * pagesize 

    4.4 为表和字段取别名

      ①给表取别名

    select * | 字段1,字段2,... from 表名 [as] 别名;

      ②给字段取别名

    select  字段1 [as] 别名,字段2 [as] 别名,... from 表名;
  • 相关阅读:
    H面试程序(0):字符串一些常用函数的实现
    ctype.h头文件
    poj 3657
    UVA10294项链和手镯(等价类计数问题)
    UVA11375火柴(递推+大数)
    UVA11375火柴(递推+大数)
    UVA11388GCD LCM
    UVA11388GCD LCM
    UVA10943简单递推
    UVA10943简单递推
  • 原文地址:https://www.cnblogs.com/WangYujie1994/p/10408113.html
Copyright © 2011-2022 走看看