Använd vänsterpil och högerpil för att navigera

Eller Ctrl+P för att skriva ut till PDF (eller på papper)

Förhållanden

JOIN

Sammanföra data från flera tabeller

Vår data

Country
IDNameCode
1SwedenSE
2United KingdomGB
City
IDNamePopulationCountryID
1Göteborg5727791
2Jönköping937971
3London87878922

Join mellan två tabeller

  1. SELECT * FROM Country
  2. JOIN City ON Country.ID = City.CountryID
IDNameCodeIDNamePopulationCountryID
1SwedenSE1Göteborg5727791
1SwedenSE2Jönköping937971
2United KingdomGB3London87878922

Typer av joins

JOIN (INNER JOIN): bara matchande rader

Country
IDNameCode
1SwedenSE
2United KingdomGB
3GermanyDE
City
IDNamePopulationCountryID
1Göteborg5727791
2Jönköping937971
3London87878922
4Paris2229621NULL
  1. SELECT * FROM Country
  2. JOIN City ON Country.ID = City.CountryID
IDNameCodeIDNamePopulationCountryID
1SwedenSE1Göteborg5727791
1SwedenSE2Jönköping937971
2United KingdomGB3London87878922

LEFT JOIN: alla rader från vänstra tabellen

Country
IDNameCode
1SwedenSE
2United KingdomGB
3GermanyDE
City
IDNamePopulationCountryID
1Göteborg5727791
2Jönköping937971
3London87878922
4Paris2229621NULL
  1. SELECT * FROM Country
  2. LEFT JOIN City ON Country.ID = City.CountryID
IDNameCodeIDNamePopulationCountryID
1SwedenSE1Göteborg5727791
1SwedenSE2Jönköping937971
2United KingdomGB3London87878922
3GermanyDENULLNULLNULLNULL

RIGHT JOIN: alla rader från högra tabellen

Country
IDNameCode
1SwedenSE
2United KingdomGB
3GermanyDE
City
IDNamePopulationCountryID
1Göteborg5727791
2Jönköping937971
3London87878922
4Paris2229621NULL
  1. SELECT * FROM Country
  2. RIGHT JOIN City ON Country.ID = City.CountryID
IDNameCodeIDNamePopulationCountryID
1SwedenSE1Göteborg5727791
1SwedenSE2Jönköping937971
2United KingdomGB3London87878922
NULLNULLNULL4Paris2229621NULL

FULL JOIN: alla rader från båda tabellerna

Country
IDNameCode
1SwedenSE
2United KingdomGB
3GermanyDE
City
IDNamePopulationCountryID
1Göteborg5727791
2Jönköping937971
3London87878922
4Paris2229621NULL
  1. SELECT * FROM Country
  2. RIGHT JOIN City ON Country.ID = City.CountryID
IDNameCodeIDNamePopulationCountryID
1SwedenSE1Göteborg5727791
1SwedenSE2Jönköping937971
2United KingdomGB3London87878922
3GermanyDENULLNULLNULLNULL
NULLNULLNULL4Paris2229621NULL

Join med flera tabeller

Country
IDNameCode
1SwedenSE
2United KingdomGB
City
IDNamePopulationCountryID
1Göteborg5727791
2Jönköping937971
3London87878922
Street
IDNameCityID
1Anders Personsgatan111
2Vasagatan111
3Baker Street333
4Herkulesvägen222
  1. SELECT * FROM Country
  2. JOIN City ON Country.ID = City.CountryID
  3. JOIN Street ON City.ID = Street.CityID
IDNameCodeIDNamePopulationCountryIDIDNameCityID
1SwedenSE1Göteborg57277911Anders Personsgatan1
1SwedenSE1Göteborg57277912Vasagatan1
2United KingdomGB3London878789223Baker Street3
1SwedenSE2Jönköping9379714Herkulesvägen2

Komplicerad join

Tvetydiga kolumnnamn

  1. SELECT * FROM Country
  2. JOIN City ON Country.ID = City.CountryID
  3. WHERE Name = 'Sweden'
  4. Ambiguous column name 'Name'.

Förtydligade kolumnnamn

  1. SELECT * FROM Country
  2. JOIN City ON Country.ID = City.CountryID
  3. WHERE Country.Name = 'Sweden'
IDNameCodeIDNamePopulationCountryID
1SwedenSE1Göteborg5727791
1SwedenSE2Jönköping937971