Kuten voi nähdä, kukin rivi t1 yhdistetään kukin rivi T2. Kolme riviä kussakin taulukossa tuottaa liittyä, jolloin yhteensä yhdeksän paria kirjaa. Tätä kutsutaan karteesinen tulo, ja se on harvoin seurausta mitä haluaisi kyselyn.
Huomaa, kuinka SELECT * merkintä edellisessä Esimerkiksi aiheutti jokainen sarake sekä taulukoita palautetaan.
Tämän seurauksena kaksi saraketta nimeltä id ja kaksi nimeltä kirjain palautettiin. Nämä sarakkeet kuuluvat taulukot järjestyksessä lausekkeesta.
kokonaismäärä rivien palautettu on tuote rivien kussakin taulukossa. Voitte kuvitella kuinka suuri tuloksena datasarja voi kasvaa, kun yksittäisiä taulukoita sisältävät paljon rivejä itse.
karteesinen tulo on joskus kutsutaan risti liittyä.
lisääminen WHERE ehto tähän liittyä käskee MySQL suodattaa pois paria kirjaa, jolle ei ole mitään suhdetta tiedot.
Tämä on suurin rivien, jotka palautetaan karteesinen tulo. Olettaen suhde id sarakkeen kunkin taulukon, liittyä sitten tuottaa seuraavan tuloksen:
mysql> SELECT * -> t1, t2 -> jossa t1.id = t2.id; + --- - + -------- + ---- + -------- + | id | kirje | id | kirje | + ---- + -------- + ---- + -------- + | 1 | | 1 | X || 2 | B | 2 | Y || 3 | C | 3 | Z | + ---- + -------- + ---- + -------- + 3 krs setti (0,00 sek)
Ota hetki muistella tulos karteesinen tulo, ja näet, että kolme riviä palauttaa edellisen esimerkin näkyviin, mutta muut rivit on hylätty.
Liity Tyypit
liittymään, johon tila, jossa sarakkeet kahdessa taulukossa on määritelty tasavertaisina tunnetaan equijoin tai sisempi liittyä. Opit muunlaisia yhtyy Oppitunti 12, "rel =" nofollow "class =" exlnk "target =" _ blank "Creating Tarkennettu Liitosten."
viiteavaimia
Vaikka taulukon määritelmä on viiteavain määritelty (opit tekemään tämän Lesson 17), sinun on oltava WHERE-lause, joka määrittää liitosehto. Suhde käytettävä liittyä ei koskaan varastoidaan tietokantaan tasolla.
Liittyminen useita taulukoita
Voit liittyä enemmän kuin kaksi pöytää yhdellä käskyllä määrittämällä kaikki taulukon nimet FROM lauseke. Seuraavassa esimerkissä käytetään välisiä suhteita tilauksia, o
Android Ohjelmointi: I. Android Aktiviteetti Lifecycle & amp; ndash; Concepts
- Mikä on algoritmi?
- C # koodi lisäämällä kaksi Matrices
- Jotkut Javascript Valmiit Objects
- Kuinka Poista System Tool 2011 virus Computer
- Java Oppaat - Oppitunti 2: Primitive tietotyypit ja muuttujat (kokonaisluku, dou…
- C ++ heti Basics
- Making 3D-peli, jossa Ogre - Collision Detection
- Kuinka vaikeaa on oppia ohjelmointia?
- Ohjelmoija Tekijä Heart
- C ++ Olio Programming