90 likes | 376 Views
Karteesinen tulo. Huomaa attribuuttien nimien tarkentaminen taulujen nimillä. SQL-kyselyt (1). FROM-osassa voidaan yksittäisen taulun sijasta määritellä mikä tahansa relaatio Keinot FROM-osan relaation määrittelyyn Liitokset, karteesinen tulo Alikyselyt Tänään käytetään karteesista tuloa.
E N D
Karteesinen tulo • Huomaa attribuuttien nimien tarkentaminen taulujen nimillä
SQL-kyselyt (1) • FROM-osassa voidaan yksittäisen taulun sijasta määritellä mikä tahansa relaatio • Keinot FROM-osan relaation määrittelyyn • Liitokset, karteesinen tulo • Alikyselyt • Tänään käytetään karteesista tuloa
SQL-kyselyt (2) • FROM-osassa luetellut taulut yhdistetän toisiinsa karteesisen tulon avulla SELECT * FROM Tuote, Toimittaja;
SQL-kyselyt (3) SELECT * FROM Tuote, Toimittaja WHERE ToimittajaId=Toimittaja.Id;
SQL-kyselyt (4) • Valitse Jaskan vimpaimen toimittamien tuotteiden nimet: SELECT Tuote.Nimi FROM Tuote,Toimittaja WHERE Toimittaja.Nimi=’Jaskan vimpain’; • Tarvitaanko jotain muuta?
SQL-kyselyt (5) SELECT Tuote.Nimi FROM Tuote, Toimittaja WHERE Toimittaja.Nimi=’Jaskan vimpain’ AND ToimittajaId=Toimittaja.Id;
SQL-kyselyt (6) • Aina attribuuttien nimien tarkentaminen taulujen nimillä ei riitä • Tarvitaan aliaksia • FROM-osassa TaulunNimi AS UusiNimi • Masiinaa halvempien tuotteiden nimi ja hinta: SELECT t2.Nimi, t2.Hinta FROM Tuote AS t1, Tuote AS t2 WHERE t1.Nimi=’Masiina’ AND t2.Hinta<t1.Hinta;
Attribuuttien nimeäminen • Myös tulostaulun attribuutteja voidaan nimetä uudelleen AS-operaation avulla: SELECT Id AS Numero, Etunimi AS Etu, Sukunimi AS Suku FROM Asiakas WHERE Id=1;