Bilgisayarlar, Dosya türleri
Tat SQL: açıklama, örnekler, özellikleri
Eğer tablolardan veri almak için SQL kullandığınızda Genellikle kullanıcı gereksiz veri kesinlikle özdeş yinelenen satırları varlığıdır alır. Bu durumu önlemek için, cümle Seç SQL belirgin argüman kullanırlar. Bu makale uygulama argüman tarafından terk edilmelidir ki bu argüman kullanımının örnekleri yanı sıra durumları tartışacağız.
Biz belirli örnekler dikkate Devam etmeden önce birkaç tablo gerekli veritabanı oluşturmak.
hazırlık tablosu
iki tablolarda sunulan duvar kağıdı hakkında bir veritabanı depolar bilgiye sahip olduğunu düşünün. , Renk (color), bir yapı (yapı) ve fiyatı (fiyat) - tipi (. Kağıt, vinil, vb duvar tipi) kimliği alanları (benzersiz tanımlayıcı) ile Bu tablo oboi (duvar kağıdı). Ve masa Ostatki id_oboi alanlarla (kalıntılar) ve sayımı (stock rulo sayısı) (tablodaki Oboi benzersiz bir tanımlayıcı bir referans).
veri tablosu doldurun. Tabloda Duvar kağıdını 9 kayıtlarını ekleyin:
oboi | ||||
kimlik | tip | renk | yapı | fiyat |
1 | kâğıt | çok renkli | kabartmalı | 56,9 |
2 | Kağıt çift katmanlı | bej | pürüzsüz | 114.8 |
3 | vinil | turuncu | kabartmalı | 504 |
4 | kırkmak | bej | kabartmalı | 1020,9 |
5 | Kağıt çift katmanlı | bej | pürüzsüz | 150.6 |
6 | kâğıt | çok renkli | pürüzsüz | 95.4 |
7 | vinil | kahverengi | pürüzsüz | 372 |
8 | kırkmak | beyaz | kabartmalı | 980,1 |
9 | bez | pembe | pürüzsüz | 1166,5 |
kalıntılarıyla tablo - dokuz kayıtları:
Ostatki | |
id_oboi | saymak |
1 | 8 |
2 | 12 |
3 | 24 |
4 | 9 |
5 | 16 |
6 | 7 |
7 | 24 |
8 | 32 |
9 | 11 |
Biz SQL ayrı düzenin açıklaması geçin.
Seç fıkrada ayrı yerleştirin
farklı argüman sorgularda Seç anahtar kelime hemen sonra yerleştirilmelidir. kesinlikle özdeş dizeleri olan nihai sorgu sonucu dışında tutulacaktır, çünkü cümle Select belirtilen tüm sütunların başvurmuştur. Böylece, bir kez SQL yazarken isteği «ayrı seçmek» belirtmek için yeterlidir. istisna Biraz sonra bakmak ayrı iç toplama işlevleri kullanılmasıdır.
Bu veritabanının en unutulmamalıdır ve istek türünüzü tanımıyor:
farklı Ostatki.Count, ayrı Oboi SEÇ. * oboi DAN İÇ Oboi.id = Ostatki.id_oboi AÇIK Ostatki KATILIN |
Orada argüman birkaç kez kabul veya aynı belirtildi, ancak değildi ikinci, üçüncü ya da başka seçilen sütun önce. Sen sözdiziminde bir hata atıfta bir hata alırsınız.
Standart uygulama belirgin sorgular
Kesinlikle aynı dizeleri varken tek bir tablo içinde onları doldurma uygun bina yapısı tablolarla ve durumu hariç açıktır. Bu nedenle, sorgu yürütme bir tablonun bir örnek ile «ayrı * seçin» pratik değildir.
Biz türüne göre sıralamak için, sadece kolaylık olması için, biz duvar kağıdı var ne tür bilmemiz gerekir zaman bir durum düşünün:
SEÇ Oboi.type Türüne göre Oboi amacıyla DAN |
Ve sonuç almak:
tip |
kâğıt |
kâğıt |
Kağıt çift katmanlı |
Kağıt çift katmanlı |
vinil |
vinil |
bez |
kırkmak |
kırkmak |
Tabloda görüldüğü gibi yinelenen satırlar vardır. Biz öneriyi eklerseniz ayrı belirleyin:
tat Oboi.type SEÇİMİ Türüne göre Oboi amacıyla DAN |
Biz tekrarlama olmadan sonuç almak:
tip |
kâğıt |
Kağıt çift katmanlı |
vinil |
bez |
kırkmak |
Düzgün bir tablodaki verileri girerseniz Böylece, daha sonra hemen alıcıların bir telefon görüşmesi ya da istek sonra deposunda mevcut sıvı duvar kağıdı, fiberglas ve akrilik duvar kağıdı olmadıklarını cevap verebilir. dükkan aralığı genellikle yüz duvar kağıdı ile sınırlı olmadığı göz önüne alındığında, oldukça emek yoğun olurdu benzersiz olmayan türleri listesini görüntüleyin.
içinde farklı toplama işlevleri uygulama
SQL ayrı bağımsız değişken bir toplama işlevi ile birlikte kullanılabilir. Ama Min ve Max onun uygulama için hiçbir etkisi yoktur, ancak toplamını veya ortalama değer hesaplamasında dikkate nadiren kimse dikkate tekrarları almak zorunda olan bir durumdur olacaktır.
depomuza kapasitesinin kontrol etmek ve bu isteği göndermek istediğinizi varsayalım, stokta bobinleri toplam sayısı hesaplar:
SEC toplamı (Ostatki.count) Ostatki DAN |
Talep 143. Ancak, biz değişecek cevabı verecektir:
SEC toplamı (farklı Ostatki.count) Ostatki DAN |
Biz parça numaraları 3 duvar kağıdı olarak, toplam 119 almak ve 7 aynı miktarda stok bulunmaktadır. Ancak, cevap yanlış olduğu açıktır.
Çoğu zaman, SQL farklı fonksiyon Kont kullanılan. Yani, biz kolayca duvar kaç benzersiz türleri öğrenebilirsiniz, biz var:
SEC sayısı (farklı Oboi.type) oboi DAN |
Ve 5 sonuç almak - sıradan kağıt ve çift katmanlı vinil ve dokunmamış kumaş. Şüphesiz bütün gibi reklam görülme: hangi Bu dükkan sadece birkaç düzine rulo ve duvar kağıdı, modern türleri çeşitli olduğu anlamına gelir "Sadece biz duvar 20 farklı çeşit var".
Aynı sorgudaki Kont DISTINCT bağlıyor gibi birden fazla işlevi belirtin ve onsuz olabilir ilginçtir. Yani Select'e içinde ayrı mevcut birkaç kez olabilir tek durumdur.
Ne zaman argüman kullanımını terk etmek
SQL farklı argüman kullanımında itibaren iki durumdan birinde terk edilmelidir:
- Sen tabloları bir seçim gerçekleştirmek ve eşsiz değerde her eminiz. o sunucu veya istemci (DBMS türüne bağlı olarak) ek bir yük olduğu için bu durumda, argüman kullanımı uygun değildir.
- Eğer veri kaybı korkuyor musunuz. Bize açıklayalım.
türünü ve rengini - Ya sana patron yalnızca iki sütun göstergesi ile sahip olduğunuz duvar kağıdı, listelemek için sorar. Alışkanlık dışında, sizi farklı bir tartışmayı vermek:
, Oboi.color farklı Oboi.type SEÇ oboi DAN SİPARİŞ İLE Oboi.type |
Ve - verileri kaybetmemek:
tip | renk |
kâğıt | çok renkli |
Kağıt çift katmanlı | bej |
vinil | kahverengi |
vinil | turuncu |
bez | pembe |
kırkmak | bej |
kırkmak | beyaz |
Bu kağıt (konvansiyonel ve çift katmanlı) duvar kağıdı biz, aslında, hatta iki maddenin bizim küçük tabloda yalnızca bir zihin (farklı olmadan neden) olduğunu izlenimini verebilir:
tip | renk |
kâğıt | çok renkli |
kâğıt | çok renkli |
Kağıt çift katmanlı | bej |
Kağıt çift katmanlı | bej |
vinil | kahverengi |
vinil | turuncu |
bez | pembe |
kırkmak | beyaz |
kırkmak | bej |
Bu nedenle, göreve bağlı olarak, uygulamaya karar vermek dikkatli ve yetkin olmak argüman ayrı ihtiyacı olan herhangi bir isteği yazılı olarak olarak.
farklı alternatif
Tüm argüman - farklı argüman aksine. onun uygulamasında yinelenen satırlar saklanır. Ama ve varsayılan veritabanı olarak tüm değerleri, argüman Tüm görüntülemek için gerekli olduğunu bulur - oldukça gerçek işlevi argüman daha eleme olduğunu.
Similar articles
Trending Now