Auf Outer-Joins (in diesem Fall eine linke äußere Verknüpfung) Wie funktioniert das Hinzufügen eines Filters auf der rechten Seite? „Holen Sie alle Zeilen mit namen = John ersten und kommen Sie mit den Tabellen“Hinzufügen von Filtern in der rechten Seitentabelle auf den linken äußeren Joins
SELECT s.id, i.name FROM Student s
LEFT OUTER JOIN Student_Instructor i
ON s.student_id=i.student_id
AND i.name='John'
Ich verstehe, dass, wenn die Filter auf dem Student
Tisch sind, würde es eher sein.
Aber ich bin mir nicht sicher, ob das der Fall ist, wenn der Filter auf der rechten Seite Tabelle ist (Student_Instructor
). Wie wird der Filter i.name='John'
interpretiert?
Danke
Hängt davon ab, wo der Filter in der JOIN-Bedingung oder der WHERE-Klausel angewendet wird. – user2989408
@ user2989408 Der Filter wird im JOIN-Zustand angewendet, wie im Beispiel gezeigt. – user624558
Geben Sie EXPLAIN vor Ihrer Auswahl ein, um den Abfrageplan anzuzeigen – carexcer