..


Sponsoroidut linkit

Käyttämällä UNIONIN yhdistää tulokset kahdesta taulukosta

Artikkelin kirjoittanut Max Bossi

SQL kieli tarjoaa meille varsin yksinkertainen tapa yhdistää samassa SELECT, tulokset kahdesta eri pöytiin.

Jotta tähän päästäisiin, on aika käyttää unionin all'opertore joka itse asiassa liitto saamien tulosten pohti kaksi pöytää.

Huomaa, että voidakseen käyttää oikein, on aika, että unioni operaattori:

  • että taulukot ovat kyseenalaistaneet on yhtä monta saraketta;
  • pyytää, että sarakkeita on sama nimi;
  • että tarvittavat sarakkeet kahdessa taulukossa ovat yhdenmukaisia ​​tietotyyppejä;
Tässä esimerkki: Sanotaan ottaa toimimaan tietokanta hypoteettinen matkatoimisto ja olettaa, että DB on vain kaksi taulukkoa:
  • hotel_italia
    • nimi
    • Tähdet
    • kaupunki
    • kansakunta
  • hotel_europa
    • nimi
    • Tähdet
    • kaupunki
    • kansakunta
Oletetaan, että asiakas haluaa meidän tietävän joko tarjouksista hotelleja Italiassa ja Euroopassa:





 SELECT nimi, tähteä, kaupunki, maa







 FROM hotel_italia







 UNIONIN







 SELECT nimi, tähteä, kaupunki, maa







 FROM hotel_europa



Tämän kyselyn saamme täydellinen luettelo kaikista hotellit kaksi taulukkoa:

nimi Tähdet kaupunki kansakunta
Hotel Cavour 4 Rooma EN
Hotel Miramare 2 Katolinen EN
Hotel Manzoni 2 Milano EN
Hotel Espana 3 Madrid ES
Hilton 5 Lontoo Iso-Britannia
Hotel am Schlossgarten 4 Stuttgart DE

Huomaa: Huomaa, että unioni ei näytä mitään kahdentuneet (oletuksena toimii ikään kuin se olisi SELECT DISTINCT ), ja jos haluat päällekkäiset tietueet osoittavat myös (muistelen meidän esimerkiksi hotellissa tässä sekä taulukon että hotel_italia hotel_europa) täytyy käyttää UNION ALL.

Lajittelu ja raja tulokset johtuvat UNIONIN

Oletetaan, että tuloksia käytetään unionin ja monien haluavat niitä vain tiettyyn numeroon. Miten? Tässä ratkaisu:

 



 SELECT * FROM







 (SELECT nimi, tähteä, kaupunki, maa hotel_italia







 UNIONIN







 SELECT nimi, tähteä, kaupunki, maa hotel_europa)







 AS Hotel







 ORDER BY DESC raja 10 tähteä

 
Pohjimmiltaan me kohtelemme tulokset johtuvat unionin kahden tai useamman taulukoita ikään kuin ne olisivat seurausta yhden pöydän, näin toimimalla voimme käyttää vakio lajittelu ja raja.

Samassa luokassa ...
E-Learning
MS Access (Advanced) MS Access (Advanced)
Opi kuinka luoda ja hallita tietokantoja nopeasti ja helposti. Alkaen 29 €.
MySQL (kurssi) MySQL (kurssi)
Hallinta avoimen lähdekoodin tietokanta. Alkaen 39 €.
SQL ja Database (kurssi) SQL ja Database (kurssi)
Luoda ja hallita relaatiotietokantojen. Alkaen 39 €.
Sponsoroidut linkit