java两个联表查询中使用伪表

本文介绍了如何在Java中使用SQL伪表进行联表查询,结合UNION ALL操作从两个不同的联查结果集中筛选指定条件的数据。示例代码展示了如何根据用户ID和状态获取好友信息,并通过CONCAT函数匹配用户名和电话号码,同时进行了分页处理。这个技巧对于处理多条件查询和合并结果集非常实用。
摘要由CSDN通过智能技术生成

记录日常

java伪表的使用。

比如现在你用了两个联表查询后,需要在两个的结果中获取你指定的结果,
就可以这样写
select * from{
这里写联表查询片段

UNION ALL
另一个联表查询

} A

写你的条件

上代码,可以看的跟详细点,

SELECT A.ID, A.APPLY_ID, A.ADD_TIME,A.APPLY_TIME, A.username, A.phone FROM ( SELECT f.ID, f.APPLY_ID, f.ADD_TIME, f.APPLY_TIME, u.username, u.phone FROM friend f INNER JOIN USER u ON f.BYAPPLY_ID = u.uid WHERE f.BYAPPLY_ID = #{uid} AND f.FRIEND_STATUS = 10 UNION ALL SELECT f.ID, f.BYAPPLY_ID AS APPLY_ID, f.ADD_TIME, f.APPLY_TIME, u.username, u.phone FROM friend f INNER JOIN USER u ON f.BYAPPLY_ID = u.uid WHERE f.APPLY_ID = #{uid} AND f.FRIEND_STATUS = 10 ) A AND A.phone LIKE CONCAT('%',#{phone},'%') AND A.username LIKE CONCAT('%',#{username},'%') LIMIT #{page},#{size}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值