Ich versuche, eine Abfrage zu schreiben, die alle Filme in SAKILA-Datenbank zurückgeben wird, die Französisch als Originalsprache haben. Das erwartete Ergebnis ist 0 Zeilen.Diskrepanz in SQL-Ergebnis beim Verbinden von Tabellen
Wenn ich language_id
verwenden Titel mit Französisch als Sprache zu finden, die ich bekommen das erwartete Ergebnis:
SELECT title, release_year FROM sakila.film WHERE language_id =5;
jedoch Ich versuche, dieses Ergebnis zu erhalten, ohne Literale mit (language_id)
und stattdessen die Verbindungs zwei Tabellen, um die Originalsprache des Films auszuwählen.
Wenn ich schreibe:
SELECT title, release_year
FROM sakila.film, sakila.language
WHERE language.name = 'french';
ich alle Zeilen bekommen.
Ich denke, das ist sehr nahe. Ich bekomme einen Fehler. "Unbekannte Spalte 'language.id' in 'Where-Klausel'." Könnte das mit der Tatsache zu tun haben, dass "Sprache" ein Schlüsselwort ist? –
Können Sie versuchen, sprache.id in language.language_id zu ändern? Es hängt davon ab, welche Spalte die ID für die Tabellensprache ist. – HarryQuake
* Wenn Sie nicht Join verwenden möchten *: Dies ist immer noch ein Join, nur dass es die veraltete und veraltete Joinsyntax verwendet. – sstan