CyfrifiaduronMeddalwedd

Coalesce sql: disgrifiad, defnydd, enghreifftiau

Wrth lunio ymholiadau sql, mae'n aml yn digwydd pan fyddwch chi'n dewis data, mae angen i chi gymharu gwerthoedd nifer o golofnau ac allbwn un ohonynt sy'n cynnwys data (nid yw'n wag). Mae'r ymadrodd Coalesce wedi datrys y broblem hon yn berffaith. Yn yr erthygl hon fe welwch ddisgrifiad llawn o'r mynegiant Coalesce sql, disgrifiad o'r nodweddion defnydd, yn ogystal ag enghreifftiau.

Allbwn gwerthoedd di-null gan ddefnyddio Coalesce. Nodweddion

Ystyriwch nodweddion defnyddiol Sql Coalesce:

  1. Mae'n caniatáu nodi unrhyw nifer o ddadleuon (yn wahanol i Isnull / Nvl / Nvl2, nifer y dadleuon sydd yn gyfyngedig).
  2. Yn gallu derbyn subqueries fel dadl.
  3. Yn dychwelyd y canlyniad sy'n hafal i'r gwerth di-Niw cyntaf , neu Null, os nad oes gwerth ar gael.
  4. Gellir defnyddio Sql Coalesce yn y cymal Dethol i ddewis gwerth nad yw'n wag, a hefyd yn Ble i nodi nad yw set o golofnau â gwerthoedd gwag yn cael ei ganiatáu (/ caniateir).
  5. Mae'r ymadrodd hwn yn gyfwerth â defnydd y mynegiant Achos, sy'n gwirio pob dadl yn olynol am yr amod Pan nad yw dadl1 yn null yna dadl1. Yn wir, mae Coalesce yn "shortcut" a grëwyd er hwylustod, ac mewn llawer o welliannau DBMS, mae optimizers yn ailddehongli'r ymadrodd Coalesce on Case.
  6. Mae nodweddion Sql Coalesce ar gael ym mhob system rheoli cronfa ddata berthynas flaenllaw .

Cytundeb Cystrawen

Mae unrhyw un sydd wedi defnyddio Coalesce erioed i lunio ymholiadau sql yn gwybod bod cystrawen yr ymadrodd hwn yn syml iawn. Mae'n ddigon i nodi mewn dadleuon braenau sy'n cael eu gwirio ar Null, wedi'u gwahanu gan gomiau. Os tybiwn fod gan y dadleuon yr enwau arg1, arg2, ... argN, yna bydd cystrawen Coalesce yn edrych fel hyn:

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

Byddwn yn paratoi nifer o dablau ar gyfer astudio mecanwaith yr ymadrodd hwn.

Paratoi tablau

Er mwyn deall yn well disgrifiad sql Coalesce, byddwn yn creu dau dabl yn y gronfa ddata sy'n cynnwys gwybodaeth am wrthrychau eiddo tiriog.

Dylai'r tabl Ardal gyntaf gynnwys enwau gwrthrychau eiddo tiriog a'u hardal. Gellir nodi'r ardal (area_yt) neu ei ddatgan (area_decl).

Id

Enw Gwrthwynebu

Ardal_yt

Ardal_decl

1

Adeiladu 1

116.2

114

2

Gwrthwynebiad adeiladu anorffenedig 1

568

3

Ystafell 1

64.7

4

Ystafell 2

34.2

5

Plot o dir 1

112

111.6

6ed

Cyfleuster 1

7fed

Ystafelloedd 3

27.9

8fed

Adeiladu 2

37.2

36.4

9fed

Adeilad 2

Dylai'r ail fwrdd Sylfaenol nodweddiadol gynnwys gwybodaeth ar brif nodwedd y gwrthrych eiddo tiriog - Estyniad, Dyfnder, Ardal, Cwmpas, Uchder.

Id

Enw Gwrthwynebu

Estyniad

Dyfnder

Ardal

Cwmpas

Uchder

1

Adeiladu 1

892.4

30

2

Adeilad 2

48

3

Cyfleuster 1

164.7

4

Plot o dir 1

5

Ystafell 1

23.6

