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

Samankaltaiset tiedostot
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

OUTER JOIN se vanha kunnon kaveri

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

Kyselyn yleisrakenne:

SELECT-lauseen perusmuoto

Liitokset - haut useaan tauluun

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

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

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

HELIA 1 (14) Outi Virkki Tiedonhallinta

CSE-A1200 Tietokannat

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

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

CSE-A1200 Tietokannat

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

Kyselyt: Lähtökohtana joukko lukuja Laskukaava kertoo miten luvuista lasketaan tulos soveltamalla laskentaoperaatioita

Relaatioalgebra. Kyselyt:

Relaatioalgebra. Relaatioalgebra. Relaatioalgebra. Relaatioalgebra - erotus (set difference) Kyselyt:

SQL - STRUCTURED QUERY LANGUAGE

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

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

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

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

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

Yhdiste, leikkaus, erotus ym.

Tietokantojen perusteet, syksy 1999 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.3.4 SQL kyselyt... 45

Helsingin yliopisto/ tktl DO Tietokantojen perusteet, s 2000 Relaatioalgebra Harri Laine 1. Relaatioalgebra

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

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

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

CS-A1150 Tietokannat CS-A1150 Tietokannat / 39

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

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

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

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

TIEDONHALLINNAN PERUSTEET - SYKSY 2013

joukko operaatioita, joilla relaatioista voidaan muodostaa uusia relaatioita joukko opin perusoperaatiot yhdiste, erotus, ristitulo, leikkaus

Helsingin yliopisto/ tktl D Tietokantojen perusteet, s 2000 Relaatioalgebra. Harri Laine 1. Relaatioalgebra.

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

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

Relaation tyhjyyden testaaminen

Opettajana Mika Sorsa, HAMK:n ammatillisen opettajakoulutuksen opetusharjoittelija

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

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

Relaatiotietokantojen perusteista. Harri Laine Helsingin yliopisto

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

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

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

HELIA 1 (15) Outi Virkki Tiedonhallinta

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

SQL:N PERUSTEET MARKKU SUNI

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

TIETOKANNAT JOHDANTO

Harjoitustehtävä 1. Harjoitustehtävän 1 ratkaisu. Harjoitustehtävä 1. Relaatioalgebra -liitokset (join) Liitos

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

SQL-kielen perusteet. Tietokantojen perusteet

Näkymät ja tiedon suojaus

2. Käsiteanalyysi ja relaatiomalli

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

CS-A1150 Tietokannat CS-A1150 Tietokannat / 34

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Relaatiokalkyylit. Harri Laine 1

Algebralliset tietotyypit ym. TIEA341 Funktio ohjelmointi 1 Syksy 2005

D B. Kyselyjen käsittely ja optimointi. Kyselyn käsittelyn vaiheet:

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

Tietokannat II -kurssin harjoitustyö

Johdanto Javaan ja tietokantojen käsittelyyn Java Database Connectivity (JDBC)

CS-A1150 Tietokannat CSE-A1150 Tietokannat / 39

Paikkatiedon hallinta ja analyysi 3. Paikkatietomallit ja kyselyt

TIETOKANTOJEN PERUSTEET MARKKU SUNI

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

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

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

Opiskeluoikeuksien maaran tiedonkeruu

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

HELIA SQL-harjoituksia 1(1) atk72d Versiopvm:

Relaatiomalli ja -tietokanta

Kuva 7.2 vastaustaulu harjoitukseen 7.2

SQL:N PERUSTEET MARKKU SUNI

Tietokannan hallinta. Kevät 2004 Jan Lindström R&G Chapter 1

Laajennettu relaatiomalli ERDM ja suoraviittauksinen kyselykieli NSQL. Mika Niemelä

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

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

Helsingin yliopisto/tktl Kyselykielet, s 2006 Optimointi Harri Laine 1. Kyselyn optimointi. Kyselyn optimointi

Hohde Consulting 2004

