Esittely latautuu. Ole hyvä ja odota

Esittely latautuu. Ole hyvä ja odota

Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola.

Samankaltaiset esitykset


Esitys aiheesta: "Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola."— Esityksen transkriptio:

1 Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola

2 Tietokantakyselyt SQL funktiot 10.3.2015 Lauri Tapola

3 SQL-kyselyt. Laskentafunktiot Yleisimpiä laskentafunktioita: AVG() keskiarvo - Returns the average value COUNT() lukumäärä - Returns the number of rows FIRST() ensimmäinen - Returns the first value LAST() viimeinen - Returns the last value MAX() suurin arvo - Returns the largest value MIN() pienin arvo - Returns the smallest value SUM() summa - Returns the sum

4 Esimerkkejä tarvittavista kyselyistä: 1. Mikä on tuotteiden keskimääräinen ostohinta? 2. Mikä on kallein tuote? 3. Mikä on halvin tuote? 4. Kuinka monta asiakasta tietokannassa on? 5. Kuinka monta tuotetta on varastossa? 6. Mikä on varaston arvo? Tuotteiden määrä * hinta. SQL Laskentafunktiot, s1 Ohjeita löytyy mm.: http://www.w3schools.com/sql/

5 Seuraavat tehtävät käsittelevät tietokantaa classicmodels. Varmista oikea tietokanta komennolla: USE classicmodels 1. Mikä on tuotteiden keskimääräinen ostohinta? SELECT avg(buyPrice) FROM products 2. Mikä on kallein tuote? Kallein hinta: SELECT max(buyPrice) FROM products 3. Mikä on halvin tuote? Halvin hinta: SELECT min(buyPrice) FROM products HUOM! Tuotteet hinta-järjestyksessä: SELECT productname, buyPrice FROM products ORDER BY buyPrice SQL Laskentafunktiot, s2 Ohjeita löytyy mm.: http://www.w3schools.com/sql/

6 4. Kuinka monta asiakasta tietokannassa on? SELECT count(*) FROM customers 5. Kuinka monta tuotetta on varastossa? SELECT sum(quantityinstock) FROM products 6. Mikä on varaston kokonaisarvo? Tuotteiden määrä * hinta. SELECT sum(quantityInStock*buyPrice) as arvo FROM products Pyöristettynä 1 desimaalilla: SELECT round(sum(quantityInStock*buyPrice),1) as arvo FROM products SQL Laskentafunktiot, s3 Ohjeita löytyy mm.: http://www.w3schools.com/sql/

7 Lisää hyödyllisiä laskentaan liittyviä funktioita, käyttöesimerkkejä: ROUND() pyöristys - Rounds a numeric field to the number of decimals specified NOW() tai sysdate() aika - Returns the current system date and time FORMAT() muotoilu - Formats how a field is to be displayed TIME_FORMAT() päivämäärän ja ajan muotoilu SQL Laskentafunktiot, s4 Ohjeita löytyy mm.: http://www.w3schools.com/sql/

8 Lisää hyödyllisiä laskentafunktioita, käyttöesimerkkejä : 7. Valitse tuotteen nimi ja ostohinta. Pyöristä hinta sitten yhden desimaalin tarkkuudella ja kokonaisluvuksi. SELECT productName, buyPrice, round(buyPrice,1) as hinta_1d, round(buyPrice) as hinta_0d FROM products 8. Mikä on tietokannan tämänhetkinen kellonaika ja päivämäärä? SELECT now(), sysdate(), date(now()), time(now()) 9. Muotoile päivämäärä suomalaiseen tyyliin 10.03.2015 ja 10.03.15. SELECT date_FORMAT(date(Now()),'%d.%m.%Y') AS FinDate1, date_FORMAT(date(Now()),'%e.%m.%y') AS FinDate2 SQL Laskentafunktiot, s5 Ohjeita löytyy mm.: http://www.w3schools.com/sql/

9 Käytännössä laskentafunktioita hyödynnettäessä tietoja pitää ryhmitellä. GROUP BY- komento lisätään SQL-lauseen loppuun. 10. Kuinka monta tuotetta tuoteryhmäkohtaisesti on varastossa? SELECT productline, sum(quantityinstock) FROM products GROUP BY productline 11. Kuinka monta eri tuotetta on kussakin tuoteryhmässä? SELECT productline, count(productcode) FROM products GROUP BY productline SQL Laskentafunktiot, s5 Ohjeita löytyy mm.: http://www.w3schools.com/sql/

10 SQL Laskentafunktiot, s6 Ohjeita löytyy mm.: http://www.w3schools.com/sql/ 12. Mikä on tuotteiden kokonaismäärä tuoteryhmittäin ? SELECT productline, sum(quantityInStock) as maara FROM products GROUP BY productline ‘sama kuin 10. 13. Mikä on varaston kokonaisarvo tuoteryhmittäin pyöristettynä kokonaisluvuksi? SELECT productline, round(sum(quantityInStock*buyPrice),0) as arvo FROM products GROUP BY productline

11 Harjoitustaulu Tablename: Orderdetails. Columns: orderNumber, productCode, quantityOrdered, priceEach, orderLineNumber

12 Oppimistehtävä 4 – kysymykset Suunnittele kyselyt seuraaviin tarpeisiin. Käytetään edellisen sivun products-taulua. Kyselyitä ei tarvitse kotona testata, kunhan ne on suunniteltu! h1. Laske hinnat tilausriveille. (quantityOrdered * priceEach) h2. Laske hinnat tilauksille. (GROUP BY orderNumber) h3. Mitä tuotetta on tilattu eniten kappaleina? (GROUP BY productCode) Listaa eniten tilatut ensimmäisiksi. h4. Mistä tuotteesta on eniten tuloja? (GROUP BY productCode)


Lataa ppt "Tietokannat -kurssi KSAO, Datanomit, käytön tuki kevät 2015 Lauri Tapola."

Samankaltaiset esitykset


Iklan oleh Google