Ich lese ein Buch über SQL und ich bin auf ein Beispiel fest, das zu einem Datenbankschema verwandt ist, wie unten im Bild gezeigt. Die WHERE-Klausel in Verbindung mit NATURAL JOIN SQL verwenden?
Das Beispiel löst unter die Abfrage wie in dem Buch heißt es: „Führen Sie die Namen der Ausbilder zusammen mit den Titeln von Kursen, die sie lehren“
Angenommen, wir wollen die Anfrage beantworten Die Abfrage sein kann in SQL geschrieben wie folgt:
select name , title
from instructor natural join teaches , course
where teaches.course id = course.course id;
nun das Buch heißt es, dass
"Beachten Sie, dass teaches.course id im wo cl ause bezieht sich auf das Kurs-ID-Feld des natürlichen Join-Ergebnisses, da dieses Feld wiederum aus der Teach-Beziehung stammt. „
das Buch wieder Zustände in BOLD, dass:
“ Es ist nicht möglich, Namen zu verwenden, schreibt die ursprüngliche Beziehung Namen enthalten, zum Beispiel instructor.name oder teaches.course id, um Eigenschaften in den natürlichen Bezug zu nehmen Join Ergebnis; Wir können jedoch Attributnamen wie Name und Kurs-ID, ohne die Beziehung Namen. "
(Verweis auf die Abfrage oben) Wenn es nicht möglich ist, wie kommt der Autor konnte die Abfrage schreiben als
teaches.course id = course.course id
Wie teaches.course den natürlichen Join Attribut „Course“ beziehen kann, hat der Autor so zweideutig streckt seine arguments.Please erklärt mir die Augen des Autors Ansicht.
SQL Server unterstützt 'NATURAL JOIN' nicht, daher kann die Frage nicht auf dieser Datenbank basieren. –
Die Frage ist allgemein über die SQL-Sprache nicht über SQL-Server. Ich habe es gerade als zusätzliches Tag benutzt. –
'von Instructor Natural Join lehrt, natürlich 'würde ich sagen: Brennen Sie das Buch! 'Natural Join' wird allgemein als böse angesehen, und in Kombination mit dem Commalis des alten Stils ist es nicht zu erkennen. – wildplasser