ASTERI-OHJELMIEN SQL-ERIKOISKURSSI LUENTOKALVOT

Yleinen SQL. Yleinen SQL. SQL:n kehitys

Muita tietokantaobjekteja. Näkymät, synonyymit, indeksointi, valtuudet ja systeemihakemisto

MUITA TIETOKANTAOBJEKTEJA NÄKYMÄT, SYNONYYMIT, INDEKSOINTI, VALTUUDET JA SYSTEEMIHAKEMISTO

5 SQL TIETOKANTAKIELI...33

D B. Kyselypuut ja ekvivalenssi

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

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

Talousmatematiikan perusteet

HAAGA-HELIA heti09 1 (27) ICT05 Tiedonhallinta ja tietokannat O.Virkki Relaatiomalli

TIETOKANTOJEN PERUSTEET MARKKU SUNI

Kyselyiden käsittely. R & G Chapter Tietokannan hallinta, kevät 2006, Jan 1

Transkriptio:

TIEDONHALLINTA - SYKSY 2011 Kurssikoodi: Saapumisryhmä: Luento 10 TU00AA48-2002 TU10S1E Hannu Markkanen 14.-15.11.2011 9/10/12 Helsinki Metropolia University of Applied Sciences 1

SQL: Monen taulun kyselyt ulkoliitos, yhdiste

Ulkoliitos: OUTER JOIN Sisäliitoksen tulostaulussa on mukana vain ne rivit joilla valintaehdossa käytettyjen sarakkeiden arvot ovat samat Jos tuloksiin halutaan mukaan myös rivit, joilla ei ole vastinparia toisessa taulussa, käytetään ulkoliitosta Ulkoliitoksen tuottamassa taulussa on sisäisen liitoksen tuloksen lisäksi jokaista paritonta riviä vastaava alku- tai loppuosaltaan NULL-arvoilla täydennetty rivi Ulkoliitos voi olla vasemman-puoleinen (LEFT OUTER JOIN), oikeanpuoleinen (RIGHT OUTER JOIN) tai molemminpuolinen (FULL OUTER JOIN) Hannu Markkanen Metropolia Ammattikorkeakoulu 3

ostun osnimi 1 Tietohallinto 2 Talous toim. 3 Tuotanto os. 4 Markkinointi htun enimi snimi ostun 2134 Jukka Virta 3 2234 Mikko Metsä 1 2245 Raili Joki 4 2345 Leo Meri 3 2884 Jukka Järvi NULL 3546 Laura Ranta 1 SELECT * FROM henkilo, osasto htun enimi snimi ostun ostun osnimi 2134 Jukka Virta 3 1 Tietohallinto 2134 Jukka Virta 3 2 Talous toim. 2134 Jukka Virta 3 3 Tuotanto os. 2134 Jukka Virta 3 4 Markkinointi 2234 Mikko Metsä 1 1 Tietohallinto 2234 Mikko Metsä 1 2 Talous toim. 2245 Raili Joki 4 4 Markkinointi 2345 Leo Meri 3 3 Tuotanto os. 2884 Jukka Järvi NULL 1 Tietohallinto 2884 Jukka Järvi NULL 2 Talous toim. 2884 Jukka Järvi NULL 3 Tuotanto os. 2884 Jukka Järvi NULL 4 Markkinoint 3547 Lyly Jokinen 3 htun enimi snimi ostun ostun osnimi 2234 Mikko Metsä 1 1 Tietohallinto SELECT * FROM henkilo INNER JOIN osasto ON henkilo.ostun = osasto.ostun 3546 Laura Ranta 1 1 Tietohallinto 2134 Jukka Virta 3 3 Tuotanto os. 2345 Leo Meri 3 3 Tuotanto os. 3547 Lyly Jokinen 3 3 Tuotanto os. 2245 Raili Joki 4 4 Markkinointi Hannu Markkanen Metropolia Ammattikorkeakoulu 4

