KompüterFayl növləri

Fərqli SQL: təsviri, nümunələri, xassələri

Siz masalar məlumat almaq üçün SQL istifadə edərkən tez-tez, istifadəçi lazımsız məlumatlar tamamilə eyni cüt satır olmasıdır alır. Bu vəziyyəti qarşısını almaq üçün, cümlə seçin SQL fərqli dəlil istifadə edin. Bu yazı proqram mübahisə tərəfindən tərk edilməlidir olan bu dəlil istifadə nümunələri, eləcə də vəziyyətləri müzakirə edəcək.

biz xüsusi nümunələrini nəzərdən davam əvvəl, masa bir neçə tələb bazası yaradır.

hazırlanması masa

iki cədvəllərdə təqdim divar kağızı haqqında bir verilənlər bazası mağazalar məlumatlar var ki, düşünün. , Rəng (rəng), bir struct (struktur) və qiymət (qiymət) - növü (. Kağız, vinil, və s. Divar kağızı növü) id sahələrində (unikal identifikator) Bu masa oboi (divar kağızı). Və masa Ostatki id_oboi sahələri ilə (qalıqları) və sayı (fond rulonlarda sayı) (cədvəl oboi unikal identifikator istinad).

data masa doldurun. cədvəldə divar kağızı 9 qeydlər əlavə edin:

oboi

id

növü

rəng

struct

qiymət

1

kağız

DEGRADE

desenli

56.9

2

kağız cüt laylı

bej-rəngli

hamar

114,8

3

vinil

narıncı

desenli

504

4

yolmaq

bej-rəngli

desenli

1020,9

5

kağız cüt laylı

bej-rəngli

hamar

150.6

6

kağız

DEGRADE

hamar

95.4

7

vinil

palıdı

hamar

372

8

yolmaq

desenli

980,1

9

parça

çəhrayı

hamar

1166,5

qalıqları ilə masa - doqquz qeydlər:

Ostatki

id_oboi

saymaq

1

8

2

12

3

24

4

9

5

16

6

7

7

24

8

32

9

11

Biz SQL fərqli qaydada təsviri keçin.

Select bənddə fərqli qoyun

fərqli arqument sorğu Select söz dərhal sonra yerləşdirilməlidir. Bu tamamilə eyni strings yekun sorğu nəticəsində xaric olacaq, çünki O, cümlə seçin göstərilən bütün sütunları tətbiq. Belə ki, bir dəfə SQL yazarkən sorğu «ayrı seçmək» müəyyən etmək üçün kifayətdir. istisna sonra bir az baxmaq fərqli daxili ümumi funksiyaları istifadə edir.

Bu məlumat bazası ən ki, yadda olmalıdır və tələbi sizin növü tanımır:

fərqli Ostatki.Count, fərqli oboi seçin. *

oboi FROM

INNER Oboi.id = Ostatki.id_oboi ON Ostatki OL

Orada arqument bir neçə dəfə hesab və ya bir dəfə müəyyən deyil, üçüncü ikinci və ya digər seçilmiş sütun əvvəl. Siz sintaksis bir səhv toxunaraq bir səhv olacaq.

standart tətbiqi fərqli sorğu

Bu, tamamilə eyni strings var zaman bir masa ərzində onlara doldurulması müvafiq bina quruluşu masaları ilə vəziyyəti xaric ki, aydındır. Buna görə də, sorğu icra bir masa bir nümunə ilə «fərqli * seçin» mümkün deyil.

biz növü düzmək üçün, yalnız rahatlığı üçün, biz divar kağızı var hansı növ bilmək lazımdır bir vəziyyətə nəzər salaq:

SELECT Oboi.type

növü oboi üçün FROM

Və nəticələr almaq:

növü

kağız

kağız

kağız cüt laylı

kağız cüt laylı

vinil

vinil

parça

yolmaq

yolmaq

cədvəldə göründüyü kimi cüt satır var. biz təklifi əlavə etsək fərqli seçin:

fərqli Oboi.type SEÇİN

növü oboi üçün FROM

biz təkrar olmadan nəticə almaq:

növü

kağız

kağız cüt laylı

vinil

parça

yolmaq

Düzgün bir masa məlumat daxil Belə ki, sonra dərhal alıcıların bir telefon və ya sorğu sonra mağaza mövcud maye divar kagızı, fiberglas və akril divar kagızı deyil ki, cavab verə bilərsiniz. mağazalar sıra adətən yüz divar kağızı məhdud deyil ki, nəzərə alaraq, olduqca intensiv əmək olardı qeyri-unikal növlərinin siyahısını görmək.

