Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » Kontextsensitive Hilfe » Abfrage-Editor

 

Register Joins

Verwenden Sie dieses Register, wenn Sie mehrere Tabellen in Ihre Abfrage einbeziehen.

Wenn Sie mehrere Tabellen in eine Abfrage einbeziehen wollen, müssen Sie die Tabellen auf irgendeine Weise verknüpfen. Über dieses Register können Sie Ihre Joins festlegen.

Standard-Joins

Wenn Sie im Register Tabellen Tabellen angeben, versucht der Abfrage-Editor, eine Standard-Join-Bedingung zu erzeugen. Für diese Vorgehensweise gibt es zwei Gründe. Erstens verarbeitet der Abfrage-Editor die Abfrage, wenn Sie sie erstellen. Wenn kein Standard-Join vorhanden ist, erstellt die Tabelle ein Querprodukt, wodurch die Verarbeitung verlangsamt werden kann. In den meisten Fällen sind Querprodukte nicht erwünscht. Zweitens schlägt der Abfrage-Editor eine Join-Strategie vor, die für Sie geeignet sein kann.

Wenn Sie im Register Tabellen Tabellen hinzufügen, prüft der Abfrage-Editor, ob eine Fremdschlüsselbeziehung zwischen den Tabellen erstellt wurde. Wenn ein Fremdschlüssel vorhanden ist, verwendet der Abfrage-Editor sie zur Erstellung einer ON-Bedingung. Wenn mehrere Fremdschlüsselbeziehungen vorhanden sind, verwendet der Editor die erste gefundene Beziehung. Wenn keine Fremdschlüssel vorhanden sind, erstellt der Editor keine ON-Klausel, und die Tabellen werden ein Querprodukt.

Sie können Ihre Abfrage immer überprüfen, indem Sie auf das Register SQL klicken, das sich unten im Fenster des Abfrage-Editors befindet. Sie können Ihre Join-Strategie direkt im Register SQL oder auch im Register Joins bearbeiten. Weitere Hinweise finden Sie unter Joins: Daten aus mehreren Tabellen abrufen.

Anmerkung

Tipp: Die Größe aller Felder im Register Joins kann verändert werden. Sie können den Abfrage-Editor auch vergrößern, indem Sie an seinen Rändern ziehen. Es kann erforderlich sein, die Größe der Felder und des Fensters zu verändern, um die Tabellennamen lesen zu können.

Komponenten

Linker Tabellenausdruck   Wählen Sie eine Tabelle aus der Dropdown-Liste aus. Es sind nur Tabellen verfügbar, die im Register Tabellen eingegeben wurden. Ob Sie eine Tabelle rechts oder links eingeben, ist für Outer-Joins von Bedeutung.

Join-Typ   Wählen Sie einen Join-Typ aus der Dropdown-Liste aus. Weitere Hinweise finden Sie unter Verknüpfte Tabellen.

Rechter Tabellenausdruck   Wählen Sie eine Tabelle aus der Dropdown-Liste aus. Es sind nur Tabellen verfügbar, die im Register Tabellen eingegeben wurden. Ob Sie eine Tabelle rechts oder links eingeben, ist für Outer-Joins von Bedeutung.

Bedingung   Doppelklicken Sie, um eine Bedingung zu erstellen. Der Abfrage-Editor fügt das Schlüsselwort ON ein. Für Key-Joins und Natural-Joins erstellt SQL Anywhere die ON-Bedingung. Weitere Hinweise finden Sie unter Explizite Join-Bedingungen (ON-Klausel).

Hinzufügen   Verwenden Sie diese Funktion zum Erstellen von Zeilen. Klicken Sie in den grauen Kreis links von der Zeile, um die Zeile auszuwählen.

Löschen   Verwenden Sie diese Funktion zum Löschen von Zeilen. Klicken Sie in den grauen Kreis links von der Zeile, um die Zeile auszuwählen.

Leere Zeilen müssen gelöscht werden. Dies hat keine Auswirkungen auf die Tabellen in Ihrer Abfrage. Im Register Tabellen können Sie eine Tabelle hinzufügen oder löschen.

Ergebnisse   Dieses Fenster enthält die Ergebnisse Ihrer Abfrage oder eine Fehlermeldung, wenn Ihre Abfrage einen Fehler enthält.

SQL   Klicken Sie unten im Fenster auf SQL, um den SQL-Code Ihrer Abfrage anzuzeigen.

Fehlerbehandlung

Wenn Sie eine Fehlermeldung erhalten, die darauf hinweist, dass Ihr Join nicht richtig ist, klicken Sie unten im Fenster auf das Register SQL, um den SQL-Code zu überprüfen. Es kann sein, dass leere Anführungszeichen oder zusätzliche Kommas in Ihren Code eingefügt wurden, v.a. wenn Sie im Register Join Zeilen eingefügt oder gelöscht haben. Folgende Abfrage erzeugt z.B. eine Fehlermeldung. Sie müssen die leeren Anführungszeichen nach SalesOrders löschen:

FROM ("Customers"
   JOIN "SalesOrders")""
     JOIN "SalesOrderItems"
Siehe auch