SQL13: Operador SQL IN

L'operador IN us permet especificar diversos valors en una clàusula WHERE.
L'operador IN és una abreviatura de múltiples condicions OR.


Exemple d'operador IN: 'en matriu'

La següent instrucció SQL selecciona tots els clients que es troben a "Alemanya", "França" o "Regne Unit":

SQL: SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK');
GenQL:
final String[] countries = { "Germany", "France", "UK" }; List<Customers> list; list = getCustomerManager().select(CustomersFields.COUNTRY.in(countries)); print(list);





Exemple d'operador IN: 'en col·lecció'

La següent instrucció SQL selecciona tots els clients que es troben a "Alemanya", "França" o "Regne Unit":

SQL: SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK');
GenQL:
final Set<String> countries = new HashSet<String>(); countries.add("Germany"); countries.add("France"); countries.add("UK"); List<Customers> list; list = getCustomerManager().select(CustomersFields.COUNTRY.in(countries)); print(list);





Exemple d'operador IN: "no dins"

La següent instrucció SQL selecciona tots els clients que no es troben a "Alemanya", "França" o "Regne Unit":

SQL: SELECT * FROM Customers WHERE Country IN ('Germany', 'France', 'UK');
GenQL:
final String[] countries = { "Germany", "France", "UK" }; List<Customers> list; list = getCustomerManager().select(CustomersFields.COUNTRY.notIn(countries)); print(list);





Exemple d'operador IN: "a seleccionar"

La següent instrucció SQL selecciona tots els clients que són dels mateixos països que els proveïdors:

SQL: SELECT * FROM Customers WHERE Country IN (SELECT Country FROM Suppliers);
GenQL:
SubQuery<Suppliers, String> subquery; subquery = getSuppliersManager().getSubQuery(SuppliersFields.COUNTRY, null); List<Customers> list; list = getCustomerManager().select(CustomersFields.COUNTRY.in(subquery)); print(list);