15.2.2015

Tietokannat: Alikyselyt


Alikyselyt




Esimerkki 1



Hae sen henkilön nimi, joka myy solmioita
SELECT HenkNimi
FROM henkilo
WHERE HenkID =
(SELECT MyyjaID FROM tuote WHERE TuoteNimi = ‘Solmio');

Esimerkki 2 (koostefunktion käyttö)



SELECT tuotenimi,hinta,myyja
FROM tuote -- hakuehto:
WHERE hinta > -- ne myydyt tuotteet myyjineen
(SELECT AVG(hinta) -- jotka ovat
FROM tuote -- kalliimpia kuin Arskan
WHERE myyja = 'Arska'); -- keskimäärin myymät

Esimerkki 3 (IN)



SELECT tuotenimi, hinta
FROM tuote
WHERE myyjaID IN
(SELECT myyjaID
FROM myyja
WHERE osasto = 'laite');


Esimerkki 4 (ANY ja ALL)



SELECT tuotenimi, hinta, myyja
FROM tuote
WHERE hinta > ANY
(SELECT hinta
FROM tuote
WHERE myyja = 'Arska');

Esimerkki 5 (EXISTS)




Olkoon taulut:

Tuote
Id (pk)
TuoteNimi
ToimittajaId
Hinta
Toimittaja
Id (pk)
FirmaNimi
Osoite
Email

SELECT FirmaNimi
FROM Toimittaja
WHERE EXISTS
(SELECT TuoteNimi
FROM Tuote
WHERE ToimittajaId = Toimittaja.Id
AND Hinta > 300);



Osa materiaalista on muokattu Jouni Huotarin materiaalista.