Voer nu een join op de twee tafels, zonder voorwaarde opgegeven 00 sec) Als u kunt zien, is elke rij van T1 in combinatie met elke rij van T2. Drie rijen in elke tabel produceren sluiten, resulterend in een totaal van negen paren platen. Dit staat bekend als een Cartesiaans product, en het is zelden het resultaat dat u zou willen van een query. Merk op hoe de SELECT * notatie in de vorige Zo veroorzaakt elke kolom van beide tabellen worden geretourneerd. Daardoor twee kolommen genaamd id en twee genoemde letter geretourneerd. Deze kolommen behoren tot de tabellen in de aangegeven volgorde in de FROM-component. Het totale aantal rijen geretourneerd is het product van het aantal rijen in elke tabel. Je kunt je voorstellen hoe groot de resulterende set data kan groeien wanneer het individu tabellen bevatten een groot aantal rijen zichzelf. Een Cartesiaans product is ook wel bekend als een kruis aan te sluiten. een WHERE voorwaarde om dit mee instrueert MySQL te filteren uit de paren records waarvoor er geen relatie tussen de data toevoegen. Dit is het grootste deel van de rijen die worden geretourneerd in een Cartesiaans product. Uitgaande van een relatie tussen de kolom id in elke tabel, de join dan het volgende resultaat: Neem een moment om terug te kijken naar het resultaat van de cartesiaanse product, en je zult zien dat de drie rijen geretourneerd door de vorige voorbeeld verschijnen, maar de andere rijen zijn weggegooid. mysql> SELECT * -> UIT T1, T2; + ---- + -------- + ---- + -------- + | id | brief | id | brief | + ---- ---- + --- + ---- + -------- + | 1 | A | 1 | X || 2 | B | 1 | X || 3 | C | 1 | X || 1 | A | 2 | Y || 2 | B | 2 | Y || 3 | C | 2 | Y || 1 | A | 3 | Z || 2 | B | 3 | Z || 3 | C | 3 | Z | + ---- + -------- + ---- + -------- + 9 rijen in set (0.
SELECT *
Cross sluit zich aan bij
mysql> SELECT * -> UIT T1, T2 -> WAAR t1.id = t2.id; + --- - + -------- + ---- + -------- + | id | brief | id | brief | + ---- + -------- + ---- + -------- + | 1 | A | 1 | X || 2 | B | 2 | Y || 3 | C | 3 | Z | + ---- + -------- + ---- + -------- + 3 rijen in set (0.00 sec)
Doe So