Coalesce sql: descriere, utilizare, exemple

La compilarea interogărilor SQL,Situația când selectezi date, trebuie să comparăm valorile mai multor coloane și să scoatem una dintre ele, care conține date (nu goale). Această problemă este rezolvată perfect de expresia Coalesce. În acest articol veți găsi o descriere completă a expresiei Coalesce sql, o descriere a caracteristicilor de utilizare, precum și exemple.

coalesce sql descriere

Rezultat de valori non-null folosind Coalesce. caracteristici

Luați în considerare caracteristicile Sql Coalesce de utilizare:

  1. Atribuie o indicație a unui număr de argumente (spre deosebire de Isnull / Nvl / Nvl2, numărul de argumente în care este limitat).
  2. Pot accepta subcheile ca argument.
  3. Returnează rezultatul egal cu primul altul decât Null sau Null, dacă nu s-a găsit o altă valoare decât Null.
  4. Sql Coalesce poate fi folosit în clauza Select pentru a selecta o valoare non-goală și, de asemenea, în Unde să specificați că un set de coloane cu valori goale nu este permis (/ permis).
  5. Această expresie este echivalentă cu aplicarea expresieiCauza, care verifică fiecare argument succesiv pe condiție Când argumentul1 nu este nul, atunci argument1. De fapt, Coalesce este o "comandă rapidă" concepută pentru ușurința utilizării, iar în multe optimizatori de interogări DBMS rescrie expresia Coalesce pe caz.
  6. Funcțiile Sql Coalesce sunt disponibile în toate cele mai importante sisteme de management al bazelor de date relaționale.

sql coalesce

Sintaxa Coalesce

Toată lumea care a folosit Coalesce cel puțin o datăcompilarea interogărilor SQL, știe că sintaxa acestei expresii este extrem de simplă. Este suficient să specificați în paranteze argumente care sunt bifate pe Null, separate de o virgulă. Dacă presupunem că argumentele au arg1, arg2, ... argN, atunci sintaxa Coalesce va arăta astfel:

Coalesce (arg1, arg2, ... argN).

funcții de coalesce SQL

Să pregătim câteva mese pentru a studia mecanismul acestei expresii.

Pregătirea meselor

Pentru a înțelege mai bine descrierea Coalesce sql, vom crea în baza de date două tabele care conțin informații despre obiecte imobile.

Prima masă de suprafață trebuie să conțină numele obiectelor imobile și zona lor. Zona poate fi specificată (area_yt) sau declarată (area_decl).

id

nume_obiect

area_yt

area_decl

1

Clădirea 1

116,2

114

2

Obiectul de construcție neterminat 1

568

3

Cameră 1

64,7

4

Cameră 2

34,2

5

Parcelă de teren 1

112

111,6

6

Facilitatea 1

7

Camere 3

27,9

8

Construcția 2

37,2

36,4

9

Clădirea 2

Al doilea tabel este caracteristică de bazăconține informații despre principala caracteristică a proprietății - extensie, adâncime, zonă, domeniu, înălțime.

id

nume_obiect

extensie

adâncime

zonă

domeniu

înălțime

1

Clădirea 1

892,4

30

2

Clădirea 2

48

3

Facilitatea 1

164,7

4

Parcelă de teren 1

5

Cameră 1

23,6

6

Cameră 2

34,7

7

Camere 3

19,8

Am examinat sintaxa de la Coalesce sql, descrierea, trăsăturile de utilizare și continuăm direct cu exemplele.

Exemple de utilizare

Sintaxa expresiei Coalesce este foarte simplă,dar este important să rețineți că rezultatul comenzii va fi valoarea FIRST non-empty găsită din lista de argumente. Această remarcă este foarte importantă, astfel încât argumentele din expresie trebuie să fie plasate în ordinea importanței. Cea mai ușoară modalitate de a înțelege principiul tabelului de zonă. Faceți o solicitare care selectează numele proprietății, precum și valoarea zonei:

SELECTați Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl)

Din zona

Și obțineți rezultatul:

id

nume_obiect

coaliza

1

Clădirea 1

116,2

2

Obiectul de construcție neterminat 1

568

3

Cameră 1

64,7

4

Cameră 2

34,2

5

Parcelă de teren 1

112

6

Facilitatea 1

7

Camere 3

27,9

8

Construcția 2

37,2

9

Clădirea 2

Pentru obiectele "Clădirea 1", "Parcela 1" și"Construcția 2" a fost umplută cu ambele valori ale zonei, dar în prioritate a fost rafinată zona, pentru că am indicat-o mai întâi în lista de argumente. Expresia Coalesce a găsit prima valoare non-goală și a dedus-o, oprindu-i în continuare vizualizarea argumentelor. Această construcție a interogării este corectă, deoarece zona specificată este mai specifică decât cea declarată. Dacă specificăm zona declarată ca fiind primul argument, atunci dacă acest câmp tabel este plin, ar fi în prioritate.

În plus față de utilizarea în Select, foarte desexpresia Coalesce se aplică cu clauza Where. Vă permite să eliminați din rezultate acele linii în care lista câmpurilor este goală (sau invers, includeți numai acele valori în rezultatul în care lista câmpurilor nu este completă). Această situație este peste tot: de exemplu, la momentul înregistrării unui nou angajat, în baza de date au fost introduse numai informațiile de bază despre angajat, iar informațiile detaliate au fost lăsate "pentru mai târziu". Treptat, "golurile" plutesc - fie înainte de cec, fie când trimiteți angajatul în concediu / călătorie de afaceri / concediu medical.

Alegeți din tabel cu principalele caracteristici ale obiectelor imobile care nu au nici una din valorile caracteristice:

SELECT id, object_name

Din caracteristica Basic_characteristic

În cazul în care coalesce (extensie, adâncime, zonă, domeniu, înălțime) este nulă

Pentru această interogare, există o potrivire în tabel - obiectul "Parcelă 1", în care toate câmpurile cu caracteristici sunt goale:

id

nume_obiect

4

Parcelă de teren 1

sql coalesce caracteristici de utilizare

Sperăm că descrierea noastră detaliată a Coalesce vă va ajuta să înțelegeți toate caracteristicile utilizării acestei expresii, precum și să rezolvați nuanțe importante.

</ p>
a placut:
0
Articole similare
Future Perfect: exemple de utilizare
Pentru a ajuta elevul: definiția, tipul și
Nevoile materiale ale omului - exemple,
Instrucțiunea SQL INNER JOIN: exemple, sintaxă
Exemple de sisteme de operare reale
HAVING SQL: descriere, sintaxă, exemple
Pentru incepatori: exemple de interviu
Pregătirea pentru o slujbă: exemple
Metonimia. Exemple din domeniul artistic
Postări populare
în sus