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

Mysql: Förståelse Relations Tables

=" nofollow "class =" exlnk "target =" _ blank "Skapa Advanced förenar." Omdömen

Omdömen

Omdömen

Utländska Keys

Även om tabellen definition har en främmande nyckel definierad (du kommer att lära dig hur man gör detta i lektion 17), måste du inkludera en WHERE som anger join skick. Förhållandet som skall användas för en koppling är aldrig lagras på databasnivå. Omdömen

Gå med flera tabeller Omdömen

Du kan gå mer än två tabeller i en fråga genom att ange alla tabellnamn i FROM klausul.

I följande exempel används relationerna mellan order, order_lines och produkter tabeller för att producera en orderhistorik för en viss kund

 mysql> SELECT o.order_id, o.order_date, l.quantity, p.name -> FRÅN order o, order_lines l, produkter p -> VAR o.order_id = l.order_id -> OCH p.product_code = l.product_code -> OCH o.customer_code = 'SCICORP' -> ORDER BY o.

order_date, + - -------- + ------------- + ---------- + ---------------- - + | order_id | ORDER_DATE | kvantitet | name | + ---------- + ------------- + ---------- + ----------- ------- + | 3 | 2006-01-23 | 16 | Liten produkt || 4 | 2006-02-02 | 16 | Liten produkt || 4 | 2006-02-02 | 10 | Stor produkt || 5 | 2006-02-05 | 10 | Medium produkt || 5 | 2006-02-05 | 10 | Stor produkt | + ---------- + ------------- + ---------- + ---------- -------- + 5 rader i set (0,00 sek)

Omdömen

För att utföra en equijoin på flera bord, ett tillstånd i WHERE måste ange ett förhållande från varje bord till en annan tabell .

I det här exemplet finns relationer mellan order och order_lines, och mellan order_lines och produkter. Omdömen

Varje rad i order_lines lägger den angivna mängden av en produkt till en beställning. Den order_id kolumn i order_lines ansluter tabellen order, och product_code kolumnen ansluter det till produkter. De två första villkoren i WHERE indikerar dessa relationer. Den tredje filter används för att återvända endast orderhistorik SCICORP.

Omdömen

Omdömen

Skarv Tabeller Omdömen

I föregående exempel, eftersom det inte finns något direkt samband mellan order och produkter, inga villkor i WHERE försöker länka dessa tabeller. Omdömen

Även om varje bord anslöt ska ha en relation till en annan tabell i frågan, varje tabell behöver inte beand vanligtvis inte berelated till alla andra tabeller.

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

Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.