opsiyonel örtüşme, bir şey gibi benim bilgime. Herhangi bir zaman türetilmiş bir tablo kullandım, bir hata atar, bu yüzden benim ilgi alanım gibi bu senaryolar gibi senaryolara rastlamak. İntweb'lerde bunu açıklayacak hiçbir şey bulamadım, umarım birileri türetilmiş tabloların takma adının isteğe bağlı olduğu ve olmadığı durumlarda senaryoları açıklayabilir.Oracle sql türetilmiş tablo bir müşterinin sorgusu dün geldi
0
A
cevap
1
Benzersiz olarak tanımlanmamış bir sütuna başvurduğunuzda, yalnızca takma adlara ihtiyacınız vardır. Bu, sütunun birden fazla tablo/türetilmiş tabloda var olduğu anlamına gelir. Bir referans, select ifadesinde veya bir birleştirmede olabilir. Tüm sütunlar benzersiz ise, bir takma ada sahip olmanıza gerek yoktur.
Netlik sağlamak için her zaman takma adı kullanmayı tercih ediyorum ve bu nedenle PL/SQL'deki Intellisense ile yardımcı oluyor.
--ALIAS needed, because the 'a' column referenced is not unique
--this will throw an error
select a, a, b, c
from (select 'A1' as a, 'B1' as b, 'C1' as c from dual),
(select 'A2' as a from dual);
--this will not throw an error
select t1.a, t2.a, b,c
from (select 'A1' as a, 'B1' as b, 'C1' as c from dual) t1,
(select 'A2' as a from dual) t2;
;
--ALIAS not needed for join, because all referenced columns are unique
select a, b, c, d, e, f
from (select 'A' as a, 'B' as b, 'C' as c from dual)
join (select 'D' as d, 'E' as e, 'F' as f from dual)
on a = d;
--ALIAS needed for join, because the 'x' column referenced is not unique
--this will throw an error
select a
from (select 'A' as a, 'B' as b, 'C' as c, 'X' as x from dual)
join (select 'D' as d, 'E' as e, 'F' as f, 'X' as x from dual)
on x = x;
--this will not throw an error
select a
from (select 'A' as a, 'B' as b, 'C' as c, 'X' as x from dual) t1
join (select 'D' as d, 'E' as e, 'F' as f, 'X' as x from dual) t2
on t1.x = t2.x;
1
Bu örnekte, alt sorgunuzdaki tüm sütunları seçiyorsunuz ve dolayısıyla alt sorgu, takma ad olmadan yazılmıştır.
Bu alt sorguya başka bir tablo veya başka bir alt sorgu ile katılacaksanız, takma ad sütunlarını tanımlı takma adı kullanarak referans gösterebilmeniz için takma ad vermek istersiniz.
İlgili konular
- 1. Oracle SQL sorgusu: Zaman
- 2. Oracle SQL-ALTER TABLO Hatası
- 3. SQL sorgusu birden ben Oracle veritabanını kullanıyorum
- 4. SQL sorgusu bir SQL Tablo Aşağıdaki veriler var
- 5. Oracle SQL: tablo adlarının yerine kullanılan değişkenler
- 6. ORACLE SQL - tablo oluşturma geçersiz veri türü
- 7. Oracle SQL Developer'da tablo oluştururken yetersiz ayrıcalıklar
- 8. SQL Sorgusu Pivot Tablo Satırları Sütunlara
- 9. Oracle SQL,
- 10. Oracle DB SQL Prosedürü Dinamik tablo adıyla tablo üzerinde yineleme
- 11. Oracle, SQL * Plus
- 12. SQL Server'da SQL sorgusu kullanarak tablo oluşturma komut dosyası oluşturma
- 13. SQL server 2005 (Management Studio IDE) aşağıdaki T-SQL sorgusu kullanıyorum bir T-SQL sorgusu
- 14. SQL sorgusu
- 15. Oracle SQL - Bir karakteri
- 16. Oracle SQL sorgusu Mantık Grup tarafından tarihi Fark dayalı
- 17. Oracle SQL vs Oracle PL/SQL
- 18. Tablo haklarımın SQL sorgusu bir rol aracılığıyla verildi mi?
- 19. SQL sorgusu için başka bir sayfaya tablo değeri iletiliyor
- 20. Liste oracle sql
- 21. Oracle SQL
- 22. Oracle SQL
- 23. SQLite.net tablo sorgusu NullReferenceException
- 24. SQL sorgusu ---------- kolonlar
- 25. SQL sorgusu
- 26. SQL sorgusu
- 27. SQL sorgusu
- 28. Oracle PL/SQL
- 29. Tricky SQL Katılma Sorgusu
- 30. Bir sıralamayı iletme - oracle sql
Aliasing gerekli değildir. Bununla birlikte, buna başvurmanız gerekiyorsa gereklidir. – mathguy
Bu işe yarayacak. Aliasing isteğe bağlıdır, ancak önerilir. Göndermiş olduğunuz kodda gerçekten gerekli değildir, ancak satır içi görünümün dışında tabloların kullanılması önerilir; böylece birleştirmeler kullanılabilir ve sütun adlarının ortak veya belirsiz olması durumunda zorunludur. –
Bu, platformdan platforma farklılık gösterir. Oracle alt seçimlerinde (türetilmiş tablolar), bir takma ad olarak adlandırmanız gerekmez (aslında buna _correlation name_ denir). Onları her zaman en iyi uygulama olarak kullanırım. "Korelasyon adı" için – mustaccio