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

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进行条件的限制。


















  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值