TIEDONHALLINTA - SYKSY Luento 8. Saapumisryhmä: Pasi Ranne /9/13 Helsinki Metropolia University of Applied Sciences

Samankaltaiset tiedostot
SELECT-lauseen perusmuoto

Koostefunktiot. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

FROM-lausekkeessa voidaan määritellä useampi kuin yksi taulu, josta tietoja haetaan: Tuloksena on taululistassa lueteltujen taulujen rivien

TIEDONHALLINTA - SYKSY Luento 11. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

TIEDONHALLINTA - SYKSY Luento 10. Hannu Markkanen /10/12 Helsinki Metropolia University of Applied Sciences

KOOSTEFUNKTIOT. Viisi standardifunktiota: Esim. montako henkilöä on henkilo-taulussa:

Kyselyn yleisrakenne:

SQL - STRUCTURED QUERY LANGUAGE

SQL-perusteet, SELECT-, INSERT-, CREATE-lauseet

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

HELIA TIKO-05 1 (22) Tieto ja tiedon varastointi E.Räty, O.Virkki

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

Harjoitustehtävä 1. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. Harjoitustehtävä 2. SQL kysely

SQL. ! nykystandardi SQL3 eli SQL'99. ! CREATE TABLE, ALTER TABLE ja DROP TABLE. ! CREATE VIEW ja DROP VIEW. ! CREATE INDEX ja DROP INDEX

Relaation tyhjyyden testaaminen

CSE-A1200 Tietokannat

Kuva 7.2 vastaustaulu harjoitukseen 7.2

HAAGA-HELIA Heti-09 1 (12) ICT05 Tiedonhallinta ja Tietokannat O.Virkki Näkymät

Insert lauseella on kaksi muotoa: insert into taulu [(sarakenimet)] values (arvot)

SQL:N PERUSTEET MARKKU SUNI

select tulostietomäärittely from taulukkeet [where valintaehdot] [group by ryhmitystekijät] [having ryhmärajoitteet] [order by järjestysperusta]

Tällä viikolla. Kotitehtävien läpikäynti Aloitetaan Pelifirman tietovaraston suunnittelu Jatketaan SQL-harjoituksia

2. Haet työntekijöiden tiedot etunimen mukaan nousevasti järjestettyinä. (ORDER BY) SELECT * FROM employees ORDER BY firstname ASC;

TIETOKANTOJEN PERUSTEET MARKKU SUNI

HELIA 1 (14) Outi Virkki Tiedonhallinta

HELIA TIKO-05 1 (17) ICT03D Tieto ja tiedon varastointi Räty, Virkki

Liitokset - haut useaan tauluun

HELIA SQL-harjoituksia 1(1) atk72d Versiopvm:

TIEDONHALLINTA - SYKSY Luento 7. Pasi Ranne /10/17 Helsinki Metropolia University of Applied Sciences

Makrojen mystinen maailma lyhyt oppimäärä

VINKKI: Katso Kentät Muistioon -painikkeella, mikä on taulukon nimen oikea kirjoitusasu.

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Hakukyselyt: SELECT * FROM taulu WHERE sarake1 = Malli Nimi [WHERE sarake1 LIKE M% ] [WHERE BETWEEN ehto1 AND ehto2] [WHERE sarake1 IN/= (alikysely)]

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

Helsingin yliopisto, tktl DO Tietokantojen perusteet, kevät 2000 SQL- osa Harri Laine 1. SQL-yhteenvetofunktiot. SQL-yhteenvetofunktiot

4.1 Yleistä SQL:stä 4.2 SQL-lauseet 4.3 DML: datan hallinta 4.4 DDL: rakenteen määrittäminen 4.5 DCL: valtuuttaminen 4.6 TxCL: tapahtumanhallinta

Helsingin yliopisto Tietojenkäsittelytieteen laitos (H.Laine) Tietokantojen perusteet. Liitteenä: Tiivistelmä SQL-syntaksista

