Bilgisayarlar, Yazılım
COALESCE SQL: tanımlama, kullanım örnekleri
SQL sorguları hazırlarken verileri (boş olan) bir örnek veri içeren zaman bunların çok sayıda sütun ve çıkış değerlerini karşılaştırmak için gerekli olduğunda, genellikle bir durum ortaya çıkar. Bu şekilde bu problemi ifade Coalesce çözer. Bu yazıda size ifade Coalesce sql, kullanım açıklama ve örneklerle tam bir açıklama bulacaksınız.
COALESCE ile Boş olmayan değerlerin Çıktı. Özellikler
SQL Coalesce özel bir kullanım alanı göz önünde bulundurun:
- Argüman herhangi sayısını belirlemek için olanak sağlar (bağımsız değişkenlerin sayısı sınırlı olduğu ısnull / NvL / Nvl2, farklı olarak).
- Bu bir argüman alt sorgular olarak alabilir.
- İade Null ya da boş dışında bir birinci değere eşit sonuç, bir boş değeri daha Diğer bir bulunabilir.
- SQL Coalesce o boş sütun set değerleri izin verilmez nerede seç cümle nonempty değerlerini seçmek için, hem de rafine kullanılabilir (/ izin verilir).
- argument1 sonra ARGUMENT1 boş değilken Bu ifade ifade Davası kullanımına eşdeğerdir, sıralı koşuluyla her argüman kontrol etti. Aslında, Coalesce kullanım kolaylığı için tasarlanmış bir "kısayol", ve birçok veritabanında sorgu optimize ifade Kılıfı coalesce yeniden.
- SQL Coalesce fonksiyonları tüm büyük ilişkisel mevcuttur veritabanı yönetim sistemleri.
sözdizimi Coalesce
Hiç sql-sorguları hazırlanmasında COALESCE kullanıyor herkes, ifade sözdizimi son derece basit olduğunu bilir. parantez argümanlar virgülle ayırarak, Null için kontrol edilir belirtmek içinde yeterli olacaktır. Biz argümanlar isimleri arg1 olduğunu varsayarsak, arg2 ... argN, aşağıdaki gibi sözdizimi olacaktır birleşiyorlar:
Coalesce (arg1, arg2 ... argN).
Bu ifadenin operasyon mekanizmasını incelemek için birkaç tablo hazırlayın.
hazırlık tablosu
Daha iyi veritabanı oluşturmak, Coalesce sql açıklamasını anlamak için gayrimenkul hakkında bilgi vermek verilerin iki tablo bulunmaktadır.
İlk tablo isimlerini Alan özellikleri ve kendi bölgelerini izin içerir. alanı (area_yt) ya da beyan edilen (area_decl) rafine edilebilir.
kimlik | object_name | area_yt | area_decl |
1 | bina 1 | 116.2 | 114 |
2 | Bitmemiş inşaat 1 | 568 | |
3 | oda 1 | 64,7 | |
4 | odada 2 | 34.2 | |
5 | Parsel 1 | 112 | 111.6 |
6 | 1 yapımında | ||
7 | Odalar 3 | 27,9 | |
8 | 2'nin yapım | 37.2 | 36,4 |
9 | bina 2 |
uzantısı (Uzatma), derinlik (Derinlik), bölgeyi (Alan), hacim (Kapsam), boy (Yükseklik) - Basic_characteristic let ikinci tablo özelliğinin ana özellikleri hakkında bilgi içerir.
kimlik | object_name | uzatma | derinlik | alan | kapsam | yükseklik |
1 | bina 1 | 892,4 | 30 | |||
2 | bina 2 | 48 | ||||
3 | 1 yapımında | 164.7 | ||||
4 | Parsel 1 | |||||
5 | oda 1 | 23.6 | ||||
6 | odada 2 | 34,7 | ||||
7 | Odalar 3 | 19.8 |
COALESCE sql sözdizimi tanımını, kullanım yorum ve örnekler doğrudan geçin.
Kullanım örnekleri
Coalesce ifadeye sözdizimi son derece basit, ama komuta sonucu argüman listesindeki bulunan ilk boş olmayan bir değer olacağını unutmamak önemlidir. Bu gözlem çok önemlidir, bu nedenle ifadede argümanlar önem sırasına göre ayarlanmalıdır. En kolay yolu uzay prensibi tablosunu anlamak için. özelliğin adını, hem de bölgenin değerini seçen bir sorgu oluşturun:
Area.id, Area.object_name birleştikleri SEÇ (Area.area_yt, Area.area_decl) Alan DAN |
Ve sonuç almak:
kimlik | object_name | kaynaşmak |
1 | bina 1 | 116.2 |
2 | Bitmemiş inşaat 1 | 568 |
3 | oda 1 | 64,7 |
4 | odada 2 | 34.2 |
5 | Parsel 1 | 112 |
6 | 1 yapımında | |
7 | Odalar 3 | 27,9 |
8 | İnşaat 2 | 37.2 |
9 | bina 2 |
proje "Bina 1", "Plot 1" ve "Yapı 2" için iki değer de kare dolu, ama biz ilk argüman listesinde doğrulttu olarak alan, öncelik rafine edilmiş bulunmaktadır. İfade Coalesce ilk boş olmayan bir değer bulundu ve ayrıca görüntüleme argümanları durdurmak için getirdi. Sorgunun Bu yapı - sağ ilan daha çünkü daha rafine belirli bir alan. Biz ilan alana ilk argüman olarak belirlediyseniz, bu bir öncelik olurdu tablonun bu alanda doldururken.
Buna ek olarak çoğu zaman, Select kullanmak ifadesi nerede koşulu ile kullanılır birleşmeye. Bu boş alanların listesinin değerleri (ya da tam tersi, sonuç alan listesi boş yalnızca değerler dahil etmek için) ki burada satırların sonucundan kesmeye olanak verir. Bu durum her yerde bulunur: örneğin, "sonrası için" Bu konuda sadece temel bilgiler yapılan veritabanına yeni çalışanın tasarımı ve dolgu sol ayrıntıları ile işletmedeki. Yavaş yavaş, "boşluklar" ortaya - veya çek önce veya tatil / iş gezisi / hastane çalışanı talimatıyla.
Tablodan karakteristik değerlerin hiçbiri cevaplamak zorunda özelliklerinin ana karakteristiklerini seçin:
SEÇ kimliği, object_name Basic_characteristic DAN Nerede COALESCE (Uzatma, Derinlik, Alan, Kapsam, Yükseklik) null |
Tabloda bu talebe göre bir maç var - nesne "Plot 1", tüm alanları hangi boş özellikleri:
kimlik | object_name |
4 | Parsel 1 |
Bizim ayrıntılı açıklaması Coalesce sql yardım önemli nüansları ile tüm bu ifadenin kullanılması özelliklerini, hem de anlaşma anladığınızı umuyorum.
Similar articles
Trending Now