SQL Academy · Oppitunti

Aritmetiikka ja operaattorit

Laskekaa yhteen, vähentäkää, kertokaa ja jakakaa SQL:ssä.

Oppitunti 1/413 vaihetta

Aritmetiikka ja operaattorit on ilmainen SQL Academy-oppitunti CoddyKitissä. Tämä on oppitunti 1/4. Voit lukea koko oppitunnin alta ilmaiseksi ja harjoitella sen jälkeen käytännössä selaimessa sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla. Oppitunti kuuluu SQL Academy-oppimispolkuun, ja edistymisesi synkronoituu verkon ja CoddyKit-sovelluksen välillä. SQL Academy-kurssilla on yhteensä 4 oppituntia.

Laskutoimitukset SELECT-lausekkeessa

SQL:ää ei käytetä vain rivien hakemiseen. Voit laskea arvoja suoraan kyselyssä aritmeettisten operaattoreiden avulla.

Tässä oppitunnissa opit lisäämään, vähentämään, kertomaan ja jakamaan sarakkeiden ja literaalien avulla, nimeämään tulokset sekä ymmärtämään, miten PostgreSQL määrittää kunkin tuloksen tyypin.

Oletetaan, että order_items-taulussa on sarakkeet quantity ja unit_price. Voimme laskea rivin loppusumman koskematta sovelluskoodiin.

SELECT quantity, unit_price, quantity * unit_price AS line_total
FROM order_items;

Viisi aritmeettista operaattoria

PostgreSQL tukee tavallisia operaattoreita:

  • + yhteenlasku
  • - vähennyslasku
  • * kertolasku
  • / jakolasku
  • % jakojäännös

Ne toimivat numeeristen sarakkeiden ja literaalien kanssa aivan kuten missä tahansa ohjelmointikielessä. Alla oleva kysely näyttää jokaisen operaattorin käytännössä.

SELECT
  10 + 3  AS sum,
  10 - 3  AS difference,
  10 * 3  AS product,
  10 / 3  AS quotient,
  10 % 3  AS remainder;

Operaattoreiden laskentajärjestys

SQL noudattaa matematiikan tavanomaista laskujärjestystä: *-, /- ja %-operaattorit sitovat voimakkaammin kuin +- ja --operaattorit.

Käytä sulkeita ilmaisemaan tarkoitus selkeästi ja ohittamaan oletusjärjestys. Alla olevat kaksi lauseketta tuottavat hyvin erilaiset tulokset.

SELECT
  2 + 3 * 4        AS without_parens,  -- 14
  (2 + 3) * 4      AS with_parens;     -- 20

Alennetun hinnan laskeminen

Yleinen käytännön tehtävä on prosenttialennuksen soveltaminen. Kerro hinta lausekkeella (1 - discount_rate).

Tässä discount_rate on tallennettu murtolukuna (0.15 = 15 %). Sulkeet varmistavat, että vähennyslasku tehdään ennen kertolaskua.

SELECT
  product_id,
  price,
  discount_rate,
  price * (1 - discount_rate) AS final_price
FROM products;

Sarakkeiden väliset laskutoimitukset

Operandien ei tarvitse olla literaaleja. Voit yhdistää useita sarakkeita samaan lausekkeeseen.

Alla laskemme myyntikohtaisen nettovoiton: liikevaihdosta vähennetään kustannukset ja tulos kerrotaan myytyjen tuotteiden määrällä.

SELECT
  sale_id,
  (sale_price - cost) * quantity AS profit
FROM sales;

Tulosten nimeäminen AS-avainsanalla

Lasketut sarakkeet saavat automaattisesti nimet, kuten ?column?, ellet anna niille aliasta. Käytä aina AS-avainsanaa helposti luettavien nimien antamiseen.

Alias helpottaa myös sarakkeeseen viittaamista työkaluissa ja raporteissa.

SELECT
  base_salary,
  base_salary * 0.10 AS bonus,
  base_salary + base_salary * 0.10 AS total_pay
FROM employees;

Aritmetiikka WHERE-lausekkeessa

Voit käyttää aritmetiikkaa myös WHERE-lausekkeessa, ei vain SELECT-lausekkeessa.

Tämä suodattaa mukaan tilaukset, joiden laskettu loppusumma ylittää arvon 100. Huomaa: sarakkeen ympäröiminen laskutoimituksella voi estää indeksin käytön, joten suosi suodatuksessa tavallisia sarakkeita, kun suorituskyky on tärkeää.

SELECT order_id, quantity, unit_price
FROM order_items
WHERE quantity * unit_price > 100;

Tulostyypit määräytyvät syötteiden perusteella

PostgreSQL päättelee tulostyypin operandien perusteella. Kokonaisluku + kokonaisluku tuottaa kokonaisluvun; jos jompikumpi puoli on tyyppiä numeric tai float, tulos on samaa tyyppiä.

Tämä on tärkeintä jakolaskuissa, joita käsittelemme myöhemmin. Huomaa tässä vaiheessa, miten tyyppien yhdistäminen muuttaa tuloksen tyyppiä.

