..


Sponsor Bağlantılar

Iki tablodan sonuçlarını birleştirmek için UNION kullanma

Max Bossi tarafından yazılmış Makale

SQL dili bize aynı SELECT deyimi, iki farklı tablo sonuçlarını içinde birleştirmek için oldukça basit bir yol sunar.

Bunu başarmak için, UNION all'opertore kullanmak zamanı hangi edecek, aslında, iki tablo sorgulayarak elde edilen sonuçların birliği.

Doğru kullanılması için dikkat edin, bu UNION operatörü zamanı:

  • tabloların sütun aynı sayıda sorgulandığında olduğunu;
  • sütun aynı ada sahip isteyen;
  • iki tablo gerekli sütunlar tutarlı veri türleri olduğunu;
İşte bir örnek: varsaydığı seyahat acentesi bir veritabanı üzerinde işlem ve DB sadece iki tablo içerdiğini varsaymak zorunda diyelim:
  • hotel_italia
    • isim
    • Yıldız
    • şehir
    • millet
  • hotel_europa
    • isim
    • Yıldız
    • şehir
    • millet
Şimdi müşteri bize İtalya'da ve Avrupa'da oteller teklifler ya bilmek istediğini varsayalım:





 Isim, yıldız, şehir, ülke SEÇ







 Hotel_italia İTİBAREN







 BİRLİĞİ







 Isim, yıldız, şehir, ülke SEÇ







 Hotel_europa İTİBAREN



Bu sorgu ile, iki tablo otellerini tam listesini almak:

isim Yıldız şehir millet
Hotel Cavour 4 Roma EN
Hotel Miramare 2 Katolik EN
Hotel Manzoni 2 Milan EN
Hotel Espana 3 Madrid ES
Hilton 5 Londra Birleşik Krallık
Hotel am Schlossgarten 4 Stuttgart DE

UNION herhangi bir yinelenen kayıtları (bir olduğu gibi eğer varsayılan olarak faaliyet göstermiyor lütfen unutmayın: Not SELECT DISTINCT ) ve istediğiniz varsa yinelenen kayıtları da (örneğimizde geri düşünüyorum, bu bir otelde gösterisi Bu hotel_italia hotel_europa tabloda her ikisi) TÜM BİRLİĞİ kullanmanız gerekecektir.

Sıralama ve UNION kaynaklanan sonuç sınırı

Farzedin UNION kullanmanın sonuçları ve birçok onlara belirli sayıda sınırlı olmak istiyorum. Nasıl? İşte çözüm:

 



 SELECT * FROM







 (SELECT isim, yıldızlar, şehir, hotel_italia DAN ülke







 BİRLİĞİ







 Select adı, yıldızlar, şehir, hotel_europa DAN ülke)







 Otel AS







 DESC ORDER BY 10 yıldız SINIRI

 
Esasen biz, tek bir tablo sonucu gibi iki veya daha fazla tablo birliğinden kaynaklanan sonuç tedavi böyle yaparak biz standart sıralama ve sınır kullanabilirsiniz.

Aynı Kategoride ...
E-Öğrenme
MS Access (Gelişmiş) MS Access (Gelişmiş)
Hızlı ve kolay bir veritabanı oluşturmak ve yönetmek öğrenin. 29 € dan başlayan fiyatlarla.
MySQL (Ders) MySQL (Ders)
Açık kaynak veritabanı yönetimi. En düşük € 39.
SQL ve Veritabanı (Ders) SQL ve Veritabanı (Ders)
Ilişkisel veritabanı oluşturma ve yönetme. En düşük € 39.
Sponsor Bağlantılar