@Override
    public NativeQuerySpec<Record> select(String sql, Object... args) {
        return new NativeQuerySpecImpl<>(this, sql, args, DefaultRecord::new, false);
    }
@Test
    public void testJoinSubQuery() {
        DefaultQueryHelper helper = new DefaultQueryHelper(database);

        database.dml()
                .insert("s_test")
                .value("id", "join_sub")
                .value("name", "join_sub")
                .value("testName", "join_sub")
                .value("age", 31)
                .execute()
                .sync();

        helper
            .select("select * from s_test t1 join (select * from s_test s where name = ? ) t2 on t2.id = t1.id ", "join_sub")
            .fetch()
            .doOnNext(v -> System.out.println(JSON.toJSONString(v, SerializerFeature.PrettyFormat)))
            .as(StepVerifier::create)
            .expectNextCount(1)
            .verifyComplete();
    }