QueryBuilder.addWhereIn( Object, Object[] )
allows queries like
select Person.Age from Person
where Person.Name in ( "Bob", "Joe" )
with code like
QueryBuilder qb = new QueryBuilder();
qb.select( PersonDO.Age );
String[] values = { "Bob", "Joe" };
qb.addWhereIn( PersonDO.Name, values );
or query
select Person.Age from Person
where "Tom" in ( Person.Surname, Person.Nick )
with code
QueryBuilder qb = new QueryBuilder();
qb.select( PersonDO.Age );
RDBColumn[] values = { PersonDO.Surname, PersonDO.Nick };
qb.addWhereIn( "Tom", values );
QueryBuilder.addWhereIn( RDBColumn, QueryBuilder )
allows queries like
select Person.Name from Person where Person.City
in ( select City.oid from City where City.Size > 1000 )
with code like
QueryBuilder mainQuery = new QueryBuilder();
mainQuery.select( PersonDO.Name );
QueryBuilder subQuery = new QueryBuilder();
subQuery.select( CityDO.PrimaryKey );
subQuery.addWhere( CityDO.Size, 1000, QueryBuilder.GREATER_THAN );
mainQuery.addWhereIn( PersonDO.City, subQuery );
QueryBuilder.addWhereNotIn( RDBColumn, QueryBuilder )
allows queries like
select Person.Name from Person where Person.City
not in ( select City.oid from City where City.Size > 1000 )
with code like
QueryBuilder mainQuery = new QueryBuilder();
mainQuery.select( PersonDO.Name );
QueryBuilder subQuery = new QueryBuilder();
subQuery.select( CityDO.PrimaryKey );
subQuery.addWhere( CityDO.Size, 1000, QueryBuilder.GREATER_THAN );
mainQuery.addWhereNotIn( PersonDO.City, subQuery );