..


Rėmėjų nuorodos

Naudokite SĄJUNGOS sujungti dvi lenteles rezultatus

Straipsnį parašė Max Bossi

SQL kalba suteikia mums gana paprastas būdas sujungti per tą patį SELECT, dviejų skirtingų lentelių rezultatų.

Norint tai pasiekti, atėjo laikas naudoti SĄJUNGOS all'opertore kuris, tiesą sakant, iš rezultatų, gautų užklausų dviejų lentelių sąjungą.

(Straipsnis tęsia toliau ...)

Atkreipkite dėmesį, kad tam, kad būtų tinkamai naudojami, atėjo laikas, kad Sąjunga operatorius:

  • kad lentelės suabejojo ​​tuo pačiu stulpelių skaičių;
  • prašo, kad stulpeliai turi tą patį pavadinimą;
  • kad reikia stulpelių dviejų lentelių atitinka duomenų tipai;
Paimkime pavyzdį: tarkime, turintys veikti hipotetinių kelionių agentūra duomenų bazę ir manyti, kad mūsų BP yra tik iš dviejų lentelių:
  • hotel_italia
    • vardas
    • žvaigždės
    • miestas
    • tauta
  • hotel_europa
    • vardas
    • žvaigždės
    • miestas
    • tauta
Dabar tarkime, kad klientas nori mums žinoti, arba viešbučių Italijoje ir Europoje, siūlo:





 SELECT pavadinimas, žvaigždės, miestas, šalis







 IŠ hotel_italia







 SĄJUNGOS







 SELECT pavadinimas, žvaigždės, miestas, šalis







 IŠ hotel_europa



Su šiuo užklausą gauname pilną sąrašą visų dviejų lentelių viešbučiai:

vardas žvaigždės miestas tauta
Hotel Cavour 4 Roma LT
Hotel Miramare 2 Katalikų LT
Hotel Manzoni 2 Milano LT
Hotel Espana 3 Madridas ES
Hilton 5 Londone Jungtinė Karalystė
Hotel am Schlossgarten 4 Štutgartas DE

Pastaba: Atkreipkite dėmesį, kad Europos Sąjunga operatoriaus nerodo jokių pasikartojančius įrašus (pagal nutylėjimą veikia kaip jei ji buvo SELECT DISTINCT ), ir jei norite, bet pasikartojančius įrašus taip pat rodo (prisiminkite mūsų Pavyzdžiui, į šį viešbutį tiek toje hotel_italia hotel_europa lentelę) reikės naudoti UNION ALL.

Rūšiuoti ir apriboti rezultatus, kylančių iš Sąjungos

Tarkime, kad nuo SĄJUNGOS naudoti ir rezultatai daug norite, kad jie tik nurodytą skaičių. Kaip tai padaryti? Štai sprendimas:

 



 SELECT * FROM







 (SELECT pavadinimas, žvaigždės, miestas, šalis IŠ hotel_italia







 SĄJUNGOS







 SELECT pavadinimas, žvaigždės, miestas, šalis IŠ hotel_europa)







 AS Hotel







 ORDER BY DESC LIMIT 10 žvaigždės

 
Iš esmės mes elgiamės rezultatų, atsiradusių dviejų ar daugiau lentelių Sąjungos tarsi vieno stalo rezultatas, tai padaryti mes galime naudoti rūšiavimo ir normalios ribos.

Tos pačios kategorijos ...
E-mokymasis
MS Access kursai MS Access kursai
Sužinokite, kaip kurti ir valdyti duomenų bazių lengvai ir greitai. Nuo 29 €.
Žinoma, MySQL Žinoma, MySQL
Valdymas atviro kodo duomenų bazėje. Nuo 39 €.
Žinoma, duomenų bazių ir SQL Žinoma, duomenų bazių ir SQL
Kurti ir administruoti reliacinėse duomenų bazėse. Nuo 39 €.
Rėmėjų nuorodos