Moin coder111,
ich dachte, das Thema "Unterschiede zwischen den JOINs" hatten wir schon so ausführlich erklärt wie vertretbar.
Du hattest doch neulich so einen Beitrag "PSQL -Ein paar Fragen", da wurde es doch von x Leuten mit immer wieder anderen Formulierungen noch und noch versucht.
Egal, Flusspferde und Flussdiagramme kann ich nicht malen, ich versuch es mal mit Worten.
Ich unterstelle mal (wie Yaslaw auch) ,
- es gibt eine Tabelle "studenten" und eine Tabelle "praktikumteilnahme" (und sicherlich eine Tabelle "AllePraktikumse"
- die ersten beiden Tabellen haben (mindestens) ein Feld, mit dem sie sich verknüpfen lassen, Z.B. eine "StudentInnen_ID".
. in "studenten" stehen also StudentInnen_ID, Name, Anschrift, Bla1, ... blaN
in "AllePraktikumse" stehen "Praktikum_ID" und "PraktikumName" und "Starttermin", "Endtermin"
-in "praktikumteilnahme" lassen sich sowohl Datensätze wiederfinden zu Studenten wie auh zu Praktika, wieil es dor u.a. eine "Praktikum_ID" wie eine "StudentInnen_ID" gibt.
Die Fragestellung war doch
"Erzeugen Sie eine Liste der Studenten, die jemals an einem Praktikum zum Kurs Programmieren teilgenommen haben"
-> WENN da steht, "eine Liste ALLER X-Datensätze , gegebenfalls ergänzt um Zusatzinformationen aus anderen Y,Z-Tabellen, fallls vorhanden)"
--> DANN "SELECT .. FROM X LEFT JOIN Y on (gemeinsame Felder von X und Y) LEFT JOIN Z on (gemeinsame Felder von Y und Z)
In allen Fällen, in denen NUR die Datensätze angezeigt werden sollen, die in der drangeJOINten Tabelle einen bestimmten Wert haben
--> ist es ein INNER JOIN.
Also, steht bei dir jetzt "eine Liste ALLER 10745 StudentInnen, egal ob und an welchem Praktikum sie teilgenommen haben"?
Oder steht da "eine Liste NUR der 37 StudentInnen, die auch in der Tabelle praktikumsteilnahme stehen und bei denen das Praktikum 'Programmierung' hiess"?
Sonst lies doch noch mal in deinem letzten hier erzeugten Beitrag nach, da gibt es Beispiele.
Grüße
Biber