Tablolar bunlardan veri ayıklamak için birleştirilmelidir mi? illeBirden fazla tablonun verilerine erişim - SQL
cevap
Tek bir sorguda demek istediğime inanıyorum. Tek bir sorguda birden fazla tablo için veri ayıklamak için düşünebildiğim iki yolu onları "birleştiren" olmadan vardır:
Yumruk sendikayla olan
SELECT A, B, C FROM Table1
UNION
SELECT X, Y, Z FROM Table2
Ayrıca "haç katıl" yapabilirsiniz bir katılmak gibi bakmak (ve düşünüyorsun muhtemelen budur) bir tablodan diğerine ilişki yoktur sözdizimi görebileceğiniz gibi
SELECT Table1.A, Table1.B, Table1.C, Table2.X, Table2,Y, Table2,Z
FROM Table1, Table2
etmeyen. Bu, 'un tablo1'deki her satırın, tablo2'deki her satırla birleştirileceği anlamına gelir!
Deneyimlerimde bu, programcılar için SQL'in yeni oluşturduğu en yaygın hatadır. Bir katılma anlamına geldiğinde çapraz birleştirme yaparlar ve daha sonra istedikleri sonuçları almak için GROUP BY veya DISTINCT kullanırlar. Bu derece verimsiz!
Çapraz birleştirmeler iyi olabilir, özellikle de tablonun yalnızca bir satırı varsa - bu değerleri diğer tabloda her satıra eklersiniz. Temel olarak her satır için sütunlar için tek bir değer kümesi seçersiniz.
her satır maksimum tarih (bu genellikle raporlarda yapılır)SELECT *
FROM Table1, (SELECT MAX(updatedate) as Max_Update FROM Table1) AS MaxDate
değil, başka seçenekler Birliği gibi vardır:
SELECT customerNumber id, contactLastname name
FROM customers
UNION
SELECT employeeNumber id,firstname name
FROM employees
Yukarıdaki örnek almaktır gelen this. diğer zamanlarda bir katılmak dışarı ile vb birden fazla kaynaktan veri almak için, birden fazla sorgu çalıştırabilirsiniz vardır . Her şey ne yapmak istediğinize bağlı. Ancak, birleşme çok yaygın - ve muhtemelen en olağan - bir yaklaşımdır.
- 1. tablonun birden fazla group_concat ile birleştirilmesi
- 2. Bir sorguda aynı tablonun birden fazla COUNT SELECTS
- 3. Erişim SQL DATEDIFF fazla 7 gün
- 4. R'de tek bir tablonun içine birden fazla dosya nasıl okunur().
- 5. Tetikleyiciyi kullanarak birden fazla tablonun içine kayıt nasıl eklenir?
- 6. erişim güncelleme sorgusu sql birden çok değerin
- 7. Oracle verilerine SQL Server'dan erişme
- 8. Aynı tablonun birden çok sorgusunu tek bir SQL deyimine birleştirmek
- 9. Bir tablonun SQL sütunlarını gruplama
- 10. Bir masaüstü uygulaması için birden fazla Google erişim izni var
- 11. Güncelleme birden fazla satır
- 12. VB SQL İfadelerine Erişim
- 13. Erişim SQL Veritabanı
- 14. Hızlı erişim SQL sorguları
- 15. Erişim SQL Tarih Biçimi
- 16. Birden fazla dosya ve veri
- 17. SQL Server 2008'de iki tablonun birleştirilmesi
- 18. SQL tablonun boş bir satırı nasıl eklenir?
- 19. Crystal raporlarında birden fazla veritabanı
- 20. Rails uygulamasında birden fazla SQL sorgusu düzeltmeye çalışıyorum
- 21. Aynı anda birden fazla kısıtlama nasıl düşülür (Oracle, SQL)
- 22. T-SQL, tek bir seçkede birden fazla değişkenin güncellenmesi
- 23. Teradata SQL ayarlaması. Birden fazla sol dış birleştirmeyi yeniden yazma
- 24. yii2 sql sonucunu birden fazla diziye nasıl gruplandırılır
- 25. MySQL Grubu birden fazla etkinlik
- 26. Birden fazla alanla ve mongodb
- 27. Birden fazla depo içeren bir klasörde birden fazla bölme
- 28. jQuery Birden Fazla Dinamik Formdan Birden Fazla Dinamik iFrame'ye
- 29. NodeJS - birden fazla nesne birden fazla dosya üzerinde aynı ad
- 30. Gcc ile birden fazla __attribute__ birden fazla gc
!! – Justin
@Justin - yw, düzenlemeleri kontrol ettiğinizden emin olun, çapraz katılma hakkında kullanım notları ekledim. – Hogan