• 数据库(二)


    分页查询 limit
    格式: limit 跳过的条数,请求的条数(每页的条数)
     跳过的条数=(请求的页数-1)*每页的条数
     举例:
       ○ 第1页的5条数据                  limit  0,5
       ○ 第2页的5条数据                  limit  5,5
       ○ 第3页的5条数据                  limit  10,5
       ○ 第4页的10条数据                limit   30,10
       ○ 第8页的7条数据                 limit  49,7
       ○ 第3页的9条数据                  limit 18,9
    - 查询id,姓名,工资和工作,按照工资升序排序 请求第1页的5条数据

       select id,name,sal,job from emp order by sal limit 0,5;

    - 查询所有员工的姓名和工资,按照工资升序排序,请求第2页的5条数据

       select name,sal from emp order by sal  limit 5,5;

    - 查询工资最高的员工信息  

     select * from emp order by sal desc limit 0,1;

    - 按照入职日期排序 查询第2页的3条数据

       select * from emp order by hiredate limit 3,3;

    - 按照工资升序排序查询第3页的2条数据      

       select * from emp order by sal limit 4,2;

    别名

    select name as '姓名' from emp;

    select name '姓名' from emp;

    select name 姓名 from emp;

    综合练习题

    1. 查询员工表中 3 号部门工资高于 1500 的员工信息

       select * from emp where dept_id=3 and sal>1500;

    2. 查询 2 号部门员工或者没有领导的员工信息

       select * from emp where dept_id=2 or manager is null;

    3. 查询有领导的员工姓名,工资按照工资降序排序

       select name,sal from emp where manager is not null order by sal desc;

    4. 查询 2 号和 3 号部门的员工姓名和入职日期 hiredate 按照入职日期降序排序

       select name,hiredate from emp where dept_id in(2,3) order by hiredate desc;

    5. 查询名字中包含僧和包含精的员工姓名

       select name from emp where name like "%僧%" or name like "%精%";

    6. 查询工资高于 2000 的工作有哪几种? 

       select distinct job from emp where sal>2000;

    7. 查询工资升序第 4 页的 2 条数据

       select * from emp order by sal limit 6,2;

    聚合函数

    - 可以对查询的多条数据进行统计查询, 统计方式包括:求平均值,求最大值,求最小值,求和,计数

    1. 平均值avg(字段名)

       - 查询1号部门的平均工资 

      select avg(sal) from emp where dept_id=1;

    2. 最大值max(字段名)

       - 查询2号部门的最高工资

         select max(sal) from emp where dept_id=2;

    3. 最小值min(字段名)

       - 查询2号部门的最低工资

         select min(sal) from emp where dept_id=2;

    4. 求和sum(字段名)

       - 查询3号部门的工资总和

         select sum(sal) from emp where dept_id=3;

    5. 计数count(*)

       - 查询1号部门的人数

         select count(*) from emp where dept_id=1;

    聚合函数练习题:

    1. 查询销售的平均工资

       select avg(sal) from emp where job='销售';

    2. 查询程序员的最高工资

       select max(sal) from emp where job='程序员';

    3. 查询名字中包含精的人数

      select count(*) from emp where name like "%精%";

    4. 查询和销售相关的工作,工资总和是多少

       select sum(sal) from emp where job  like "%销售%";

    5. 查询2号部门的最高工资和 最低工资 起别名

       select max(sal) 最高工资,min(sal) 最低工资 from emp where dept_id=2;

    分组查询 

    - 可以将某个字段相同值的数据划分为一组, 然后以组为单位进行统计查询
      1. 查询每个部门的平均工资

      select dept_id,avg(sal) from emp group by dept_id;

      2. 查询每个部门的人数

         select dept_id,count(*) from emp group by dept_id;

      3. 查询每种工作的人数 

         select job,count(*) from emp group by job;

      4. 查询每个部门工资高于 2000 的人数

    ​     select dept_id,count(*) from emp where sal>2000 group by dept_id;

    5. 查询 1 号部门和 2 号部门的人数

       select dept_id,count(*) from emp where dept_id in(1,2) group by dept_id;

    6. 查询平均工资最高的部门 id 和平均工资

    1. select dept_id,avg(sal) from emp group by dept_id order by avg(sal) desc limit 0,1;
    2. select dept_id,avg(sal) a from emp group by dept_id order by a desc limit 0,1;

  • 相关阅读:
    【C++学习】基础1
    R语言dist函数计算dataframe数据中两两样本之间的距离返回样本间距离矩阵,通过method参数指定距离计算的方法、例如欧几里得距离
    华为gre带验证key案例
    asp.net+sqlserver固定资产管理系统系统c#项目
    tf.lite
    【红日靶场】vulnstack4-完整渗透过程
    Three.js 实现3D开放世界小游戏:阿狸的多元宇宙 🦊
    FS9401符合 Qi 标准的 5W无线充电接收IC
    MATLAB图像处理入门
    入门:树莓派装系统、亮机,无需外接显示器键盘鼠标(保姆级教程)
  • 原文地址:https://blog.csdn.net/weixin_48100716/article/details/126698878