union合并查询结果集和limit

本文介绍了SQL中的union操作用于合并查询结果集,强调了其效率优势,以及limit用于分页查询的用法,包括起始位置和长度设置,以及在MySQL中limit的执行顺序。
摘要由CSDN通过智能技术生成

目录

一、union合并查询结果集

二、limit


一、union合并查询结果集

案例:查询工作岗位是MANAGER和SALESMAN的员工?

        select ename, job from emp where job = 'MANAGER'

        union

        select ename,job from emp where job = 'SALESMAN';

        union的效率要高一些。对于表连接来说,每连接一次新表,则匹配的次数满足笛卡尔积,成倍的翻。但是union可以减少匹配的次数。在减少匹配次数的情况下,还可以完成两个结果集的拼接。(union把乘法变成了加法运算)

注意:

        union在进行结果集合并的时候,要求两个结果集的列数相同。

        结果集合并时列和列的数据类型也要一致

二、limit

        1、limit是将查询结果集的一部分取出来,通常使用在分页查询当中。

        分页的作用是为了提高用户的体验,因为一次全部都查出来,用户体验差。可以一页一页翻页看。

        2、limit怎么用

        完整用法:limit startIndex, length        

        startIndex是起始下标,length是长度。起始下标从0开始。

        缺省用法:limit5;这是取前5.

        按照薪资降序,取出排名在前5名的员工

                select ename,sal from emp order by sal desc limit 5;

        3、注意:mysql当中limit在order by之后执行!!!!!!

        4、取出工资排名在[3-5]名的员工?

                select

                        ename , sal

                from

                        emp

                order by

                        sal desc

                limit

                        2,3;

        分页:每页显示pagesize条记录

                第pageNo页:limit (pageNo - 1 ) *  pageSize , pagesize

public static void main (string[] args){
// 用户提交过来一个页码,以及每页显示的记录条数
    int pageNo=5;//第5页
    int pagesize =10;//每页显示10条
    int startIndex = (pageNo - 1) * pageSize;
    Striag sql = "select ...limit " + startIndex + ", " + pageSize;
}

        记公式:limit (pageNo-1)*pagesize , pagesize

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机器人spider

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值