..


Sponsorerede links

Administrer JOIN tre tabeller

Artikel skrevet af Max Bossi

I den guide til SQL vi har set, hvordan man kan skabe partnerskaber mellem to tabeller ved hjælp af INNER JOIN. I denne artikel vil vi se, hvordan du gør det samme som adm. ikke mere end to, men tre tabeller.

I virkeligheden er det en meget simpel operation, som ikke adskiller sig fra en fælles JOIN på 2 borde.
Lad os lave et eksempel: Tænk på en hypotetisk køb af en simpel database af e-handel består af tre tabeller struktureret som følger:

brugere (anvendes til forvaltning af registrerede brugere)

  • ute_id
  • ute_nome
  • ute_cognome
produkter (anvendes til katalog over produkter til salg)
  • prod_id
  • prod_nome
  • prod_descrizione
  • prod_prezzo
indkøb (bruges til at registrere køb)
  • acq_id
  • acq_ute_id
  • acq_prod_id
  • acq_data
Lad os nu sige, at du vil hente, ved hjælp af en enkelt forespørgsel, følgende oplysninger vedrørende køb foretaget af en given bruger-ID (f.eks 1), oplysningerne i tre separate tabeller: fulde navn på den bruger (brugere tabel), navn, beskrivelse og produktet købsprisen (tabellen Produkter) og datoen for købet (tabel køb). Hvordan? Simple ... bare bruge en forespørgsel som denne:





 SELECT



  



 utenti.ute_nome, utenti.ute_cognome,



  



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



  



 acquisti.acq_data







 FRA brugere







 INNER JOIN køb







 ON = utenti.ute_id acquisti.acq_ute_id







 INNER JOIN produkter







 ON = prodotti.prod_id acquisti.acq_prod_id







 WHERE utenti.ute_id = 1;

 

Som du måske har bemærket den fælles FROM-udtrykket (som identificerer den første tabel) er efterfulgt af to INNER JOIN (der identificerer den anden og den tredje tabel) ledsaget af de gældende link på, der er "en bro" for at oprette et link rationelt mellem de forskellige tabeller.

Endelig har jeg bare nødt til at minde om, at selvfølgelig kan du bruge teknikken ses ovenfor for mere komplekse forespørgsler involverer 4, 5 eller flere tabeller ... i virkeligheden jeg råde dig til ikke at overdrive opførelsen af ​​sådanne forespørgsler, men teoretisk muligt, er ofte anstrengt håndterbare i den praktiske anvendelse.

I den samme kategori ...
E-Learning
MS Access (Avanceret) MS Access (Avanceret)
Lær at oprette og administrere databaser hurtigt og nemt. Fra 29 €.
MySQL (Kursus) MySQL (Kursus)
Forvaltning af open source-database. Fra 39 €.
SQL-og Database (Kursus) SQL-og Database (Kursus)
Oprette og administrere relationelle databaser. Fra 39 €.
Sponsorerede links