Hei.
Voisiko joku kertoa, mikä on "oikea" tapa hakea taulusta dataa, kun taulujen välillä on ulkoinen avain?
Eli yritän hakea mahdollisimman oikeoppisesti tiedot:
AITI.aika, LAPSI.koodi, kun AITI.aika on väliltä aika1 - aika2
ja AITI.tieto = 7;
Lapsi taulussa on viittaus AITI tauluun: aiti_id
AITI id tieto aika
LAPSI id koodi aiti_id koodi
Miten haetaan oikeaoppisesti (mahd. nopeasti) tiedot tauluista
kun käytössä on ulkoinen avain?
Se foreign key on muuten yleensä suomennettu vierasavaimeksi.
Yleensä tietojen hakemiseen käytetään ihan normaalisti JOINia.
Tehokkuuden määrään indeksointi ei niinkään pelkkä haku.
Pari tapaa liitostavasta riippuen. Molemmat lienee validit. En testannut tuliko ihan oikein.
select AITI.aika, LAPSI.koodi from AITI,LAPSI where AITI.id=LAPSI.id and AITI.aika between aika1 and aika2 and AITI.tieto = 7;
tai sama asia toisin joinilla
select AITI.aika, LAPSI.koodi from AITI join LAPSI on LAPSI.id = AITI.id where AITI.aika between aika1 and aika2 and AITI.tieto = 7;
Grez: Niinpäs onkin.
B_H_R: Kiitos esimerkeistä. Täytyy lukea vähän lisää aiheesta.
Aihe on jo aika vanha, joten et voi enää vastata siihen.