6ed

Ystafell 2

34.7

7fed

Ystafelloedd 3

19.8

Archwiliwyd cystrawen Coalesce sql, y disgrifiad, y nodweddion defnydd, a symud ymlaen yn uniongyrchol at yr enghreifftiau.

Enghreifftiau o ddefnydd

Mae cystrawen mynegiant Coalesce yn hynod o syml, ond mae'n bwysig cofio mai canlyniad y gorchymyn fydd y gwerth heb fod yn wag gwreiddiol a geir o'r rhestr ddadlau. Mae'r sylw hwn yn bwysig iawn, felly mae'n rhaid i'r dadleuon yn yr ymadrodd gael eu gosod yn nhrefn pwysigrwydd. Y ffordd hawsaf o ddeall egwyddor y tabl ardal. Gwnewch gais sy'n dewis enw'r eiddo, yn ogystal â gwerth yr ardal:

SELECT Ardal.id, Area.object_name, coalesce (Area.area_yt, Area.area_decl)

O'r Ardal ODDI

A chael y canlyniad:

Id

Enw Gwrthwynebu

Coalesce

1

Adeiladu 1

116.2

2

Gwrthwynebiad adeiladu anorffenedig 1

568

3

Ystafell 1

64.7

4

Ystafell 2

34.2

5

Plot o dir 1

112

6ed

Cyfleuster 1

7fed

Ystafelloedd 3

27.9

8fed

Adeiladu 2

37.2

9fed

Adeilad 2

Ar gyfer y gwrthrychau "Adeiladu 1", "Plot Tir 1" a "Adeiladu 2", llenwyd y ddau werth ardal, ond yn y flaenoriaeth roedd yr ardal wedi'i mireinio, gan ein bod wedi ei nodi yn y rhestr o ddadleuon yn gyntaf. Darganfuodd yr ymadrodd Coalesce y gwerth cyntaf heb fod yn wag ac yn ei dynnu'n ôl, gan atal gwylio'r dadleuon ymhellach. Mae adeiladu'r cais hwn yn gywir, oherwydd bod yr ardal benodol yn fwy penodol na'r un datganedig. Os byddwn yn nodi'r ardal a ddatganwyd fel y ddadl gyntaf, yna os yw'r maes tabl hwn yn llawn, byddai'n flaenoriaeth.

Yn ogystal â defnyddio yn Select, yn aml iawn mae'r ymadrodd Coalesce yn cael ei ddefnyddio gyda'r cymal Ble. Mae'n eich galluogi i dorri oddi ar y canlyniad y llinellau hynny lle mae'r rhestr o feysydd yn wag (neu i'r gwrthwyneb, yn cynnwys y gwerthoedd hynny yn unig yn y canlyniad lle nad yw'r rhestr o feysydd yn cael eu llenwi). Mae'r sefyllfa hon ymhobman: er enghraifft, ar adeg cofrestru gweithiwr newydd, dim ond gwybodaeth sylfaenol am y cyflogai a gofnodwyd yn y gronfa ddata, a bod y wybodaeth fanwl yn cael ei adael "yn nes ymlaen". Yn raddol, mae'r "bylchau" yn arnofio - naill ai cyn y siec, neu wrth anfon y gweithiwr ar daith wyliau / busnes / absenoldeb salwch.

Dewiswch o'r bwrdd gyda phrif nodweddion gwrthrychau eiddo tiriog, nad ydynt yn llenwi unrhyw un o werthoedd y nodweddion:

SELECT id, object_name

ODDIOL Sylfaenol nodweddiadol

Lle mae coalesce (Estyniad, Dyfnder, Ardal, Cwmpas, Uchder) yn null

Ar gyfer yr ymholiad hwn, mae un gêm yn y tabl - y gwrthrych "Plot Tir 1", lle mae'r holl feysydd â nodweddion yn wag:

Id

Enw Gwrthwynebu

4

Plot o dir 1

Gobeithiwn fod ein disgrifiad manwl Coalesce sql wedi eich helpu i ddeall yr holl nodweddion o ddefnyddio'r mynegiant hwn, yn ogystal â delio â naws pwysig.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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