Hallo!
Mit einem INNER JOIN kann man Tabellen zwangsweise verknüpfen und mit einem OUTER JOIN optional verknüpfen. Aber gibt es auch
ohne Subquery eine Möglichkeit, dass eine Verknüpfung verboten ist?
Problemstellung:
Ich habe eine Tabelle mit Schulklassen und eine mit Einträgen der Klassen.
Code:
+-----------+ +-------------------+
| classes | | entries |
+----+------+ +----+-------+------+
| ID | Abbr | | ID | Class | Data |
+----+------+ +----+-------+------+
| 1 | 1A | | 1 | 1 | 34.5 |
| 2 | 1B | | 2 | 4 | 23.1 |
| 3 | 2A | | 3 | 5 | 1.8 |
| 4 | 3A | +----+-------+------+
| 5 | 3B |
| 6 | 3C |
+----+------+
Ich will ein
Query schreiben, das mir alle Klassen liefert, die noch keinen Eintrag haben.
Ich habe schon folgendes Probiert:
SQL-Code:
SELECT Abbr
FROM classes c
LEFT OUTER JOIN entries e ON c.ID = e.Class
/* Liefere alle, die KEINEN entry haben */
WHERE e.ID = NULL
Funktioniert aber leider nicht.
Naja, mit eine, Subquery wär's leicht, will ich aber aus Gründen der Abwärtskompatibilität zu
MySQL 4 vermeiden.
Grüße
Faux