LEFT OUTER JOIN Relaatiot: osasto (ostun, osnimi) henkilo (htun, enimi, snimi, ostun) Haetaan työntekijöiden nimet osastoittain s.e. myös henkilöt joille ei ole (vielä) määritelty osastoa otetaan mukaan tulostauluun. INNER JOIN SELECT osnimi, snimi, enimi FROM henkilo INNER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tietohallinto Metsä Mikko Tietohallinto Ranta Laura Tuotanto os. Virta Jukka Tuotanto os. Meri Leo Tuotanto os. Jokinen Lyly Markkinointi Joki Raili LEFT OUTER JOIN SELECT osnimi, snimi, enimi FROM henkilo LEFT OUTER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tuotanto os. Virta Jukka Tietohallinto Metsä Mikko Markkinointi Joki Raili Tuotanto os. Meri Leo NULL Järvi Jukka Tietohallinto Ranta Laura Tuotanto os. Jokinen Lyly Hannu Markkanen Metropolia Ammattikorkeakoulu 5

RIGHT OUTER JOIN Relaatiot: osasto (ostun, osnimi) henkilo (htun, enimi, snimi, ostun) Haetaan työntekijöiden nimet osastoittain s.e. myös osastot joilla ei ole (vielä) työntekijöitä otetaan mukaan tulostauluun. INNER JOIN SELECT osnimi, snimi, enimi FROM henkilo INNER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tietohallinto Metsä Mikko Tietohallinto Ranta Laura Tuotanto os. Virta Jukka Tuotanto os. Meri Leo Tuotanto os. Jokinen Lyly Markkinointi Joki Raili RIGHT OUTER JOIN SELECT osnimi, snimi, enimi FROM henkilo RIGHT OUTER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tietohallinto Metsä Mikko Tietohallinto Ranta Laura Talous toim. NULL NULL Tuotanto os. Virta Jukka Tuotanto os. Meri Leo Tuotanto os. Jokinen Lyly Markkinointi Joki Raili Hannu Markkanen Metropolia Ammattikorkeakoulu 6

FULL OUTER JOIN MySQL ei tue molemminpuolista ulkoliitosta Sama tulos saavutetaan yhdistämällä LEFT OUTER JOIN ja RIGHT OUTER JOIN kyselyjen tulokset käyttäen UNION-operaatiota UNION on yksi SQL-standardin joukko-operaatioista Muita joukko-operaatioita (tuki eri TKHJ-tuotteissa vaihtelevaa) ovat EXCEPT erotus INTERSECT - leikkaus Hannu Markkanen Metropolia Ammattikorkeakoulu 7

Yhdiste (UNION) UNION-operaattorilla voidaan yhdistää rakenteeltaan samanlaisia tauluja Sama määrä sarakkeita Vastaavien sarakkeiden tietotyypit oltava samoja Yhdistetaulussa on riveinä kaikkien yhdistettävien taulujen rivit Yhdiste saadaan aikaan sijoittamalla taulut määrittelevien SELECT-lauseiden väliin avainsana UNION (ei tuplia) tai UNION ALL (kaikki rivit) Hannu Markkanen Metropolia Ammattikorkeakoulu 8

LEFT OUTER JOIN SELECT osnimi, snimi, enimi FROM henkilo LEFT OUTER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tuotanto os. Virta Jukka Tietohallinto Metsä Mikko Markkinointi Joki Raili Tuotanto os. Meri Leo NULL Järvi Jukka Tietohallinto Ranta Laura Tuotanto os. Jokinen Lyly RIGHT OUTER JOIN SELECT osnimi, snimi, enimi FROM henkilo RIGHT OUTER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tietohallinto Metsä Mikko Tietohallinto Ranta Laura Talous toim. NULL NULL Tuotanto os. Virta Jukka Tuotanto os. Meri Leo Tuotanto os. Jokinen Lyly Markkinointi Joki Raili FULL OUTER JOIN UNION-operaation avulla RIGHT OUTER JOIN SELECT osnimi, snimi, enimi FROM henkilo LEFT OUTER JOIN osasto ON henkilo.ostun = osasto.ostun UNION SELECT osnimi, snimi, enimi FROM henkilo RIGHT OUTER JOIN osasto ON henkilo.ostun = osasto.ostun osnimi snimi enimi Tuotanto os. Virta Jukka Tietohallinto Metsä Mikko Markkinointi Joki Raili Tuotanto os. Meri Leo NULL Järvi Jukka Tietohallinto Ranta Laura Tuotanto os. Jokinen Lyly Talous toim. NULL NULL Hannu Markkanen 9

