Explizite und implizite Verknüpfungen mischen
Das Mischen von expliziten und impliziten Joins wird nicht empfohlen, ist jedoch zulässig.Einige Arten des Mischens werden jedoch von Firebird nicht unterstützt.
Die folgende Abfrage gibt beispielsweise den Fehler “Spalte gehört nicht zur referenzierten Tabelle” aus.
SELECT *
FROM TA, TB
JOIN TC ON TA.COL1 = TC.COL1
WHERE TA.COL2 = TB.COL2
Das liegt daran, dass der explizite Join die Tabelle TA
nicht sehen kann.Die nächste Abfrage wird jedoch ohne Fehler abgeschlossen, da die Einschränkung nicht verletzt wird.
SELECT *
FROM TA, TB
JOIN TC ON TB.COL1 = TC.COL1
WHERE TA.COL2 = TB.COL2