ərzində fərqli ümumi funksiyaları tətbiqi

SQL fərqli dəlil hər hansı bir ümumi funksiyası ilə istifadə edilə bilər. Amma Min və Max onun tətbiqi üçün heç bir təsiri var, lakin məbləğ və ya orta dəyəri hesablanarkən nadir hallarda heç bir nəzərə təkrar almaq lazımdır ki, bir vəziyyət olacaq.

biz anbar tutumu yoxlamaq və bu sorğu göndərmək istəyirəm düşünək, fond rulonlarda ümumi sayı hesablayır:

SELECT məbləğ (Ostatki.count)

Ostatki FROM

Filmlərin 143. Lakin, biz dəyişəcək cavab verəcək:

SELECT məbləğ (fərqli Ostatki.count)

Ostatki FROM

biz hissəsi nömrələri 3 divar kağızı kimi, ümumi 119 almaq və 7 eyni miqdarda fond var. Lakin, cavab səhv olduğunu aydındır.

Ən tez-tez SQL fərqli funksiyası Count istifadə olunur. Belə ki, biz asanlıqla divar kağızı neçə unikal növləri tapa bilərsiniz, biz var:

SELECT count (fərqli Oboi.type)

oboi FROM

Və 5 nəticə əldə - adi kağız və ikiqat qat vinil və qeyri-toxunma parça. Şübhəsiz ki, bütün bu kimi reklam görüldü: olan bu mağaza yalnız bir neçə çox rulonlarda və divar kağızı müasir növləri bir sıra ki, deməkdir "Yalnız biz, divar kağızı, 20-dən çox müxtəlif növ var".

Eyni sorğu, siz Count fərqli aid kimi çox funksiyaları daxil və olmadan edə bilərsiniz ki, maraqlı deyil. Bu Select'e fərqli mövcud bir neçə dəfə ola bilər ki, yalnız bir vəziyyətdir.

Zaman dəlil istifadə imtina

SQL fərqli dəlil istifadə yerlərdən birinə tərk edilməlidir:

  1. Siz masalar bir seçim çıxış və unikal dəyəri hər əminik. Bu server və ya müştəri (DBMS növündən asılı olaraq) əlavə yük, çünki bu halda, mübahisə istifadə yersizdir.
  2. sizin data itirmək qorxuruq. Bizə izah edək.

növü və rəngi - Suppose boss yalnız iki sütun göstərilməklə var divar kağızı siyahısı soruşur. vərdiş Out, siz fərqli bir dəlil vermək:

, Oboi.color fərqli Oboi.type SEÇİN

oboi FROM

ORDER BY Oboi.type

Və - bəzi məlumatlar itirmək:

növü

rəng

kağız

DEGRADE

kağız cüt laylı

bej-rəngli

vinil

palıdı

vinil

narıncı

parça

çəhrayı

yolmaq

bej-rəngli

yolmaq

Bu kağız (şərti və dual-qat) divar kağızı biz, əslində, hətta iki maddənin bizim kiçik masa yalnız bir mind (ayrı olmadan nəticə) ki, təəssürat verə bilər:

növü

rəng

kağız

DEGRADE

kağız

DEGRADE

kağız cüt laylı

bej-rəngli

kağız cüt laylı

bej-rəngli

vinil

palıdı

vinil

narıncı

parça

çəhrayı

yolmaq

yolmaq

bej-rəngli

Buna görə də, vəzifə asılı olaraq, onun tətbiqi haqqında qərar qəbul etmək ehtiyatlı və səlahiyyətli olması dəlil fərqli ehtiyacı hər hansı bir sorğu yazılı kimi.

fərqli alternativ

Bütün dəlil - fərqli dəlil əksinə. onun tətbiqi cüt satır saxlanılır. Amma və default bazası kimi bütün dəyərləri, dəlil Bütün keçirmək üçün zəruri hesab edir ki, - bu, olduqca faktiki funksiyası arqument daha seçmə edir. Biz indi fərqli (SQL) istifadə olunur ki, başa düşürük ki, ümid edirik. Təsvir müxtəlif problemlərin həllində bu arqumenti istifadə mümkünlüyü haqqında tam məlumat verir. Bu çıxdı kimi bütün sonra, onun tətbiqi, hətta belə bir sadə dəlil qeyri-dəqiq məlumat bir data itirmək və keçirmək çox maddi imkanı gizlədir.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 az.birmiss.com. Theme powered by WordPress.