Hallo!
Vorhanden sind 2 Tabellen in MySQL:
mysql> select * from users;
+----+--------+-----------+
| id | user | pass |
+----+--------+-----------+
| 1 | tom | sdfsdf |
| 2 | cool | 4fds |
| 3 | bla | ret |
| 4 | caesar | sadsa43 |
| 5 | Zorro | jksr |
| 6 | Comics | 4354gtfdg |
+----+--------+-----------+
6 rows in set (0.00 sec)
mysql> select * from datas;
+----+--------+-----------+
| id | sex | city |
+----+--------+-----------+
| 1 | male | New York |
| 2 | male | Vienna |
| 3 | female | Colorado |
| 4 | male | Rom |
| 5 | female | Wisconsin |
| 6 | male | Berlin |
+----+--------+-----------+
6 rows in set (0.00 sec)
Ich will alle Staedte (city) aus "datas" ausgeben,
wo die ID die gleiche ist, wie die in "users",
wo die Spalte user mit C beginnt.
Zwei verschiedene Abfragen bekam ich zum laufen:
SELECT d.city FROM datas d LEFT JOIN users u ON d.id = u.id WHERE u.user LIKE 'c%';
SELECT d.city FROM datas d, users u WHERE d.id = u.id AND u.user LIKE 'c%';
Fragen
a)
Sind beide absolut korrekt,
oder ist das 2. mehr oder minder Zufall dass es geht
und man sollte es nicht verwenden?? (Vermutung)
Ich vermute das weil das 2) fast das gleiche ist wie das 1)
aber ur viele Sachen wie LEFT JOIN und ON und so weggelassen wurden,
schaut irgendwie so falsch aus *g*
b)
Kann mir bitte jemand erklaeren was LEFT JOIN macht und was ON macht?
Die englische Dokus dazu sind mir zu kompliziert.
Was waere eigentlich RIGHT JOIN ?? gibts das?
Aber wichtig sind eben:
Was ist
LEFT JOIN
und ON
DANKE!!
Aqua