V svetu baz podatkov moramo pogosto izvajati matematične operacije s podatki, ki so shranjeni v tabelah. Ena takšnih pogostih operacij je matematična delitev, ki je uporabna, ko moramo določiti vrednosti, kot so razmerje, odstotki ali katere koli druge izpeljane metrike.
V tej vadnici bomo spoznali običajno operacijo deljenja, ki vključuje deljenje dveh stolpcev matematične tabele.
Vzorčna tabela
Za namene predstavitve ustvarimo tabelo, ki vsebuje metrične podatke, in jo uporabimo za ponazoritev, kako razdeliti dva stolpca v SQL.
CREATE TABLE country_data (
id PRIMARNI KLJUČ INT AUTO_INCREMENT NI NULL,
ime_države VARCHAR ( 255 ) NI NULL,
prebivalstvo INT NOT NULL,
razdalja FLOAT NOT NULL,
gdp DECIMALNO ( petnajst ,
2 ) NI NULL PRIVZETO ( 0 )
) ;
To bi moralo ustvariti tabelo z imenom »country_data« in vsebovati podatke o državi, kot so ime države, prebivalstvo, skupna razdalja in bdp.
Nato lahko zapise vstavimo v tabelo na naslednji način:
VSTAVIINTO
podatki o državi ( ime_države,
prebivalstvo,
razdalja,
bdp )
VREDNOTE
( 'Združene države' ,
331002651 ,
9831,34 ,
22675248,00 ) ,
( 'Kitajska' ,
1439323776 ,
9824,58 ,
16642205,00 ) ,
( 'Indija' ,
1380004385 ,
3846.17 ,
2973191,00 ) ,
( 'Brazilija' ,
212559417 ,
8326.19 ,
1839756,00 ) ,
( 'Rusija' ,
145934462 ,
10925,55 ,
1683005,00 ) ;
Rezultat je naslednji:
Razdeli dva stolpca v SQL
Recimo, da želimo izračunati povprečno populacijo za vsako kvadratno enoto. Celotno število prebivalcev lahko delimo z oddaljenostjo države.
Za razdelitev dveh stolpcev v SQL uporabimo operator »/«, ki mu sledijo stolpci, v katere želimo razdeliti.
Na primer:
IZBERIime_države,
prebivalstvo,
razdalja,
bdp,
( prebivalstvo / razdalja ) AS avg_pop
OD
podatki o državi;
V tem primeru razdelimo stolpec populacije s stolpcem razdalje in dobljenemu stolpcu dodelimo vzdevek »avg_pop«.
Nastali niz je naslednji:
To prikazuje povprečno število prebivalcev države na kvadratno enoto.
Zaključek
V tej vadnici smo se naučili, kako lahko izvedemo matematično delitev v SQL tako, da razdelimo dva stolpca tabele, da pridobimo rezultate za vsako ustrezno vrednost.