Tietokantojen perusteet, syksy 1999 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto. Opettajien nimet: Opiskelijoiden pääaineet

HELIA TIKO-05 1 (22) ICT03D Tieto ja tiedon varastointi E.Räty, O.Virkki

CSE-A1200 Tietokannat

HELIA TIKO-05 1 (15) ICT03D Tieto ja tiedon varastointi Räty, Virkki

2. Käsiteanalyysi ja relaatiomalli

Opiskeluoikeuksien maaran tiedonkeruu

Esimerkki. pankkien talletus- ja lainatietokanta: Yhdiste, leikkaus, erotus ym. Leikkaus (intersect) Yhdiste (Union) Erotus (except/minus) Leikkaus

Helsingin yliopisto, TKTL Tietokantojen perusteet, k 2000 SQL- osa Harri Laine 1. SQL-valintaehto. SQL-valintaehto.

Kirjoita kuhunkin erilliseen vastauspaperiin kurssin nimi, tentin päiväys, oma nimesi, syntymäaikasi ja nimikirjoituksesi.

Helsingin yliopisto/tktl Tietokantojen perusteet, s 2007 SQL:n perusteet. Harri Laine 1. SQL tietokantakieli. SQL tietokantakieli

Yhdiste, leikkaus, erotus ym.

Helsingin yliopisto, Tietojenkäsittelytieteen laitos Tietokantojen perusteet, , H.Laine

HELIA 1 (14) Outi Virkki Tiedonhallinta

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

SPARQL(SPARQL Protocol and RDF Query Language)

Kirjoita jokaiseen erilliseen vastauspaperiin kurssin nimi, tenttipäivä, oma nimesi (selkeästi), opiskelijanumerosi ja nimikirjoituksesi

ASTERI-OHJELMIEN SQL-ERIKOISKURSSI LUENTOKALVOT

Tietokannat II -kurssin harjoitustyö

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

OUTER JOIN se vanha kunnon kaveri

määritellä ja muokata tietokantaa ja sen käyttöoikeuksia virittää tietokannan talletusrakenteita hakea tietoa tietokannasta

TIEDONHALLINTA - SYKSY Luento 2. Pasi Ranne /8/17 Helsinki Metropolia University of Applied Sciences

Joko tunnet nämän Oracle10g SQL:n piirteet? Kari Aalto Saariston IT

17 BUDJETOINTI. Asiakaskohtainen Budjetti Ylläpito-ohjelma. Dafo Versio 10 BUDJETOINTI. Käyttöohje. BudgCust Yleistä

HELIA 1 (11) Outi Virkki Tiedonhallinta

Kirjasto Relaatiotietokannat Kevät Auvinen Annemari Niemi Anu Passoja Jonna Pulli Jari Tersa Tiina

Proseduurit, funktiot ja herättimet - esimerkkeinä Oracle, SQL Server, MySQL ja OCELOT. Jouni Huotari S2008

Tiedonhallinnan perusteet. H11 Ovien ja kulun valvontajärjestelmän tietokanta

SQL-kielen perusteet. Tietokantojen perusteet

PROSEDUURIT, FUNKTIOT JA HERÄTTIMET - ESIMERKKEINÄ ORACLE, SQL SERVER, MYSQL JA OCELOT JOUNI HUOTARI K2009

TIETOKANTOJEN PERUSTEET MARKKU SUNI

3. Taulujen määrittely ja muuttaminen

SQL:N PERUSTEET MARKKU SUNI

3. TAULUJEN MÄÄRITTELY JA MUUTTAMINEN

Virta_Latausraportti - Tarkistukset

Harjoitustyö. CSE-A1200 Tietokannat! Jasse Lahdenperä! ! Henri Nurmi! !

