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: