/ / Coalesces sql: apraksts, lietošanas līdzekļi, piemēri

Sakļaut sql: apraksts, izmantošana, piemēri

Sagatavojot sql vaicājumus bieži notieksituācija, kad, izgūstot datus, ir nepieciešams salīdzināt vairāku kolonnu vērtības un izvadīt tādu, kas satur datus (nav tukšs). Šī problēma ir pilnīgi atrisināta ar izteiksmi Coalesce. Šajā rakstā jūs atradīsiet pilnīgu Coalesce sql izteiksmes aprakstu, lietošanas pazīmju aprakstu, kā arī piemērus.

saplūst sql apraksts

Neuztvertu vērtību atrašana ar Coalesce. Īpašas funkcijas

Apsveriet Sql Coalesce lietojuma funkcijas:

  1. Ļauj precizēt jebkuru argumentu skaitu (atšķirībā no Isnull / Nvl / Nvl2, kuru argumentu skaits ir ierobežots).
  2. Var pieņemt subqueries kā argumentu.
  3. Atgriež rezultātu, kas ir vienāds ar vispirms vērtība, kas nav Null, vai NULL, ja nav atrasta Null vērtība.
  4. Sql Coalesce var izmantot izvēles klajā, lai atlasītu nevajadzīgu vērtību, kā arī, kur paskaidrot, ka kolonnu kopums ar tukšām vērtībām nav atļauts (/ atļauts).
  5. Šis izteiciens ir līdzvērtīgs izteiksmes izmantošanaiGadījums, pēc kārtas pārbaudot visus argumentus par nosacījumu. Kad arguments1 nav nulle, tad arguments1. Būtībā Coalesce ir "etiķete", kas izveidots izmantošanas ērtībai, un daudzos DBMS vaicājumu optimizētājos pārrakstīt izteiksmi Coalesce to Case.
  6. Sql Coalesce funkcijas ir atrodamas visās vadošajās relāciju datu bāzu pārvaldības sistēmās.

sql saplūst

Sapūst sintakse

Ikviens, kurš kādreiz ir lietojis Coalescesastādot sql vaicājumus, zina, ka šīs izteiksmes sintakse ir ārkārtīgi vienkārša. Pietiek iekavās norādīt Null pārbaudītos argumentus, atdalot tos ar komatiem. Ja pieņemam, ka argumenti tiek nosaukti arg1, arg2,… ​​argN, tad koalces sintakse būs šāda:

Saplūst (arg1, arg2, ... argN).

sql saplūšanas funkcijas

Sagatavosim vairākas tabulas, lai izpētītu šīs izteiksmes mehānismu.

Gatavo tabulas

Lai labāk izprastu Coalesce sql aprakstu, izveidosim divas tabulas, kas satur informāciju par nekustamā īpašuma objektiem datu bāzē.

Ļaujiet pirmajā tabulā Platība norādīt nekustamā īpašuma objektu nosaukumus un to platību. Platību var norādīt (area_yt) vai deklarēt (area_decl).

id

objekta_nosaukums

area_yt

apgabala_decl

1

1. ēka

116,2

114

2

Notiek būvdarbi 1

568

3

1. istaba

64,7

4

2. istaba

34,2

5

1. zemes gabals

112

111,6

6

1. ēka

7

3. istaba

27,9

8

2. ēka

37,2

36,4

9

2. ēka

Otra Basic_characteristic tabula ļaujietsatur informāciju par nekustamā īpašuma objekta galvenajām īpašībām - Pagarinājumu, Dziļumu, Platību, Darbības jomu, Augstumu.

id

objekta_nosaukums

Pagarinājums

Dziļums

Platība

Darbības joma

Augstums

1

1. ēka

892,4

30

2

2. ēka

48

3

1. ēka

164,7

4

1. zemes gabals

5

1. istaba

23,6

6

2. istaba

34,7

7

3. istaba

19,8

Mēs apskatījām Coalesce sql sintaksi, aprakstu, lietošanas iezīmes un turpināsim tieši piemērus.

Lietošanas piemēri

Koalces izteiksmes sintakse ir ārkārtīgi vienkārša,tomēr ir svarīgi atcerēties, ka komanda atgriezīs FIRST neiztukšoto vērtību, kas atrasta argumentu sarakstā. Šī piezīme ir ļoti nozīmīga, tāpēc argumenti izteiksmē ir jāsakārto svarīguma secībā. Visvienkāršāk principu var saprast, izmantojot apgabala tabulu. Izveidojiet vaicājumu, kas atlasa rekvizīta nosaukumu, kā arī apgabala vērtību:

ATLASIET Area.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl)

NO rajona

Un iegūstiet rezultātu:

id

objekta_nosaukums

Saplūst

1

1. ēka

116,2

2

Notiek būvdarbi 1

568

3

1. istaba

64,7

4

2. istaba

34,2

5

1. zemes gabals

112

6

1. ēka

7

3. istaba

27,9

8

2. ēka

37,2

9

2. ēka

Objektiem "1. ēka", "1. zemes gabals" un"Building 2" abas laukuma vērtības tika aizpildītas, bet prioritāte bija norādītais apgabals, jo mēs to vispirms norādījām argumentu sarakstā. Koalces izteiksme atrada pirmo vērtību, kas nav tukša, un izmeta to, apturot turpmāku argumentu skenēšanu. Šī vaicājuma konstrukcija ir pareiza, jo norādītais apgabals ir precīzāks nekā deklarētais. Ja mēs kā pirmo argumentu būtu norādījuši deklarēto platību, tad, aizpildot šo tabulas lauku, tam būtu prioritāte.

Papildus tam, ka to bieži izmanto Select, ļoti biežikoalēzes izteiksme tiek lietota ar klauzulu Kur. Tas ļauj no rezultāta nogriezt tās rindas, kurās lauku saraksta vērtības ir tukšas (vai otrādi, lai rezultātā iekļautu tikai tās vērtības, kur lauku saraksts ir tukšs). Šī situācija notiek visur: piemēram, uzņēmumā, reģistrējot jaunu darbinieku, datu bāzē tika ievadīta tikai pamatinformācija par viņu, un detalizētas informācijas aizpildīšana tika atstāta “vēlākam laikam”. Pamazām rodas "nepilnības" - vai nu pirms pārbaudes, vai arī nosūtot darbinieku atvaļinājumā / komandējumā / slimības atvaļinājumā.

No tabulas ar galvenajiem raksturlielumiem atlasīsim nekustamā īpašuma objektus, kuriem neviena no raksturīgajām vērtībām nav aizpildīta:

SELECT ID, objekta_nosaukums

FROM Basic_characteristic

Kur apvienošanās (pagarinājums, dziļums, laukums, darbības joma, augstums) ir nulle

Šim vaicājumam tabulā ir viena atbilstība - objekts "1. zemes gabals", kurā visi lauki ar raksturlielumiem ir tukši:

id

objekta_nosaukums

4

1. zemes gabals

sql saplūst lietošanas funkcijas

Mēs ceram, ka mūsu detalizētais Coalesce sql apraksts ir palīdzējis jums izprast visas šīs izteiksmes izmantošanas iespējas, kā arī tikt galā ar svarīgām niansēm.