SQL16: Paraula clau SQL INNER JOIN
La paraula clau INNER JOIN selecciona registres que tenen valors coincidents a les dues taules.
Exemple de SQL INNER JOIN
La següent instrucció SQL selecciona totes les comandes amb informació del client:
SQL:
SELECT Orders.OrderID, Customers.CustomerName
FROM Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID;
GenQL:
Select2Columns<Long, String> s2c;
s2c = new Select2Columns<Long, String>(OrdersFields.ORDERID.select, new OrdersQueryPath().CUSTOMERS().CUSTOMERNAME().select);
List<Select2Values<Long, String>> list;
list = getOrdersManager().executeQuery(s2c);
print(list, OrdersFields.ORDERID.javaName, CustomersFields.CUSTOMERNAME.javaName);
UNEIX-TE a tres taules
La següent instrucció SQL selecciona totes les comandes amb informació del client i del transportista:
SQL:
SELECT Orders.OrderID, Customers.CustomerName, Shippers.ShipperName
FROM ((Orders
INNER JOIN Customers ON Orders.CustomerID = Customers.CustomerID)
INNER JOIN Shippers ON Orders.ShipperID = Shippers.ShipperID);
GenQL:
Select3Columns<Long, Long, Long> s3c;
s3c = new Select3Columns<Long, Long, Long>(OrdersFields.ORDERID.select, new OrdersQueryPath().CUSTOMERS().CUSTOMERID().select, new OrdersQueryPath().SHIPPERID().select);
List<Select3Values<Long, Long, Long>> list;
list = getOrdersManager().executeQuery(s3c);
print(list, OrdersFields.ORDERID.javaName, CustomersFields.CUSTOMERID.javaName, ShippersFields.SHIPPERID.javaName);