子查询 #
原理 #
DBPlusEngine 支持部分子查询,当子查询和外层查询同时指定分片键,且分片键的值能够路由到同一分片时,能够支持子查询。
SELECT * FROM (SELECT * FROM t_order WHERE order_id = 1) o WHERE o.order_id = 1;
此外,DBPlusEngine 可以支持用于分页的子查询。
SELECT * FROM (SELECT row_.*, rownum rownum_ FROM (SELECT * FROM t_order) row_ WHERE rownum <= ?) WHERE rownum > ?;
说明:对于不满足条件的情况,ShardingSphere 能执行但是结果错误。