Un semplice DB contenente due tabelle potrebbe essere:
CREATE TABLE Stock ( StockID INT StockDesc VARCHAR SupplierID INT PRIMARY KEY (StockID) FOREIGN KEY (SupplierID) REFERENCES Supplier(SupplierID))
CREATE TABLE Supplier ( SupplierID INT SupplierName VARCHAR PRIMARY KEY (SupplierID) )
(Supponiamo che ogni stockID abbia un solo fornitore)
Una tipica query SQL potrebbe essere:
SELECT StockID, StockDesc FROM Stock, Supplier WHERE Stock.SupplierID = Supplier.SupplierID AND SupplierName = "Smiths";
La mia comprensione fondamentale del design del database mi mette in guardia sul fatto che ho già stabilito che esiste una relazione tra le tabelle STOCK e SUPPLIER tramite il DDL. Perché SQL ha bisogno di riformulare nuovamente tale fatto nella prima clausola WHERE?