UNION esimerkki Jatkuva-arvoisen attribuutin luokittelu Relaatio: henkilo (htun, enimi, snimi, palkka) SELECT 1 AS palkkaluokka, snimi, enimi, palkka FROM henkilo WHERE palkka BETWEEN 0 AND 2700 UNION SELECT 2, snimi, enimi, palkka FROM henkilo WHERE palkka BETWEEN 2700 AND 3000 UNION SELECT 3, snimi, enimi, palkka FROM henkilo WHERE palkka > 3000 ORDER BY palkkaluokka, snimi Huomioi lauseesta myös seuraavat asiat: SELECT <vakio> tuottaa jokaiselle tulostaulun riville ko. vakion arvon Tulostaulun rivien otsikoiksi tulee ensimmäisen SELECT-lauseen mukaiset otsikot (huomaa yllä AS määreen käyttö luokkasarakkeen otsikkona) Yhdisteellä luodun taulun sarakkeita voidaan järjestää normaaliin tapaan ORDER BY lausekkeen avulla. Hannu Markkanen Metropolia Ammattikorkeakoulu 10

Alikyselyt Alikyselyä voidaan käyttää kyselyssä monella tapaa, esimerkiksi 1. WHERE-osan valintaehdossa 2. Väliaikaisena tauluna missä tahansa hakulauseen osassa, jossa voi olla taulu (FROM, JOIN) 3. SELECT-osassa tuottamassa riville arvo alikyselyn pitää palauttaa tässä tapauksessa yksi arvo Alikysely sijoitetaan pääkyselyn sisään Alikysely kirjoitetaan sulkeiden sisään ja siten se suoritetaan ennen pääkyselyä Alikyselyjä voi olla useita sisäkkäin Hannu Markkanen Metropolia Ammattikorkeakoulu 11

Alikysely WHERE-ehdossa Relaatio: henkilo (htun, enimi, snimi, ostun) Haetaan henkilöt jotka työskentelevät samalla osastolla kuin Jukka Virta SELECT snimi, enimi FROM henkilo WHERE ostun = (SELECT ostun FROM henkilo WHERE enimi = "Jukka" AND snimi = "Virta") Koska pääkyselyn WHERE-ehdossa käytettään =-operaattoria, alikysely voi palauttaa vain yhden rivin (jos tulostaulussa on useampia rivejä, saadaan virheilmoitus) Sama haku voidaan tehdä liitoksen avulla (taululle voi tehdä liitoksen itsensä kanssa): SELECT h1.snimi, h1.enimi FROM henkilo AS h1 INNER JOIN henkilo AS h2 WHERE h1.ostun = h2.ostun AND h2.enimi = "Jukka" AND h2. snimi = "Virta Hannu Markkanen Metropolia Ammattikorkeakoulu 12

Alikysely WHERE-ehdossa Relaatiot: henkilo (htun, enimi, snimi, kunta, ostun) Haetaan henkilöt jotka työskentelevät sellaisilla osastoilla joilla on töissä joku turkulainen. SELECT snimi, enimi FROM henkilo WHERE ostun IN (SELECT DISTINCT ostun FROM henkilo WHERE kunta = "TURKU") Alikysely palauttaa useamman osastotunnuksen ja siksi on käytettävä IN operaattoria pääkyselyn WHERE-ehdossa Ja sama liitosta käyttäen: SELECT DISTINCT h1.snimi, h1.enimi FROM henkilo h1 INNER JOIN henkilo h2 WHERE h1.ostun = h2.ostun AND h2.kunta = "TURKU HUOM! AS-määreen voi jättää pois alias-määrittelystä Hannu Markkanen Metropolia Ammattikorkeakoulu 13

