*   >> läser Utbildning artiklar >> science >> programming

Mysql: Förståelse Relations Tables

i en SELECT-sats. För att ange förhållandet mellan de två tabellerna, måste du inkludera en lämplig tillstånd i WHERE klausulen. Omdömen

Följande fråga förenar kunderna och customer_contacts tabeller för att producera fullständig kontaktinformation från exempeldatabasen. Eftersom denna fråga hämtar hela kontaktdatabasen, det enda där tillstånd; detta säger MySQL att förhållandet mellan borden är att customer_code värdet är en referens till customer_code kolumn i kunder Omdömen

 mysql> SELECT namn, -.

> concat (efternamn, ',', förnamn) som CONTACT_NAME - > FROM kunder, customer_contacts -> VAR customers.customer_code = -> customer_contacts.customer_code -> ORDER BY namn, CONTACT_NAME; + ------------------------ - + --------------------- + | name | CONTACT_NAME | + ------------------------- + --------------------- + | Musiker of America | Britten, Benjamin || Musiker of America | Gershwin, George || Musiker of America | Lennon, John || Presidenter Incorporated | Lincoln, Abraham || Presidenter Incorporated | Nixon, Richard || Presidenter Incorporated | Roosevelt, Franklin || Presidenter Incorporated | Roosevelt, Theodore || Science Corporation | Curie, Marie || Science Corporation | Darwin, Charles || Science Corporation | Einstein, Albert || Science Corporation | Franklin, Benjamin | + ------------------------- + ------------------- - + 11 rader i set (0,02 sek)

Omdömen

Kolumn Namnge Prov tabeller i denna bok har

Omdömen

använde en namnkonventionen där varje främmande nyckel har samma namn som den motsvarande primärnyckel i den andra tabellen.


Detta är dock inte ett krav. En annan populär konvention är att namnge primärnyckel i varje tabell så enkelt id eller kod. Till exempel skulle det customer_code värdet customer_contacts relatera till en kolonn som heter kod i kunder.

kartesiska produkter

tillstånd i WHERE som anger förhållandet mellan kopplade tabeller är mycket viktigt. För att förstå varför, titta på vad som händer när du anger två tabeller i FROM-satsen utan några villkor. Omdömen

Två små bord ingår i exempeldatabasen, som heter t1 och t2.

Dessa tabeller innehåller bara några rader för att visa joins.First, bekanta dig med deras data:

 mysql> SELECT * FROM t1, + ---- + -------- + | id | brev | + ---- + -------- + | 1 | En || 2 | B || 3 | C | + ---- + -------- + 3 rader i set (0,01 sek) mysql> SELECT * FROM t2, + ---- + -------- + | id | brev | + ---- + -------- + | 1 | X || 2 | 

Page   <<  [1] [2] [3] [4] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.