Truth & Free

The truth shall make you free.

   :: 首页  :: 新随笔  ::  ::  :: 管理

10.1 简单数据记录查询

SELECT field1,field2,...fieldn
    FROM table_name;

  “*” ——查询所有记录

SELECT * FROM table_name;

  DISTINCT——避免重复数据查询

SELECT DISTINCT field1,field2,...fieldn
    FROM table_name;

  AS——修改字段名

SELECT field1 【AS】 otherfield1,field2 【AS】 otherfield2
    FROM table_name;

  CONCAT——设置显示格式

SELECT CONCAT(ename,'的年龄为',eage)
    FROM table_name;

  

10.2 条件数据记录查询

  MySQL中,通过关系运算符和条件运算符来编写“条件表达式”。

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE CONDITION;

  注意:通过"&&"符号连接查询条件。

  BETWEEN AND——判断字段的数值是否在指定范围内

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE field 【NOT】 BETWEEN VALUE1 AND VALUE2;

  IS NULL——判断字段的数值是否为空

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE field IS 【NOT】 NULL;

  IN——判断字段的数值是否在指定集合中

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE field 【NOT】IN (value1,value2,value3,...valuen);

  LIKE “%”——模糊查询,“_”——通配符查询,LIKE '%%'表示查询所有数据。

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE field LIKE value;

  NOT LIKE 也可以通过逻辑非运算符(NOT)来实现:

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE field NOT LIKE value;

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE NOT field  LIKE value;

  

10.3 排序数据记录查询

 1. 升序排序-ASC

SELECT * 
  FROM table_name 
    ORDER BY field ASC;

  ORDER BY默认升序排序。

    降序排序-DESC

SELECT * 
  FROM table_name 
    ORDER BY field DESC;

 2. 多字段排序

SELECT * 
    FROM table_name 
        ORDER BY field1 【ASC】, field2 DESC;

 

10.4 限制数据记录查询数量

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE CONDITION
            LIMIT OFFSET_START,ROW_COUNT;

 OFFSET_START为起始偏移量,不指定时默认为0;ROW_COUNT表示显示的行数。

 

10.5 统计函数和分组数据记录查询

 1. 统计函数

COUNT():统计表中记录总数
AVG():计算字段值的平均值
SUM():计算字段值的总和
MAX():查询字段值的最大值
MIN():查询字段值的最小值

 注意:如果所操作的表中没有任何数据记录,COUNT()函数返回0,其他函数返回NULL。

 2. 分组查询

  GROUP BY- 按照field字段值分组,显示每组中的一条记录。

SELECT field1,field2,...fieldn
    FROM table_name
        WHERE CONDITION
        GROUP BY field;

实现多个字段分组查询:

SELECT function()
    FROM table_name
        WHERE CONDITION
        GROUP BY field1,field2;

  GROUP_CONCAT-显示每个分组中的指定字段值:

SELECT GROUP_CONCAT(field1)
    FROM table_name
        WHERE CONDITION
        GROUP BY field;

  HAVING-实现条件限制分组数据记录

SELECT function()
    FROM table_name
        WHERE CONDITION
        GROUP BY field1,field2,...fieldn
        HAVING CONDITION;

 举例说明:

SELECT deptno,AVG(sal) average,GROUP_CONCAT(ename) enames,COUNT(ename) number 
  FROM t_employee 
    GROUP BY deptno 
    HAVING AVG(sal)>2000;

posted on 2015-06-10 19:51  andyzeng24  阅读(295)  评论(0编辑  收藏  举报