Tiedonhallinnan perusteet. Viikko 1 Jukka Lähetkangas

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Tällä viikolla. Kotitehtävien tarkistus Upotettu SQL Indeksi-harjoitus täydennetään pelifirman tietokantamallia SQL-tehtäviä

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokantojen perusteet k2004helsingin yliopisto/tktl Tietokantojen perusteet, s 2005 SQL-perusteet. Harri Laine 1. SQL tietokantakieli

Metropolia ammattikorkeakoulu TU00BS : ICT-teknologiaosaaminen Tuntitehtävät 5 Pasi Ranne

Tietovarastot ja SQL Virpi Myllylahti

Ohjelmoinnin perusteet Y Python

Ruokahalu kasvaa syödessä lisää makrokielen herkkuja

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

Tietokannat. CREATE TABLE table(col1,col2,... ); Luo uuden taulun. CREATE TABLE opiskelijat(opnumero,etunimi,sukunimi);

RADAR - RANDOM DATA GENERATOR

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

CSE-A1200 Tietokannat

EXEC SQL BEGIN DECLARE SECTION

Vain valitut kentät: SELECT Päivämäärä, Laskutusnimi, [ale mk], Loppusumma FROM Laskuotsikot

4.3.4 SQL kyselyt... 45

SYÖTTÖPOHJA LUKUJEN SYÖTTÖÖN ERI TARKOITUKSIIN

Excel 2010 ja QlikView. Mihin ja milloin pivot:ia voi käyttää

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

Tehtävä 1. Tietojen lisääminen, poistaminen, päivittäminen ja tulostaminen

Ohjelmoinnin perusteet Y Python

FUNKTIOITA. Sisällysluettelo

HELIA 1 (15) Outi Virkki Tietokantasuunnittelu

Ohjelmoinnin perusteet Y Python

SQL:N PERUSTEET OSIO 03 MARKKU SUNI

Excel pivot. Sisällys

Transkriptio:

TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 8 XX00AA79-3013 TU12S2 Pasi Ranne 25.9.2013 25/9/13 Helsinki Metropolia University of Applied Sciences 1

Harjoitustyö Harjoitustöiden tilanne ja mahdolliset ongelmat. Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 2

SQL: Lisää haetun tiedon rajaamisesta

Hahmontunnistus merkkijonoissa (Viope 17.2.3) WHERE sarake LIKE hahmo WHERE sarake NOT LIKE hahmo hahmo on merkkijono, johon voi sisältyä kaksi erikoismerkkiä: % mikä tahansa merkkijono _ mikä tahansa merkki LIKE K% NOT LIKE K% LIKE K LIKE %a LIKE %abc% Alkaa merkillä K Ei ala merkillä K Alkaa merkillä K, jota seuraa tasan 2 merkkiä Loppuu merkkiin a Sisältää merkit abc (missä tahansa merkkijonoa) Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 4

Toistuvien arvojen poistaminen tuloksista (Viope 8.2.1) SELECT DISTINCT Esimerkki: asiakas(nimi, kaupunki) SELECT DISTINCT kaupunki FROM asiakas; Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 5

SQL: Funktiot

SQL:n funktiot SQL-kielessä on valmiita funktioita, joiden avulla tauluista löytyvää tietoa voidaan käsitellä edelleen Skalaarifunktiot Kohdistuvat yksittäiseen arvoon ja palauttavat yhden arvon Koostefunktiot Palauttavat yhden arvon, joka lasketaan käyttämällä sarakkeen kaikkia arvoja Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 7

Skalaarifunktiot esimerkkejä Laaja kirjo, tuotekohtaisia laajennuksia Merkkijonofunktioita UPPER () - muuttaa kirjaimet suuriksi LOWER() - muuttaa kirjaimet pieniksi Päivämääräfunktioita CURRENT_DATE() - nykyinen päivämäärä CURRENT_TIME() - nykyinen kellonaika EXTRACT - päivämäärän osan erottaminen SELECT EXTRACT (YEAR FROM syntaika) Samoin toimivat päivä (DAY) ja kuukausi (MONTH) Numerofunktioita ROUND desimaalien pyöristäminen SELECT ROUND(palkka*1.1,0) FROM henkilo Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 8

