*   >> lukeminen koulutus Artikkelit >> science >> programming

Mysql: Understanding Relational Tables

C | 1 | X || 1 | | 2 | Y || 2 | B | 2 | Y || 3 | C | 2 | Y || 1 | | 3 | Z || 2 | B | 3 | Z || 3 | C | 3 | Z | + ---- + -------- + ---- + -------- + 9 rivien joukko (0.00 sek)


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.


SELECT *

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.


Cross Liitosten

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

Page   <<  [1] [2] [3] [4] >>

Copyright © 2008 - 2016 lukeminen koulutus Artikkelit,https://koulutus.nmjjxx.com All rights reserved.