Kuvitellaan että kannassa on taulut henkilöt ja ammatit. Henkilöt -taulu sisältää kentät id ja nimi. Ammatit -taulu sisältää kentät id, henkilöid ja ammatti. No, jos halutaan etsiä sellainen käyttäjä, jonka nimi on vaikka Matti ja ammatti koodari, voiko sellaisen haun tehdä yhdellä kertaa? Eli haku tuottaisi yhden id:n, joka toteutuisi molemmissa tauluissa, henkilöt-taulussa sen rivin id jossa nimenä on Matti ja ammatit-taulussa sen rivin henkilöid jonka ammatti on koodari.
Toki samaan tulokseen pääsisi kahdella haulla, ensiksi hakisi kaikki Matti-nimisten henkilöiden id:t ja sen jälkeen etsisi vastaavan id:n ammatit taulusta henkilöid-kentästä, jolloin samalla rivillä pitäisi olla koodari ammattina. Mutta kätevää olisi jos tuon saisi yhteen hakuun.
Toki näin vähän tietoja sisältävät taulut voisivat olla yhtenä tauluna myös, mutta näitä käytin vain esimerkkeinä. Kiitos avusta etukäteen jos joku osaa neuvoa!
Jep, simppeli JOIN vaan peliin:
SELECT h.id, h.nimi, a.ammatti FROM Henkilöt AS h INNER JOIN Ammatit AS a ON h.id = a.henkilöid WHERE h.nimi = 'matti' AND a.ammatti = 'koodari'
Aihe on jo aika vanha, joten et voi enää vastata siihen.