Koostefunktiot Käyttö: SELECT funktio(sarake) FROM taulu Jos SELECT-lauseessa käytetään koostefunktioita, siinä ei voi olla tavallisia sarakkeita (paitsi GROUP BY lauseketta varten) Standardi-SQL:ssä on 5 eri koostefunktiota COUNT(sarake) sarakkeen arvojen lukumäärä (ei NULL) COUNT(DISTINCT sarake) erilaisten arvojen lukumäärä COUNT(*) - taulun rivien määrä AVG(sarake) sarakkeen arvojen keskiarvo SUM(sarake) sarakkeen arvojen summa MIN(sarake) sarakkeen pienin arvo MAX(sarake) sarakkeen suurin arvo Esimerkki henkilo(nimi, palkka) SELECT COUNT(*) FROM henkilo; SELECT AVG(palkka) FROM henkilo; Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 9

Sarakkeen uudelleen nimeäminen Sarakkeelle voidaan antaa uusi nimi varatun sanan AS avulla Mihin tarvitaan? Jos tietokannassa olevan sarakkeen nimi on huonosti valittu Koostefunktioiden tulosten nimeäminen Tekstin lisääminen tuloksiin Esimerkki henkilo(nimi, palkka) SELECT COUNT(*) AS Työntekijöitä yhteensä: FROM henkilo; SELECT AVG(palkka) AS Keskipalkka FROM henkilo; Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 10

Haun tulosten ryhmittely - GROUP BY SELECT <sarakelista> FROM <taululista> WHERE <rivien valintaehdot> GROUP BY <sarakelista> GROUP BY ryhmittelee haun tuloksen rivit yhden tai useamman sarakkeen perusteella ryhmiin Ryhmiin liitetään jokin koostefunktio SELECT-lausekkeessa Kaikkia SELECT-sarakelistan tavallisia sarakkeita (niitä joissa ei ole koostefunktiota), on käytettävä GROUP BY sarakelistassa! Esimerkki: proj_henk(ptun, htun, tunnit) SELECT htun, SUM( tunnit) FROM proj_henk GROUP BY htun SELECT ptun, htun, SUM(tunnit) FROM proj_henk GROUP BY ptun, htun Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 11

Haun tulosten rajaus HAVING SELECT <sarakelista> FROM <taululista> WHERE <rivien valintaehdot> GROUP BY <sarakelista> HAVING <ryhmien valintaehdot> HAVING- ehdossa esiintyvien sarakkeiden täytyy esiintyä SELECTsarakelistassa (joko tavallisena sarakkeena tai koostefunktiona) Esimerkki: proj_henk(ptun, htun, tunnit) SELECT htun, SUM(tunnit) FROM proj_henk GROUP BY ptun, htun HAVING htun >=2000 AND htun <3000 SELECT htun, SUM(tunnit) FROM proj_henk GROUP BY htun HAVING SUM(tunnit) >= 500 Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 12

Yhteenveto tulosten rajauksesta ja ryhmittelystä Ryhmiteltävä joukko (rivit) valitaan WHERE-lausekkeella Valinnan tulos ryhmitellään GROUP BY -lausekkeella Ryhmiteltyä joukko voidaan vielä rajata HAVINGlausekkeella Koostefunktioiden käyttöä koskevia sääntöjä: Koostefunktioita voi käyttää SELECT- ja HAVINGlausekkeissa Koostefunktioita ei voi käyttää WHERE-lausekkeen valintaehdoissa Koostefunktioita ja tavallisia sarakkeita voidaan käyttää samassa SELECT-lausekkeen sarakelistassa vain jos kaikkia tavallisia sarakkeita käytetään myös GROUP BY -lausekkeessa Pasi Ranne 25.9.2013 Metropolia Ammattikorkeakoulu 13