..


Sponsorētās saites

Izmantojot SAVIENĪBA apvienot rezultātus no divām tabulām

Raksts raksta Max Bossi

SQL valoda mums piedāvā diezgan vienkāršs veids, kā apvienot, tajā pašā SELECT, rezultātus no divām dažādām tabulām.

Lai to panāktu, ir pienācis laiks izmantot SAVIENĪBAS all'opertore kas faktiski savienība iegūto rezultātu ar vaicājumiem divām tabulām.

Ņemiet vērā, ka, lai būtu to izmanto pareizi, ir pienācis laiks, ka SAVIENĪBAS operators:

  • ka tabulas ir apšaubīja to pašu kolonnu skaitu;
  • prasa, lai kolonnas ir pašu nosaukumu;
  • ka nepieciešamās kolonnas uz abās tabulās ir konsekventu datu tipi;
Lūk, piemērs: pieņemsim, ka tā darboties datubāzi hipotētisku ceļojumu aģentūru un pieņemt, ka mūsu DB satur tikai divas tabulas:
  • hotel_italia
    • nosaukums
    • zvaigznes
    • pilsēta
    • tauta
  • hotel_europa
    • nosaukums
    • zvaigznes
    • pilsēta
    • tauta
Tagad pieņemsim, ka klients vēlas, lai mēs zinām, vai nu piedāvājumus viesnīcas Itālijā un Eiropā:





 SELECT vārds, zvaigznes, pilsēta, valsts







 NO hotel_italia







 SAVIENĪBA







 SELECT vārds, zvaigznes, pilsēta, valsts







 NO hotel_europa



Ar šo vaicājumu mēs iegūstam pilnīgu sarakstu par visiem uz abās tabulās viesnīcas:

nosaukums zvaigznes pilsēta tauta
Hotel Cavour 4 Roma EN
Hotel Miramare 2 Katoļu EN
Hotel Manzoni 2 Milan EN
Hotel Espana 3 Madride ES
Hilton 5 London Lielbritānijā
Hotel am Schlossgarten 4 Stuttgart DE

Piezīme: lūdzu, ņemiet vērā, ka Eiropas Savienībai nav nekādu ierakstu dublikātus (pēc noklusējuma darbojas tā, it kā SELECT DISTINCT ), un, ja vēlaties kādu ierakstu dublikātus arī parādīt (domāju, ka atpakaļ uz mūsu piemēram, pie viesnīcas šajā gan tabulā, kas hotel_italia hotel_europa) būs nepieciešams izmantot UNION ALL.

Kārtot un ierobežot rezultātus, kas izriet no SAVIENĪBA

Pieņemsim, ka rezultāti, izmantojot Savienība un daudzas vēlaties tos tikai uz norādīto numuru. Kā? Šeit ir risinājums:

 



 SELECT * FROM







 (SELECT vārds, zvaigznes, pilsēta, valsts NO hotel_italia







 SAVIENĪBA







 SELECT vārds, zvaigznes, pilsēta, NO hotel_europa valsts)







 AS Hotel







 ORDER BY DESC LIMIT 10 zvaigznes

 
Būtībā mēs pret rezultātiem, kas gūti savienību divu vai vairākām tabulām, it kā tie būtu rezultāts viena galda, to darot, mēs varam izmantot standarta šķirošanas un ierobežot.

Šajā pašā kategorijā ...
E-Learning
MS Access (Advanced) MS Access (Advanced)
Uzziniet, kā izveidot un pārvaldīt datubāzes ātri un viegli. Sākot ar 29 €.
MySQL (Kurss) MySQL (Kurss)
Vadība ir atvērtā koda datu bāzi. Sākot no € 39.
SQL un datu bāzes (Course) SQL un datu bāzes (Course)
Izveidot un pārvaldīt relāciju datu bāzēm. Sākot no € 39.
Sponsorētās saites