两张表的关联Like条件查询

    当遇到两张表的关联需要用到两个字段的Like查询时,可以这么做:

    oracle:

   select count(*) from t1,t2 where t1.col1 like '%' ||t2.col||'%';(任意位置匹配)

     同理可有只匹配前或后的

   select count(*) from t1,t2 where t1.col1 like t2.col||'%';

   select count(*) from t1,t2 where t1.col1 like '%'||t2.col;


LambdaQueryWrapper是MyBatis-Plus中的一个查询构造器,用于构建复杂的查询条件。它可以实现多关联查询,通过使用其提供的方法来添加关联条件。 要实现多关联查询,可以按照以下步骤进行操作: 1. 创建LambdaQueryWrapper对象:使用Wrappers类的lambdaQuery方法创建一个LambdaQueryWrapper对象。 2. 添加主查询条件:使用LambdaQueryWrapper的方法,如eq、like、between等,来添加主查询条件。 3. 添加关联查询条件:使用LambdaQueryWrapper的方法,如eq、like、between等,来添加关联查询条件。 4. 添加关联关系:使用LambdaQueryWrapper的方法,如leftJoin、innerJoin、rightJoin等,来指定关联关系。 5. 执行查询:使用baseMapper的selectList方法执行查询,并传入LambdaQueryWrapper对象。 下面是一个示例代码,演示了如何使用LambdaQueryWrapper实现多关联查询: ```java public List<User> userList() { LambdaQueryWrapper<User> wrapper = Wrappers.lambdaQuery(); wrapper.like(User::getName, "张"); LambdaQueryWrapper<Order> orderWrapper = Wrappers.lambdaQuery(); orderWrapper.like(Order::getOrderNo, "2020"); wrapper.inSql(User::getId, "SELECT user_id FROM order WHERE order_no LIKE '2020%'"); wrapper.apply("user.id = order.user_id"); return this.baseMapper.selectList(wrapper); } ``` 在上述示例中,我们创建了两个LambdaQueryWrapper对象,分别用于User和Order查询条件。 然后,我们使用like方法添加了User查询条件,使用like方法添加了Order查询条件。接着,我们使用inSql方法添加了一个子查询条件。 最后,我们使用apply方法添加了关联条件,指定了User和Order之间的关联关系。 通过执行selectList方法,我们可以获取到满足条件的User列。 希望以上信息能够帮助到您。如果您还有任何疑问,请随时提问。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值