Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 1.39 KB

joins.md

File metadata and controls

57 lines (41 loc) · 1.39 KB

Joins

good overview

Example

users

id name
1 Huber
2 Maier
3 Otto

trainings

id user_id points
1 1 4
2 1 5
3 2 6

inner joins

Der INNER JOIN führt Datensätze aus der linken und rechten Tabelle genau dann zusammen, wenn die angegebenen Kriterien alle erfüllt sind. Ist eines oder mehrere der Kriterien nicht erfüllt, so entsteht kein Datensatz in der Ergebnismenge

select * from users INNER JOIN  trainings ON (trainings.user_id = users.id)
users.id name points
1 Huber 4
1 Huber 5
2 Maier 6

the same as

select * from users, trainings where trainings.user_id = users.id

outer joins

Jeder Datensatz der rechten und der linken Tabelle kommt in die Ergebnismenge. Findet sich über das ON-Kriterium ein passendes Training werden beide zusammengefügt, andernfalls wird die jeweils fehlende Seite mit NULL aufgefüllt.

select * from users LEFT OUTER JOIN trainings ON (trainings.user_id = users.id)
users.id name points
1 Huber 4
1 Huber 5
2 Maier 6
3 Otto NULL