您的位置:首页 > 数据库 > MySQL

MySQL单表数据记录查询经典语句

2016-05-24 17:18 633 查看
1.避免重复数据查询——DISTINCT

SELECT DISTINCT job 

             FROM t_employee;

2.实现数学四则运算数据查询

SELECT ename,sal*12

           FROM t_employee;

SELECT ename,sal*12 AS yearsalary

           FROM t_employee;

3.设置显示格式数据查询

设置显示格式,以方便用户浏览所查询到的数据。

SELECT CONCAT(ename,'雇员的年薪为:',sal*12) yearsalary

     FROM t_employee;

4.条件数据记录查询

SELECT ename

     FROM t_employee

         WHERE sal BETWEEN 1000 AND 2000;

SELECT ename

    FROM t_employee

        WHERE sal NOT BETWEEN 1000 AND 2000;

SELECT ename

     FROM t_employee

        WHERE sal IS NULL

SELECT ename

     FROM t_employee

        WHERE sal IS NOT NULL;

5.带LIKE关键字的模糊查询

通过通配符来实现模糊查询。通配符主要是用来实现匹配部分值的特殊字符。

通配符“_”能匹配单个字符,“%”能匹配任意长度的字符串

SELECT ename

    FROM t_employee

        WHERE ename LIKE '%a';

注意,在MySQL软件中不区分大小写,不仅对关键字不区分大小写,对于字段数据记录也不区分大小写。

SELECT ename

   FROM t_employee

       WHERE NOT ename LIKE 'A%';

SELECT ename

    FROM t_employee

      WHERE ename LIKE '_A%';

SELECT ename

    FROM t_employee

       WHERE sal LIKE '%5%';

6.排序数据记录查询

SELECT *

    FROM t_employee

         ORDER BY sal ASC; #按照字段sal的值对该表的所有数据记录进行升序排序

SELECT *

    FROM t_employee

       ORDER BY sal ASC,

                      hiredate DESC;

7.限制数据记录查询数量

SELECT *

    FROM t_employee

    WHERE comm is NULL

    LIMIT 2; #设置显示数据记录数目为2

SELECT *

   FROM t_employee

   WHERE comm is NULL

   ORDER BY hiredate LIMIT 0,5; #设置显示记录数为5,从第1条记录开始。

SELECT *

   FROM t_employee

   WHERE comm is NULL

   ORDER BY hiredate LIMIT 5,5; #从第6条记录开始,共显示5条记录。

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

(1)统计数据记录条数

   SELECT COUNT(*) number

        FROM t_employee;

在具体使用统计函数COUNT()时,除了可以操作符号“*”外,而且还可以操作相应字段

SELECT COUNT(comm) number

       FROM t_employee

       WHERE NOT comm=0;

SELECT AVG(comm) average

       FROM t_employee

       WHERE NOT comm=0;

SELECT SUM(sal) sumvalue

      FROM t_employee;

SELECT MAX(sal) maxval, MIN(sal) minval

     FROM t_employee;

SELECT AVG(deptno) average, SUM(deptno) summer, MAX(deptno) maxval, MIN(deptno) minval

   FROM t_dept;

9.分组数据查询——简单分组查询

SELECT * 

   FROM t_employee

  GROUP BY deptno; #字段deptno的值只有三个,所以首先将所有数据记录按照这三个值分成三组,然后再显示每组中的一条记录。

10.分组数据查询——实现统计功能分组查询

SELECT deptno, GROUP_CONCAT(ename) enames, COUNT(ename) number

  FROM t_employee

  GROUP BY deptno;

10.分组数据查询——实现多个字段分组查询

SELECT deptno,hiredate, GROUP_CONCAT(ename) enames, COUNT(ename)

    FROM t_employee

    GROUP BY deptno,hiredate;

11.分组数据查询——实现HAVING子句限定分组查询

SELECT deptno, AVG(sal) average, GROUP_CONCAT(ename) enames, COUNT(ename) number

    FROM t_employee

    GROUP BY deptno

    HAVING AVG(sal)>2000;

上述语句,不仅通过统计函数AVG()获得每个部门的平均工资,还通过函数GROUP_CONCAT显示出每个部门的雇员名和通过函数COUNT()统计出每个部门雇员人数。最后通过关键字HAVING进行条件的限制。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息