Komputer, Jenis file
SQL béda: pedaran, conto, sipat
Sering lamun anjeun make SQL pikeun meunangkeun data tina tabel, pamaké narima data kaleuleuwihan nya éta ayana hiji pancen idéntik duplikat barisan. Ulah aya situasi ieu, migunakeun SQL argumen béda dina kalimah Pilih. artikel ieu bakal ngabahas conto pamakéan argumen ieu, sakumaha ogé kaayaan anu aplikasi kudu ditinggalkeun ku argumen.
Sateuacan urang neruskeun mertimbangkeun conto husus, nyieun databés diperlukeun sababaraha tabel.
méja préparasi
Ngabayangkeun nu urang boga informasi toko database ngeunaan wallpaper dibere dua tabel. tabél ieu oboi (wallpaper) kalayan widang id (identifier unik), nu tipe (tipe wallpaper -. Paper, vinyl, jsb), warna (Warna), a struct (struktur) jeung harga (harga). Na tabel Ostatki (résidu) kalayan widang id_oboi (a rujukan ka identifier unik dina tabel Oboi) jeung count (jumlah gulungan di stock).
Eusian tabel data. Dina tabél nambahkeun wallpaper 9 rékaman:
Oboi | ||||
id | ngetik | warna | struct | harga |
1 | keretas | multicolor | embossed | 56,9 |
2 | kertas ganda-layered | warna beigi | leueur | 114,8 |
3 | vinyl | jeruk | embossed | 504 |
4 | Fleece | warna beigi | embossed | 1020,9 |
5 | kertas ganda-layered | warna beigi | leueur | 150,6 |
6 | keretas | multicolor | leueur | 95,4 |
7 | vinyl | coklat | leueur | 372 |
8 | Fleece | bodas | embossed | 980,1 |
9 | kaen | beureum ngora | leueur | 1166,5 |
Tabel kalawan tetep - sarta salapan rékaman:
Ostatki | |
id_oboi | ngitung |
1 | 8 |
2 | 12 |
3 | 24 |
4 | 9 |
5 | 16 |
6 | 7 |
7 | 24 |
8 | 32 |
9 | 11 |
Urang neruskeun ka pedaran tina urutan béda dina SQL.
Teundeun béda dina Pilih klausa
argumen béda kudu ditempatkeun langsung saatos di Pilih keyword dina queries. Anjeunna dilarapkeun ka sagala kolom dieusian dina kalimah Pilih, sabab bakal kaasup ti hasil query final téh senar pancen identik. Ku kituna, sakali cukup netepkeun iraha nulis SQL «pilih béda» pamundut. iwal mangrupa pamakéan fungsi agrégat jero béda anu kasampak di hiji saeutik engké.
Eta kudu inget yén kalolobaan database jeung henteu mikawanoh jenis anjeun tina pamenta:
Pilih Ostatki.Count béda, Oboi béda. * FROM oboi Batin gabung Ostatki ON Oboi.id = Ostatki.id_oboi |
Aya teu dianggap argumen sababaraha kali atawa sakali dieusian, tapi saméméh nu kadua, katilu atawa kolom sejen dipilih. Anjeun bakal meunang kasalahan ngarujuk kana kasalahan dina rumpaka.
Aplikasi queries béda dina standar
Éta atra yén ku tabel struktur wangunan ditangtoskeun jeung ngeusian aranjeunna dina hiji méja tunggal kaasup kaayaan nalika aya string pancen identik. Ku alatan éta, palaksanaan query «Pilih béda *» kalayan sampel hiji méja téh praktis.
Mertimbangkeun kaayaan nalika urang peryogi kauninga tipe naon urang kudu wallpaper, sakadar keur genah, nyortir ku tipe:
MILIH Oboi.type FROM Oboi urutan ku jenis |
Tur meunangkeun hasil:
ngetik |
keretas |
keretas |
kertas ganda-layered |
kertas ganda-layered |
vinyl |
vinyl |
kaen |
Fleece |
Fleece |
Saperti katempo dina tabél aya duplikat barisan. Mun urang tambahkeun proposal Pilih béda:
Pilih Oboi.type béda FROM Oboi urutan ku jenis |
urang meunang hasil tanpa pengulangan:
ngetik |
keretas |
kertas ganda-layered |
vinyl |
kaen |
Fleece |
Ku kituna, lamun leres asupkeun data dina méja, teras langsung saatos telepon atawa paménta pembeli bisa ngajawab yén cair wallpaper, orat jeung acrylic wallpaper sadia di toko henteu. Nunjukkeun yen rentang ti toko anu biasana henteu diwatesan ku saratus wallpaper, nempo daptar jenis non-unik bakal jadi rada kuli-intensif.
Aplikasi fungsi agrégat béda dina
argumen béda SQL bisa dipaké kalawan sagala fungsi agrégat. Tapi keur Min na Max aplikasi na kudu aya pangaruh, tapi nalika ngitung jumlah atawa nilai average téh jarang kaayaan di mana teu saurang bakal kudu tumut kana akun pangulangan.
Anggap we hoyong pariksa kapasitas gudang kami sarta pikeun ngirim pamenta ieu, perhitungan total jumlah coils di stock:
MILIH jumlah (Ostatki.count) FROM Ostatki |
Pamundut bakal mere jawaban 143. Lamun kitu, urang baris ngarobah ka:
Jumlah milih (Ostatki.count béda) FROM Ostatki |
kami ménta total 119, jadi wallpaper pikeun angka bagian 3 sarta 7 nu di stock dina jumlah anu sarua. Sanajan kitu, éta atra yén jawaban anu salah.
Paling mindeng dipaké dina SQL fungsi béda Count. Ku kituna, urang bisa kalayan gampang manggihan sabaraha jenis unik tina wallpaper, urang ulah mibanda:
count milih (Oboi.type béda) FROM oboi |
Tur meunangkeun hasil tina 5 - kertas biasa na ganda-lapisan vinyl sarta non-anyaman lawon. Pasti sadayana kagambar advertisements kayaning: "Ngan urang kudu leuwih 20 rupa béda tina wallpaper," ku nu ieu dimaksudkan yén warung ieu teu ngan sababaraha belasan gulungan sarta rupa-rupa jenis modern wallpaper.
Éta metot nu di query sarua, anjeun tiasa nangtukeun sababaraha fungsi kawas Count atribut béda, sarta tanpa eta. Anu mangrupa hiji-hijina kaayaan dimana béda dina Select'e tiasa hadir sababaraha kali.
Nalika nepi abandon pamakéan argumen
Ti pamakéan SQL argumen béda kudu ditinggalkeun dina hiji dua kasus:
- Anjeun ngalakukeun seleksi tabel sarta yakin dina nilai unik tiap. Dina hal ieu, pamakéan argumen henteu pantes, sabab mangrupa beban tambahan dina server atanapi klien (gumantung kana jenis DBMS).
- Anjeun sieun kaleungitan data Anjeun. Hayu urang ngajelaskeun.
boss Anggap miwarang anjeun daptar wallpaper nu gaduh, jeung indikasi ukur dua kolom - jenis na warna. Kaluar tina kabiasaan, Anjeun masihan hiji argumen béda:
Pilih Oboi.type béda, Oboi.color FROM oboi Urutan ku Oboi.type |
Jeung - leungit sababaraha data:
ngetik | warna |
keretas | multicolor |
kertas ganda-layered | warna beigi |
vinyl | coklat |
vinyl | jeruk |
kaen | beureum ngora |
Fleece | warna beigi |
Fleece | bodas |
Ieu bisa méré gambaran yén makalah wallpaper (konvensional jeung dual-lapisan) kami geus ngan hiji pikiran, dina kanyataanana, sanajan dina tabél leutik kami dua artikel (hasil tanpa béda):
ngetik | warna |
keretas | multicolor |
keretas | multicolor |
kertas ganda-layered | warna beigi |
kertas ganda-layered | warna beigi |
vinyl | coklat |
vinyl | jeruk |
kaen | beureum ngora |
Fleece | bodas |
Fleece | warna beigi |
Ku alatan éta, sakumaha dina tulisan sagala pamundut jeung argumen kedah béda janten ati tur mampuh mutuskeun dina aplikasi anak, gumantung kana tugas.
alternatif béda
Sabalikna kana argumen béda - Sadaya argumen. Dina aplikasi na duplikat barisan disimpen. Tapi sakumaha databés standar sarta manggih yén éta téh perlu nembongkeun sagala nilai, argumen Sadaya - éta rada a qualifier batan fungsi argumen nu sabenerna.
Similar articles
Trending Now