..


Sponsrade länkar

Hantera GÅ tre bord

Artikel skriven av Max Bossi

I den av SQL har vi sett hur man skapar partnerskap mellan två tabeller med INNER JOIN. I denna artikel kommer vi att se hur man gör samma sak som att hantera mer än två, utan tre tabeller.

I verkligheten är det en mycket enkel operation som inte skiljer sig från en gemensam GÅ av 2 tabeller.
Låt oss göra ett exempel: tänk på en hypotetisk köp av en enkel databas för e-handel består av tre bord struktureras enligt följande:

användare (som används för hantering av registrerade användare)

  • ute_id
  • ute_nome
  • ute_cognome
produkter (som används för sortiment av produkter för försäljning)
  • prod_id
  • prod_nome
  • prod_descrizione
  • prod_prezzo
inköp (används för att registrera inköp)
  • acq_id
  • acq_ute_id
  • acq_prod_id
  • acq_data
Låt oss nu säga att du vill hämta, med en enda fråga, följande information om inköp som görs av en viss användar-ID (t ex 1), uppgifter som finns i tre olika tabeller: fullständiga namnet på den användare (användare tabell), namn, beskrivning och produktens inköpspris (produkterna tabellen) och inköpsdatum (tabell inköp). Hur? Enkel ... använd bara en fråga så här:





 VÄLJA



  



 utenti.ute_nome, utenti.ute_cognome,



  



 prodotti.prod_nome, prodotti.prod_descrizione, prodotti.prod_prezzo,



  



 acquisti.acq_data







 Från användare







 INNER JOIN köp







 ON = utenti.ute_id acquisti.acq_ute_id







 INNER JOIN produkter







 ON = prodotti.prod_id acquisti.acq_prod_id







 VAR utenti.ute_id = 1;

 

Som du kanske har märkt den gemensamma FROM-satsen (som identifierar den första tabellen) följs av två INNER JOIN (som identifierar den andra och den tredje tabellen) åtföljas av tillämpliga länken som är "en bro" för att skapa en länk rationellt mellan de olika tabellerna.

Slutligen har jag bara påminna er om att, naturligtvis, kan du använda tekniken sett ovan för mer komplexa frågor med 4, 5 eller fler tabeller ... faktum är att jag råder dig att inte överdriva byggandet av sådana frågor, men teoretiskt möjligt är ofta arbetade hanterbart i praktisk tillämpning.

I samma kategori ...
E-Learning
MS Access (avancerat) MS Access (avancerat)
Lär dig skapa och hantera databaser snabbt och enkelt. Från 29 €.
MySQL (kurs) MySQL (kurs)
Hantering av öppen källkod databas. Från 39 €.
SQL och databas (kurs) SQL och databas (kurs)
Skapa och hantera relationsdatabaser. Från 39 €.
Sponsrade länkar