Alikysely WHERE-ehdossa koostefunktion käyttö Relaatio: henkilo (htun, enimi, snimi, palkka, ostun) Kuka on yrityksen parhaiten palkittu henkilö? SELECT snimi, enimi FROM henkilo WHERE palkka = (SELECT max(palkka) FROM henkilo) Alikysely tarvitaan koska WHERE-ehdossa ei voi käyttää koostefunktiota. Hannu Markkanen Metropolia Ammattikorkeakoulu 14

Alikysely väliaikaisena tauluna Tehdään edellisen esimerkin haku käyttämällä alikyselyä liitoksessa väliaikaisena tauluna Relaatio: henkilo (htun, enimi, snimi, palkka, ostun) SELECT snimi, enimi, palkka FROM henkilo INNER JOIN (SELECT MAX(palkka) AS maxpalkka FROM henkilo) AS maxpalkanhaku ON palkka = maxpalkka Huom! Myös välikaiset taulut on aina nimettävä (yllä maxpalkanhaku ), vaikka nimeä ei käytettäisikään missään nimen pois jättäminen aiheuttaa virheilmoituksen Hannu Markkanen Metropolia Ammattikorkeakoulu 15

Top n ja Bottom n SELECT... FROM... ORDER BY <sarake> [ DESC ] LIMIT <numero> <numero> määrää listattavien rivien määrän DESC määreen käytöllä voidaan valita joko top tai bottom Esimerkki: henkilo (htun, enimi, snimi, palkka, ostun) Ketkä ovat viisi parhaiten palkattua henkilöä? SELECT snimi, enimi, palkka FROM henkilo ORDER BY palkka DESC LIMIT 5 Hannu Markkanen Metropolia Ammattikorkeakoulu 16

Yhteenvetoa relaatiooperaatioista

Relaatiomallin matemaattinen tausta Tauluja käsitellään relaatio-operaatioilla, joiden tuloksena on (uusia, mahdollisesti tilapäisiä) tauluja Relaatiomalli perustuu matemaattisen logiikan ja joukko-opin käsitteisiin Relaatiot ovat (matemaattisessa mielessä) joukkoja, joihin voidaan soveltaa tavanomaisia joukko-opin operaatioita Käsittelyn kannalta on tärkeää, että tulosjoukkokin on relaatio eli kaikki operaatiot johtavat tulokseen, jota voidaan edelleen käsitellä samoilla operaatioilla Toisaalta voidaan saada vain sellaisia kyselytuloksia, jotka voidaan muodostaa relaatio-operaatioiden avulla Hannu Markkanen Metropolia Ammattikorkeakoulu 18

Relaatio-operaatiot Relaatioiden käsittelyssä erityisen hyödyllisiä operaatiota ovat (SELECT-lauseella toteutettavat) valinta (rivien valinta) projektio (sarakkeiden valinta) relaatioiden (taulujen) liitokset Koska relaatiot ovat joukkoja joukko-opin mielessä, niihin voidaan soveltaa myös joukko-opin operaatioita unioni leikkaus erotus Hannu Markkanen Metropolia Ammattikorkeakoulu 19

Valintaoperaatiot Rivien valinta: valinta Projektio (sarakkeiden valinta): projektio Hannu Markkanen Metropolia Ammattikorkeakoulu 20

Liitosoperaatiot liitos Hannu Markkanen Metropolia Ammattikorkeakoulu 21

Joukko-operaatiot A B Unioni A B: Leikkaus A B: Erotus A \ B: Hannu Markkanen Metropolia Ammattikorkeakoulu 22