{hidden}
DO NOT EDIT THE CONTENT OF THIS PAGE DIRECTLY, UNLESS YOU KNOW WHAT YOU'RE DOING.
		THE STRUCTURE OF THE CONTENT IS VITAL IN BEING ABLE TO EXTRACT CHANGES FROM THE PAGE AND MERGE THEM BACK INTO SERVOY SOURCE{hidden}
{sub-section:description|text=}{sub-section}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Property Summary{th}{tr}{tbody}{tr}{td}[QBLogicalCondition]{td}{td}[#and]
Create an AND\-condition to add conditions to.{td}{tr}{tbody}{tbody}{tr}{td}[QBColumns]{td}{td}[#columns]
Get columns from query{td}{tr}{tbody}{tbody}{tr}{td}[QBFunctions]{td}{td}[#functions]
Get the functions clause from a query, used for functions that are not tied to a column.{td}{tr}{tbody}{tbody}{tr}{td}[QBGroupBy]{td}{td}[#groupBy]
Get the group by clause from a query{td}{tr}{tbody}{tbody}{tr}{td}[QBLogicalCondition]{td}{td}[#having]
Get the having\-part of the query, used to add conditions.{td}{tr}{tbody}{tbody}{tr}{td}[QBJoins]{td}{td}[#joins]
Get the joins clause of this table based clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBLogicalCondition]{td}{td}[#or]
Create an OR\-condition to add conditions to.{td}{tr}{tbody}{tbody}{tr}{td}[QBParameters]{td}{td}[#params]
Get the named parameters from a query.{td}{tr}{tbody}{tbody}{tr}{td}[QBTableClause]{td}{td}[#parent]
Get query builder parent table clause, this may be a query or a join clause.{td}{tr}{tbody}{tbody}{tr}{td}[QBResult]{td}{td}[#result]
Get the result part of the query, used to add result columns or values.{td}{tr}{tbody}{tbody}{tr}{td}[QBSelect]{td}{td}[#root]
Get query builder parent.{td}{tr}{tbody}{tbody}{tr}{td}[QBSorts]{td}{td}[#sort]
Get the sorting part of the query.{td}{tr}{tbody}{tbody}{tr}{td}[QBWhereCondition]{td}{td}[#where]
Get the where\-part of the query, used to add conditions.{td}{tr}{tbody}{table}\\ 

{table:id=|class=servoy sSummary}{colgroup}{column:width=80px|padding=0px}{column}{column}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=2}Method Summary{th}{tr}{tbody}{tr}{td}[QBSelect]{td}{td}[#clearHaving]\()
Clear the having\-part of the query.{td}{tr}{tbody}{tbody}{tr}{td}[QBCondition]{td}{td}[#exists]\()
Get an exists\-condition from a subquery{td}{tr}{tbody}{tbody}{tr}{td}[QBColumn]{td}{td}[#getColumn]\(name)
Get a column from the table.{td}{tr}{tbody}{tbody}{tr}{td}[QBColumn]{td}{td}[#getColumn]\(columnTableAlias, name)
Get a column from the table with given alias.{td}{tr}{tbody}{tbody}{tr}{td}[QBParameter]{td}{td}[#getParameter]\()
Get or create a parameter for the query, this used to parameterize queries.{td}{tr}{tbody}{tbody}{tr}{td}[QBCondition]{td}{td}[#not]\(cond)
Create an negated condition.{td}{tr}{tbody}{tbody}{tr}{td}[QBCondition]{td}{td}[#not]\(cond)
Create an negated condition.{td}{tr}{tbody}{table}\\ 

{table:id=property|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Property Details{th}{tr}{tbody:id=and|class=node}{tr:id=name}{td}h6.and{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:and_des|trigger=button|text=}{sub-section}{sub-section:and_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:and_snc|trigger=button|text=}{sub-section}{sub-section:and_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:and_prs|trigger=button|text=}{sub-section}{sub-section:and_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:and_ret|trigger=button|text=}{sub-section}{sub-section:and_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:and_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:and_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:and_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:and_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:and_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:and_sam|trigger=none}{code:language=javascript}
query.where.add(
	  query.or
	    .add(
	      query.and
		    .add(query.columns.flag.eq(1))
	    .add(query.columns.order_date.isNull)
		 )
	    .add(
	      query.and
	        .add(query.columns.flag.eq(2))
	        .add(query.column.order_date.gt(new Date()))
	     )
	);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=columns|class=node}{tr:id=name}{td}h6.columns{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:columns_des|trigger=button|text=}{sub-section}{sub-section:columns_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:columns_snc|trigger=button|text=}{sub-section}{sub-section:columns_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:columns_prs|trigger=button|text=}{sub-section}{sub-section:columns_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:columns_ret|trigger=button|text=}{sub-section}{sub-section:columns_ret|trigger=none|class=sIndent}[QBColumns]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:columns_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:columns_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:columns_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:columns_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:columns_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:columns_sam|trigger=none}{code:language=javascript}
foundset.getQuery().columns
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=functions|class=node}{tr:id=name}{td}h6.functions{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:functions_des|trigger=button|text=}{sub-section}{sub-section:functions_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:functions_snc|trigger=button|text=}{sub-section}{sub-section:functions_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:functions_prs|trigger=button|text=}{sub-section}{sub-section:functions_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:functions_ret|trigger=button|text=}{sub-section}{sub-section:functions_ret|trigger=none|class=sIndent}[QBFunctions]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:functions_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:functions_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:functions_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:functions_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:functions_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:functions_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders') //$NON-NLS-1$
query.where.add(query.columns.shipname.upper.eq(query.functions.upper('servoy'))) //$NON-NLS-1$
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=groupBy|class=node}{tr:id=name}{td}h6.groupBy{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:groupBy_des|trigger=button|text=}{sub-section}{sub-section:groupBy_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:groupBy_snc|trigger=button|text=}{sub-section}{sub-section:groupBy_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:groupBy_prs|trigger=button|text=}{sub-section}{sub-section:groupBy_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:groupBy_ret|trigger=button|text=}{sub-section}{sub-section:groupBy_ret|trigger=none|class=sIndent}[QBGroupBy]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:groupBy_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:groupBy_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:groupBy_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:groupBy_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:groupBy_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:groupBy_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=having|class=node}{tr:id=name}{td}h6.having{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:having_des|trigger=button|text=}{sub-section}{sub-section:having_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:having_snc|trigger=button|text=}{sub-section}{sub-section:having_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:having_prs|trigger=button|text=}{sub-section}{sub-section:having_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:having_ret|trigger=button|text=}{sub-section}{sub-section:having_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:having_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:having_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:having_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:having_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:having_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:having_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.groupBy.addPk() // have to group by on pk when using having-conditions in (foundset) pk queries
.root.having.add(query.joins.orders_to_order_details.columns.quantity.count.eq(0))
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=joins|class=node}{tr:id=name}{td}h6.joins{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:joins_des|trigger=button|text=}{sub-section}{sub-section:joins_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:joins_snc|trigger=button|text=}{sub-section}{sub-section:joins_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:joins_prs|trigger=button|text=}{sub-section}{sub-section:joins_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:joins_ret|trigger=button|text=}{sub-section}{sub-section:joins_ret|trigger=none|class=sIndent}[QBJoins]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:joins_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:joins_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:joins_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:joins_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:joins_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:joins_sam|trigger=none}{code:language=javascript}
foundset.getQuery().joins
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=or|class=node}{tr:id=name}{td}h6.or{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:or_des|trigger=button|text=}{sub-section}{sub-section:or_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:or_snc|trigger=button|text=}{sub-section}{sub-section:or_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:or_prs|trigger=button|text=}{sub-section}{sub-section:or_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:or_ret|trigger=button|text=}{sub-section}{sub-section:or_ret|trigger=none|class=sIndent}[QBLogicalCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:or_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:or_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:or_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:or_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:or_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:or_sam|trigger=none}{code:language=javascript}
query.where.add(
	  query.or
	    .add(
	      query.and
		    .add(query.columns.flag.eq(1))
	    .add(query.columns.order_date.isNull)
		 )
	    .add(
	      query.and
	        .add(query.columns.flag.eq(2))
	        .add(query.column.order_date.gt(new Date()))
	     )
	);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=params|class=node}{tr:id=name}{td}h6.params{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:params_des|trigger=button|text=}{sub-section}{sub-section:params_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:params_snc|trigger=button|text=}{sub-section}{sub-section:params_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:params_prs|trigger=button|text=}{sub-section}{sub-section:params_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:params_ret|trigger=button|text=}{sub-section}{sub-section:params_ret|trigger=none|class=sIndent}[QBParameters]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:params_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:params_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:params_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:params_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:params_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:params_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
	query.where.add(query.columns.contact_id.eq(query.getParameter('mycontactid')))
	
	// load orders where contact_id = 100
	query.params['mycontactid'] = 100
	foundset.loadRecords(query)
	
	// load orders where contact_id = 200
	query.params['mycontactid'] = 200
	foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=parent|class=node}{tr:id=name}{td}h6.parent{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:parent_des|trigger=button|text=}{sub-section}{sub-section:parent_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:parent_snc|trigger=button|text=}{sub-section}{sub-section:parent_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:parent_prs|trigger=button|text=}{sub-section}{sub-section:parent_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:parent_ret|trigger=button|text=}{sub-section}{sub-section:parent_ret|trigger=none|class=sIndent}[QBTableClause]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:parent_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parent_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:parent_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parent_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:parent_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:parent_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/person>} */
	var query = databaseManager.createSelect('db:/example_data/person')
	query.where.add(query.joins.person_to_parent.joins.person_to_parent.columns.name.eq('john'))
	foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=result|class=node}{tr:id=name}{td}h6.result{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:result_des|trigger=button|text=}{sub-section}{sub-section:result_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:result_snc|trigger=button|text=}{sub-section}{sub-section:result_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:result_prs|trigger=button|text=}{sub-section}{sub-section:result_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:result_ret|trigger=button|text=}{sub-section}{sub-section:result_ret|trigger=none|class=sIndent}[QBResult]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:result_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:result_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:result_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:result_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:result_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:result_sam|trigger=none}{code:language=javascript}
query.result.add(query.columns.company_id).add(query.columns.customerid)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=root|class=node}{tr:id=name}{td}h6.root{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:root_des|trigger=button|text=}{sub-section}{sub-section:root_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:root_snc|trigger=button|text=}{sub-section}{sub-section:root_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:root_prs|trigger=button|text=}{sub-section}{sub-section:root_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:root_ret|trigger=button|text=}{sub-section}{sub-section:root_ret|trigger=none|class=sIndent}[QBSelect]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:root_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:root_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:root_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:root_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:root_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:root_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/order_details>} */
	var subquery = databaseManager.createSelect('db:/example_data/order_details')
	
 /** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
	query.where.add(query
		.or 
			.add(query.columns.order_id.not.isin([1, 2, 3]))
			
			.add(query.exists(
					subquery.where.add(subquery.columns.orderid.eq(query.columns.order_id)).root
			))
		)
		
	foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=sort|class=node}{tr:id=name}{td}h6.sort{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:sort_des|trigger=button|text=}{sub-section}{sub-section:sort_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:sort_snc|trigger=button|text=}{sub-section}{sub-section:sort_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:sort_prs|trigger=button|text=}{sub-section}{sub-section:sort_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:sort_ret|trigger=button|text=}{sub-section}{sub-section:sort_ret|trigger=none|class=sIndent}[QBSorts]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:sort_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sort_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:sort_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sort_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:sort_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:sort_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
var query = databaseManager.createSelect('db:/example_data/orders')
query.sort
.add(query.joins.orders_to_order_details.columns.quantity.desc)
.add(query.columns.companyid)
foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=where|class=node}{tr:id=name}{td}h6.where{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:where_des|trigger=button|text=}{sub-section}{sub-section:where_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:where_snc|trigger=button|text=}{sub-section}{sub-section:where_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:where_prs|trigger=button|text=}{sub-section}{sub-section:where_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:where_ret|trigger=button|text=}{sub-section}{sub-section:where_ret|trigger=none|class=sIndent}[QBWhereCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:where_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:where_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:where_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:where_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:where_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:where_sam|trigger=none}{code:language=javascript}
var query = foundset.getQuery()
query.where.add(query.columns.flag.eq(1))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}\\ 

{table:id=function|class=servoy sDetail}{colgroup}{column:width=100%|padding=0px}{column}{colgroup}{tr:style=height: 30px;}{th:colspan=1}Method Details{th}{tr}{tbody:id=clearHaving|class=node}{tr:id=name}{td}h6.clearHaving{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBSelect]{span}{span:id=iets|style=float: left; font-weight: bold;}clearHaving{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:clearHaving_des|trigger=button|text=}{sub-section}{sub-section:clearHaving_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:clearHaving_snc|trigger=button|text=}{sub-section}{sub-section:clearHaving_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:clearHaving_prs|trigger=button|text=}{sub-section}{sub-section:clearHaving_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:clearHaving_ret|trigger=button|text=}{sub-section}{sub-section:clearHaving_ret|trigger=none|class=sIndent}[QBSelect]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:clearHaving_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:clearHaving_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:clearHaving_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:clearHaving_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:clearHaving_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:clearHaving_sam|trigger=none}{code:language=javascript}
var q = foundset.getQuery()
q.where.add(q.columns.x.eq(100))
query.groupBy.clear.root.clearHaving()
foundset.loadRecords(q);
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=exists|class=node}{tr:id=name}{td}h6.exists{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBCondition]{span}{span:id=iets|style=float: left; font-weight: bold;}exists{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:exists_des|trigger=button|text=}{sub-section}{sub-section:exists_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:exists_snc|trigger=button|text=}{sub-section}{sub-section:exists_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:exists_prs|trigger=button|text=}{sub-section}{sub-section:exists_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:exists_ret|trigger=button|text=}{sub-section}{sub-section:exists_ret|trigger=none|class=sIndent}[QBCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:exists_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:exists_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:exists_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:exists_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:exists_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:exists_sam|trigger=none}{code:language=javascript}
foundset.query.where.add(query.exists(query2))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getColumn-String|class=node}{tr:id=name}{td}h6.getColumn{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBColumn]{span}{span:id=iets|style=float: left; font-weight: bold;}getColumn{span}{span:id=iets|style=float: left;}\(name){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getColumn-String_des|trigger=button|text=}{sub-section}{sub-section:getColumn-String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getColumn-String_snc|trigger=button|text=}{sub-section}{sub-section:getColumn-String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getColumn-String_prs|trigger=button|text=}{sub-section}{sub-section:getColumn-String_prs|trigger=none|class=sIndent}\{[String]} name -- the name of column to get
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getColumn-String_ret|trigger=button|text=}{sub-section}{sub-section:getColumn-String_ret|trigger=none|class=sIndent}[QBColumn]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getColumn-String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getColumn-String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getColumn-String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_sam|trigger=none}{code:language=javascript}
foundset.getQuery().getColumn('orderid')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getColumn-String_String|class=node}{tr:id=name}{td}h6.getColumn{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBColumn]{span}{span:id=iets|style=float: left; font-weight: bold;}getColumn{span}{span:id=iets|style=float: left;}\(columnTableAlias, name){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getColumn-String_String_des|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getColumn-String_String_snc|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:getColumn-String_String_prs|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_prs|trigger=none|class=sIndent}\{[String]} columnTableAlias -- the alias for the table
\{[String]} name -- the name of column to get
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:getColumn-String_String_ret|trigger=button|text=}{sub-section}{sub-section:getColumn-String_String_ret|trigger=none|class=sIndent}[QBColumn]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getColumn-String_String_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getColumn-String_String_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getColumn-String_String_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getColumn-String_String_sam|trigger=none}{code:language=javascript}
foundset.getQuery().getColumn('orderid', 'opk')
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=getParameter|class=node}{tr:id=name}{td}h6.getParameter{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBParameter]{span}{span:id=iets|style=float: left; font-weight: bold;}getParameter{span}{span:id=iets|style=float: left;}\(){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:getParameter_des|trigger=button|text=}{sub-section}{sub-section:getParameter_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:getParameter_snc|trigger=button|text=}{sub-section}{sub-section:getParameter_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=prs}{td}*Parameters*\\{sub-section:getParameter_prs|trigger=button|text=}{sub-section}{sub-section:getParameter_prs|trigger=none|class=sIndent}{sub-section}{td}{tr}{builder-show}{tr:id=ret}{td}*Returns*\\{sub-section:getParameter_ret|trigger=button|text=}{sub-section}{sub-section:getParameter_ret|trigger=none|class=sIndent}[QBParameter]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:getParameter_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:getParameter_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:getParameter_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:getParameter_sam|trigger=none}{code:language=javascript}
/** @type {QBSelect<db:/example_data/orders>} */
	var query = databaseManager.createSelect('db:/example_data/orders')
	query.where.add(query.columns.contact_id.eq(query.getParameter('mycontactid')))
	
	// load orders where contact_id = 100
	query.params['mycontactid'] = 100
	foundset.loadRecords(query)
	
	// load orders where contact_id = 200
	query.params['mycontactid'] = 200
	foundset.loadRecords(query)
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=not-QBCondition|class=node}{tr:id=name}{td}h6.not{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBCondition]{span}{span:id=iets|style=float: left; font-weight: bold;}not{span}{span:id=iets|style=float: left;}\(cond){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:not-QBCondition_des|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:not-QBCondition_snc|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:not-QBCondition_prs|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_prs|trigger=none|class=sIndent}\{[QBCondition]} cond -- the condition to negate
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:not-QBCondition_ret|trigger=button|text=}{sub-section}{sub-section:not-QBCondition_ret|trigger=none|class=sIndent}[QBCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:not-QBCondition_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBCondition_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:not-QBCondition_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBCondition_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:not-QBCondition_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBCondition_sam|trigger=none}{code:language=javascript}
foundset.query.where.add(query.not(query.columns.flag.eq(1)))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{tbody:id=not-QBLogicalCondition|class=node}{tr:id=name}{td}h6.not{td}{tr}{tr:id=sig}{td}{span:style=float: left; margin-right: 5px;}[QBCondition]{span}{span:id=iets|style=float: left; font-weight: bold;}not{span}{span:id=iets|style=float: left;}\(cond){span}{td}{tr}{builder-show:permission=edit}{tr:id=des}{td}{sub-section:not-QBLogicalCondition_des|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_des|trigger=none|class=sIndent}Replace with description{sub-section}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=snc}{td}*Since*\\{sub-section:not-QBLogicalCondition_snc|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_snc|trigger=none|class=sIndent} Replace with version info{sub-section}{td}{tr}{builder-show}{tr:id=prs}{td}*Parameters*\\{sub-section:not-QBLogicalCondition_prs|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_prs|trigger=none|class=sIndent}\{[QBLogicalCondition]} cond -- the logical condition to negate
{sub-section}{td}{tr}{tr:id=ret}{td}*Returns*\\{sub-section:not-QBLogicalCondition_ret|trigger=button|text=}{sub-section}{sub-section:not-QBLogicalCondition_ret|trigger=none|class=sIndent}[QBCondition]{sub-section}{td}{tr}{builder-show:permission=edit}{tr:id=see}{td}*Also see*\\{sub-section:not-QBLogicalCondition_see|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_see|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{builder-show:permission=edit}{tr:id=link}{td}*External links*\\{sub-section:not-QBLogicalCondition_link|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_link|trigger=none}{sub-section}{div}{td}{tr}{builder-show}{tr:id=sam}{td}*Sample*\\{sub-section:not-QBLogicalCondition_sam|trigger=button|text=}{sub-section}{div:class=sIndent}{sub-section:not-QBLogicalCondition_sam|trigger=none}{code:language=javascript}
foundset.query.where.add(query.not(query.columns.flag.eq(1)))
{code}{sub-section}{div}{td}{tr}{tr:class=lastDetailRow}{td}{td}{tr}{tbody}{table}