SELECT
  pg_typeof(4 + 2)        AS int_type,      -- integer
  pg_typeof(4 + 2.0)      AS numeric_type,  -- numeric
  pg_typeof(4 * 1.5);                        -- numeric

Jakojäännösoperaattori

% palauttaa kokonaislukujen jakolaskun jakojäännöksen. Se on hyödyllinen jaksottaisessa logiikassa, kuten joka N:nnen rivin käsittelyssä tai parillisten ja parittomien arvojen tarkistamisessa.

Alla etsimme parilliset tuotetunnisteet ehdolla % 2 = 0.

SELECT product_id, name
FROM products
WHERE product_id % 2 = 0;

Arvot päivittäminen aritmetiikalla

Aritmetiikka ei rajoitu SELECT-lausekkeeseen. Voit käyttää sitä UPDATE-lausekkeessa tallennettujen arvojen muuttamiseen.

Tämä korottaa jokaisen kategorian hinnat 5 prosentilla. Oikeanpuoleinen lauseke arvioidaan jokaiselle riville erikseen.

UPDATE products
SET price = price * 1.05
WHERE category = 'electronics';

Varo NULL-arvoja

Kaikki NULL-arvon sisältävät aritmeettiset laskutoimitukset tuottavat NULL-arvon, koska tulos on tuntematon.

Jos sarakkeesta saattaa puuttua arvo, käytä sen ympärillä COALESCE-funktiota oletusarvon antamiseen ennen laskutoimitusta.

SELECT
  base + NULL                     AS is_null,      -- NULL
  base + COALESCE(bonus, 0)       AS safe_total
FROM payroll;

Pikakertaus

Minkä tuloksen lauseke 2 + 6 / 2 saa PostgreSQL:ssä?

Kertaus

Voit laskea arvoja suoraan SQL:ssä:

  • + - * / % ovat keskeiset operaattorit
  • *-, /- ja %-operaattorit sitovat voimakkaammin kuin +- ja --operaattorit; käytä sulkeita tarkoituksen ilmaisemiseen selkeästi
  • Nimeä lasketut sarakkeet aliaksilla käyttäen AS-avainsanaa
  • Aritmetiikka toimii SELECT-, WHERE- ja UPDATE-lausekkeissa
  • Tulostyyppi määräytyy operandien perusteella, ja mikä tahansa NULL-operand tekee tulokseksi NULL-arvon

Seuraavaksi käsittelemme näiden numeeristen tulosten pyöristämistä ja katkaisemista.

Aloita maksutta

Opi SQL tekoälytuutorin avulla — ilmaiseksi

Kirjoita ja suorita oikeaa koodia selaimessa, saa välitöntä apua tekoälytuutorilta ympäri vuorokauden ja jatka siitä, mihin jäit, verkossa tai sovelluksessa.

Kurssit
46
Oppitunnit
183

Usein kysytyt kysymykset

Onko oppitunti ”Aritmetiikka ja operaattorit” ilmainen?

Kyllä – oppitunnin ”Aritmetiikka ja operaattorit” koko tekstin voi lukea täällä verkossa ilmaiseksi. Jos haluat harjoitella interaktiivisesti sisäänrakennetulla koodieditorilla ja ympäri vuorokauden käytettävissä olevan tekoälytuutorin avulla sekä avata koko SQL Academy-kurssin, päivitä CoddyKit PROhon. SQL Academy-kurssilla on yhteensä 4 oppituntia.

Mitä opin oppitunnilla ”Aritmetiikka ja operaattorit”?

Laskekaa yhteen, vähentäkää, kertokaa ja jakakaa SQL:ssä. Harjoittelet SQL Academy-aihetta koodilla, jonka suoritat suoraan selaimessa. Ympäri vuorokauden käytettävissä oleva tekoälytuutori vastaa kysymyksiisi oppitunnin aikana.

Tarvitsenko kokemusta aloittaakseni SQL Academy-opiskelun?

Aiempi kokemus ei ole tarpeen. CoddyKitin SQL Academy-oppimispolku sopii vasta-alkajista edistyneisiin, joten voit aloittaa tästä tai alusta ja edetä omaan tahtiisi. Tämä on oppitunti 1/4.

Kuinka kauan ”Aritmetiikka ja operaattorit”-oppitunnin suorittaminen kestää?

Useimmat CoddyKitin oppitunnit kestävät noin 5–10 minuuttia. Jokainen oppitunti on lyhyt ja interaktiivinen, joten edistyt tasaisesti ja voit jatkaa siitä, mihin jäit – sekä verkossa että sovelluksessa.

Voinko kirjoittaa ja suorittaa koodia tällä SQL Academy-oppitunnilla?

Kyllä. Jokainen SQL Academy-oppitunti sisältää sisäänrakennetun koodieditorin, joten voit kirjoittaa ja suorittaa oikeaa koodia suoraan selaimessa ja saada välitöntä palautetta tekoälyltä – paikallista asennusta ei tarvita.

Kaikki tämän kurssin oppitunnit

  1. Aritmetiikka ja operaattorit
  2. Pyöristäminen ja katkaiseminen
  3. Kokonaisluku- ja desimaalijako
  4. Hyödylliset matemaattiset funktiot
← Takaisin: SQL Academy