Aritmetiikka ja operaattorit
Laskekaa yhteen, vähentäkää, kertokaa ja jakakaa SQL:ssä.
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; -- 20Alennetun 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); -- numericJakojää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- jaUPDATE-lausekkeissa - Tulostyyppi määräytyy operandien perusteella, ja mikä tahansa
NULL-operand tekee tulokseksiNULL-arvon
Seuraavaksi käsittelemme näiden numeeristen tulosten pyöristämistä ja katkaisemista.
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
- Aritmetiikka ja operaattorit
- Pyöristäminen ja katkaiseminen
- Kokonaisluku- ja desimaalijako
- Hyödylliset matemaattiset funktiot