美文网首页Android面试Android开发Android技术知识
MySQL实战6 分页查询和联合查询

MySQL实战6 分页查询和联合查询

作者: 香沙小熊 | 来源:发表于2019-04-20 21:24 被阅读32次

    MySQL实战 目录

    1.分页查询

      数据记录条数过多的时候,需要分页查询
        语法:
         SELECT 查询字段
         FROM 表名
         WHERE .... 等等前面学过的所有语法
         
         limit offset(开始记录索引,是从0开始的),size(要取出的条数);
    
    案例:查询前5条员工数据
        SELECT *FROM employees LIMIT 0,5;
    
    注意:如果从第一条开始,这个0可以省略:SELECT * FROM employees LIMIT 5;
    案例:查询第11条到第25条
        SELECT *FROM employees LIMIT 10,15;
    
    案例:查询有奖金且工资最高的前10名的员工信息
        SELECT * FROM employees WHERE commission_pct IS NOT NULL
                                 ORDER BY salary DESC LIMIT 10;
    
    分页查询的特点:
     1.limit 语句是位置上要放在比order by 语句的还后面,
     其次中sql执行过程中,limit也是最后去执行的语句。
     2.通用的分页查询写法(page:总页数,size:每页显示的记录条数)
      SELECT 查询列表
        FROM 表名
        LIMIT (page-1)*size,size;
        size=10
        page 和 size  记录范围 和 起始记录索引值 limit
         1       10   1-10条      0           0,10
         2       10   11-20条     0           10,10
         3       10   21-30条     0           20,10
         4       10   31-40条     0           30,10
    

    2.联合查询

         关键字union,作用就是将多余查询语句的结果合并成一个结果集;
    
    案例:查询部门编号大于100或名字中含有a字符的员工信息
             SELECT *FROM employees WHERE department_id >100 OR last_name LIKE '%a%';
         
             SELECT *FROM employees WHERE department_id >100 
             UNION
             SELECT *FROM employees WHERE last_name LIKE '%a%';
    
    案例:查询学校所有男老师和男学生的信息
             SELECT tno 编号 ,tname 名字,tsex 性别 ,tbirthday 出生日期 FROM teachers WHERE tsex='男'
             UNION
             SELECT sno,sname,ssex,sbirthday FROM students WHERE ssex='男';
    
    联合查询的特点:
    1. 联合查询的两个子查询的查询列表要一致
    2. 要求联合查询的子查询的查询列表顺序要在内容上保持一致
    3. 使用'union'联合默认会自动去重,如果不想去重可以将'union'改为'union all'

    相关文章

      网友评论

        本文标题:MySQL实战6 分页查询和联合查询

        本文链接:https://www.haomeiwen.com/subject/zpgcgqtx.html