Quickmenu

[SQL-Klauseln] [SELECTS] [FROM] [JOIN] [AUTO-JOIN] [WHERE] [Elemente des View] [Ausgabefelder] [Ausdrücke] [Searchcondition] [NULLWERTE] [Stellvertreterzeichen] [Logik mit Vorrang] [AND] [OR] [NOT] [ORDER BY] [HAVING] [IN] [BETWEEN] [SUBSELECT] [Aufgaben]

Die Abfrage einer Datenbank unter FoxPro 6.0 für WINDOWS mit RQBE

Aufgabe1: Ermitteln Sie die Namen aller Kontinente!

Aufgabe 2: Gesucht sind alle Inseln (ihr Name) der Inselgruppe der Philippinen!

Aufgabe 3: Gesucht sind die Namen aller Wüsten der Wüstenart "Sandwueste" mit einer Fläche größer als 25 000 km²! (Beachte: keine Leerzeichen in Zahlen!!!)

Aufgabe 4: Gesucht sind alle Berge der Alpen (Beachten Sie, daß die Alpen in Teilgebirge aufgegliedert sind)!

Aufgabe 5: Gesucht sind alle Flußnamen, die in die Ostsee oder Nordsee münden und über 1 000 km lang sind!

Aufgabe 6: Geben Sie für alle Millionenstädte, die in den Tropen liegen, die Namen und ihre Koordinaten an! (Die Tropen liegen zwischen 23,27° nördlicher und 23,27° südlicher Breite)

Aufgabe7: Gesucht sind alle Hochgebirge (Gebirge mit Bergen über 3000 m Höhe).

Aufgabe 8: Geben Sie die Namen, die jeweilige Länderkenaung und die Zahl der Einwohner für alle Länder an, die mehr als 45 Millionen Einwohner haben. Ordnen Sie dabei die Lander in absteigender Reihenfolge nach der Einwohnerzahl.

Aufgabe 9: Gesucht ist der Anteil der Meere an der Erdoberfläche (Angabe in Prozent). Hinweis: Der Erdradius beträgt 6370 km.

Aufgabe 10: Wie hoch ist die Einwohnerzahl des vereinigten Deutschlands?

Aufgabe 11: Gesucht sind alle Inselgruppen sowie die Anzahl der zugehörigen Inseln.

Aufgabe 12: Gesucht sind alle Flüsse mit mehr als zwei an ihnen liegenden Städten, sortiert nach dieser Anzahl.

Aufgabe 13: Gesucht sind alle Städte, in denen mehrere Organisationen ihren Sitz haben, sortiert nach der Anzahl der Organisationen.14. Ermitteln Sie die Namen aller Flusse, die sowohi durch Deutschland als auch durch Osterreich fließen.

Aufgabe 15: Gesucht ist die größte Insel der Welt (Name und Fläche der Insel).

Aufgabe 16: Gesucht sind Namen und Haupstadte aller Lander, die nicht Mitglied der UNO sind.

Aufgabe 17: Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner, die Fläche, das Bruttosozialprodukt sowie den prozentualen Flächenanteil am Kontinent an.

Aufgabe 18: Geben Sie alle Länder (Name), von denen Teile auf mehreren Kontinenten liegen, zusammen mit den jeweiligen Kontinenten an.

Aufgabe 19: Geben Sie zu jedem Land in Europa die Ebenen (des Staates) und deren Höhe an, sortieren Sie nach der Höhe.

Aufgabe 20: Ein Land, in dem mehr als 10 Prozent der Bevölkerung in Großstaaten lebt, gilt als stark urbanisiert. Als Großstädte werden Städte mit mehr als 500000 Einwohnern betrachtet. Welche Länder der EG gelten demzufolge als stark urbanisiert?

Aufgabe 21: Geben Sie zu jedem Fluß, der in einen anderen fließt, an, in welches Meer oder See dieser (der zuletztgenannte Fluß) mündet.

Selects mit RQBE unter Fox 6.0

Startmenü für eine Abfrage aus dem Dateimenü

Abfrage-Assistent

Feldauswahl für den View via Abfrage-Assistent

RQBE-Abfrage mit dem Abfrage-Designer - kein .DBF-File geöffnet

... öffnen des .DBF-Files

mit Verzeichnisstruktur für das .DBF-File

ausgewähltes File

Die SELECT-Klausel - der View (das Beispiel)

Standardfeld für RQBE-Abfrage

... und wohin nun mit's janze???

Elemente des View

Name für den View wird im Feld "Dateinamen" eingetragen und somit verwaltet

Ausgabefelder im View

Erstellung des View (automatisch sind alle Felder einbezogen)

Ausschluß von doppelt im View vorkommenden Datensätzen

Die Anzeige von Duplikaten im View kann durch Einschalten des Kontrollkästchens "Keine Duplikate" verhindert werden - Duplikate würden entstehen, wenn mehrere Datensätze die Suchbedingung erfüllen, jedoch nur ein Merkmal gesucht wird (z. B.: viele Vertreter verkaufen mehrere Artikel - gesucht ist jedoch nur der Name des jeweiligen Vertreters, er soll aber nur einmal angezeigt werden!). Im Gegensatz zu anderen Datenbankabfrageprogrammen ist bei RQBE diese Einstellung nicht Standard - sie muß extra zugeschalten werden.

... in FoxPro 6.0 über das register "Verschiedenes" - "Keine Duplikate" zu aktivieren

Ausdrücke im View

Text kann im View benötigt werden, wenn der Datenfeldname für die Repräsentation nicht relevant ist oder im aktuellen View nicht einbezogen ist

Das Einfügen von Aussagetext in den View

... und das Aktivieren in den ausgewählten Feldern

Funktionen

Funktionen im View erfüllen Berechnungen oder statistische Auswertungen von Datenbeständen

Definition von Funktionen als Abfrageergebnis

Zeichenfunktionen

Funktion Datentypen Beschreibung
MAX(argument) numerische Werte und Zeichen sucht das maximale Vorkommen innerhalb der Datenfelder (bei Text wird das Vorkommen des Zeichens oder Wortes gefiltert, welches im Alphabet am weitesten hinten steht (ASCII-Code ist Basis - Vorsicht mit Umlauten und Sonderzeichen!!!))
MIN(argument) numerische Werte und Zeichen sucht das minimale Vorkommen innerhalb der Datenfelder (bei Text wird das Vorkommen des Zeichens oder Wortes gefiltert, welches im Alphabet am weitesten vorn steht (ASCII-Code ist Basis - Vorsicht mit Umlauten und Sonderzeichen!!!))
SUM(datenfeld) numerische Werte ermittelt die Summe der in die Abrgekriterien einbezogenen Datenfelder
COUNT(datenfeld) numerische Werte und Zeichen stellt die Anzahl der Vorkommen eines Kriteriums fest
AVG(datenfeld) numerische Werte ermittelt den Durchschnitt der in die Abrgekriterien einbezogenen Datenfelder

Übersicht über die numerischen Funktionen von FoxPro

Gruppierung im View

Group By-Klausel (das Beispiel)

Fenster für Gruppierung der Ausgabedaten

Sortierung im View (das Beispiel)

Order By-Klausel

sortiert die Anzeigedaten auf einem oder mehreren Feldern - die Ausgangsdatei bleibt davon ausgenommen - sie wird nicht sortiert.Sortiert werden kann auf mehrere Ausgabefelder, wobei die Reihenfolge der Sortierung durch die Position in der Sortierfolge des Menüs festgelegt ist. Das erste Feld ist Hauptsortierkriterium.

Fenster für Ausgabesortierung

Ausschließende Bedingungen im View

Having-Klausel

zum ersten (das Beispiel) - und zum zweiten (das Beispiel)

Bedingungsformulierung für den View

Ausgabe als Kreuztalzelle

Innerhalb des Dialogfensters zur Feldauswahl existiert das Kontrollkästchen Kreuztabelle. Sie können die Abfrageergebnisse an Hilfsprogramme wie Graph, in eine Tabelle oder an einen Report weitergeben. Dann wählen Sie das Kontrollkästchen Kreuztabelle. In diesem Ausgabeformat wird eine Tabelle mit dem ersten Parameter als Zeilennumerierung und dem zweiten Parameter als Spaltenbeschriftung erzeugt. Die Daten des dritten Parameters werden dann in die Tabelle eingetragen.
Daher ist die Option nur freigegeben, wenn in der Liste Gewählte Ausgabe genau drei Elemente eingetragen sind.

Nehmen wir als Beispiel wieder die Datei RECHNUNG.DBF. Es sollen die drei Felder Kundennummer, Rechnungsstummer, Betrag in einer Tabelle ausgegeben werden. Zur Begrenzung der Tabelle sollen nur Sätze mit einem Rechnungsbetrag größer als DM 2000.- angezeigt werden. Die entsprechenden Auswahlbedingungen sind in den RQBE-Dialogfenslern einzutragen. Nach Auswahl der drei Felder sollte die Option Kreuztabelle noch nicht gewählt werden. Wenn Sie die Abfrage starten, erscheint folgende Tabelle auf dem Bildschirm. Dann schließen Sie die Tabelle und aktivieren das Kontrollkästchen Felder innerhalb des Dialogfensters Gruppe definieren erneut. Im neuen Dialogfenster bleibt die Feldauswahl erhalten. Nun markieren Sie das Kontrollkästchen Kreuztalbelle und schließen das Fenster. Im RQBE-Fenster sind dann die Optionen Gruppe definieren und Reihenfolge gesperrt.

Wenn Sie nun die Abfrage über die entsprechende Schaltfläche starten, erscheint zuerst die Meldung, daß das Programm GENXIAB.PRG erstellt wird. Dann blendet FoxPro ein Symbol mit der Nachricht ein, daß die Kreuztabelle erstellt wird. Anschließend blendet FoxPro die Kreuztabelle auf dem Bildschirm ein.

Die Tabelle enthält die gleichen Ergebnisse wie die Talrelle in Bild d.17. Lediglich das Anzeigeformat ist etwas anders. Diese Form der Ausgabe können Sie nun in Frerndprogrammen zur Auswertung verwenden.

Die FROM-Klausel - Bezug auf die Tabelle

Eine Tabelle enthält alle Suchkriterien

Dateifenster zum Öffnen der weiteren Datei(en)

JOINS

Hier werden Tabellen miteinander "verknüpft", die Suchkriterien enthalten, welche nicht in jeder Tabelle getrennt enthalten sind, aber in der einen oder der anderen. Zusätzlich muß es ein Datenfeld geben (den Schlüssel - Key), welches in beiden Datenbanken existiert. Im allereinfachsten Falle kann dies auch die Datensatznummer (Record-Number) sein, setzt dann aber wiederum voraus, daß in beiden Datenbanken der gleiche Bezug auf gleicher Position (Satznummer) steht.
In jedem Falle entsteht eine Zischenrelation, deren Aufbau bei hinreichender Datensatzanzahl komplex und langwierig sein kann!

Inner-JOIN

Verknüpft werden für die Abfrage zwei verschiedene Tabelle, die aber das gleiche Schlüsselmerkmal unter gleicher Bezeichnung in jeder der in Beziehung zu setzenden Entitäten enthalten.

Fenster zum Setzen der Verknüpfungsbedingungen

Left-Outer-JOIN

Die zu verknüpfenden Tabellen enthalten unter dem gemeinsamen Schlüsselmerkmal unterschiedliche Anzahlen von Einträgen (entsteht in jeder 1:n-Beziehung) - sie sollen aber mit allen Einträgen verknüpft werden. (das Beispiel)

Die Tabelle IST_MITG enthält das Schlüsselmerkmal L_id deshalb mehrfach, weil ein Land in mehreren Organisationen Mitgleid sein kann

Right-Outer-JOIN

Die Tabelle IST_MITG enthält das Schlüsselmerkmal L_id deshalb mehrfach, weil ein Land in mehreren Organisationen Mitgleid sein kann

AUTO-JOIN

Hierbei wird eine Tabelle auf sich selbst in Beziehung gesetzt um Merkmale einer Tabelle miteinander vergleichen zu können (intern wird dabei eine Kopie-Tabelle der Ausgangstabelle erzeugt) (das Beispiel)

Die WHERE-Klausel - Search-Conditions

um eine Datenbank zielgerichtet abzufragen, müssen Kriterien (Bedingungen oder auch Konditionen) definiert werden - dies geschieht unter FoxPro menügesteuert und kann über Auswahlschalter entsprechend zusammengestellt werden - darunter liegt eine Standard-SQL!!!

NULLWERTE

... sind in FoxPro aufgrund seiner Verwandschaft zu dBASE 4.0 einigen besonderheiten unterworfen. So werden von dBASE in Leerfelder automatisch für Textfelder * (das Beispiel) und für Zahlenfelder 9999999999 eingesetzt. Das hat Konsequenzen für die Richtigkeit einiger Abfragen (eine Frage nach Millionenstädten muß Leerfelder ausschließen!). (das Beispiel)

Logische Verknüpfungen der Abfragekriterien (das Beispiel)

Werden in einer Abfrage mehrere Searchconditions evtl. gar noch auf mehrere Entities gelegt, so entstehen bei der Auswertung immer Zwischen-Tabellen, welche anschließend weiter ausgewertet werden.
Bei der Anwendung logischer Verknüfungen von Abfragekriterien gelten keine Vorrangbestimmungen in der Reihenfolge NOT, AND OR. Sollen andere Reglen zur Auswertung als die Reihenfolge gelten, so müssen die Ausdrücke entsprechend getrennt durch die jeweilige ODER-Verknüpfung notiert werden.

AND-Operator

Elemente einer Zwischenrelation oder der Ausgangstabelle werden genau dann in den View aufgenommen, wenn alle AND-verknüpften Bedingungen bezogen auf den Zwischenview gleichzeitig das Ergebnis "WAHR" liefern - sonst nicht.
In FoxPro werden AND-Verknüpfungen von Suchbedingungen einfach dadurch formuliert, daß in der zweiten oder folgenden Zeile der Abfragekriterien weitere Bedingungen notiert werden.

OR-Operator

Elemente einer Zwischenrelation oder der Ausgangstabelle werden genau dann in den View aufgenommen, wenn ein Datensatz eine der OR-verknüpften Bedingungen bezogen auf den Zwischenview das Ergebnis "WAHR" liefern - sonst nicht.
In FoxPro werden OR-Verknüpfungen von Suchbedingungen dadurch formuliert, daß der "ODER"-Schalter geklickt wird und in der folgenden Zeile die Abfragekriterien weiterer Bedingungen notiert werden.

ODER-Schalter im Feld der Abfragekriterien (alle durch ODER getrennten Abfragekriterien werden atomatisch UND-verknüpft sowie in sich geklammert)

Kritisch werden Bedingungen, in denen AND mit OR-Aussagen verbunden werden sollen, denn jede OR-Verknüpfung kann einen weiteren Block von AND-Bedingungen aufnehmen, welche in sich automatisch geklammert werden. Allerding müssen dann eben auch Bedingungen mehrfach gleich notiert werden, wie im Beispiel der Aufgabe 5 ersichtlich ist!

NOT-Operator

Mengen-Operator (IN-Operator)

Der View ermittelt eine Reihe von Vergleichkriterien, die in einer Teilmenge der Ausgangstabelle als Zwischenrelation ermittelt wurden. Gefragt wird nach einem Kriterium, das in allen Zieldatensätzen enthalten ist. Der IN-Operator wird für SUBSELECTS benötigt.

BETWEEN-Operator

Ausgewertet wird ein Parameter-Bereich, wobei Einzelwerte durch Komma getrennt aufgeführt werden. (das Beispiel)

Ausdrücke in der Searchcondition

Sind Formulierungen. (das Beispiel)

Sub-Selects

... sind Abfragen auf eine Abfrage. Sie müssen in Fox über das Beispielfeld der Searchcondition erstellt und als vollständige Formel ohne (!!!!) Semikolon eingetragen werden (wäre sonst zu einfach!).

Deklaration des SUBSELECTS im Beispielfeld des Abfragekriteriums

Aufgabenkomplex

Anwendung der Geo-Datenbank

1.) Ermitteln Sie die Namen aller Kontinente! (View auf eine Tabelle ohne Searchconditions)

zugehöriges RQBE-Abfrage-Fenster

select k_name;
from kontinen

5 relevante Sätze

2.) Gesucht sind alle Inseln (Name) der Inselgruppe der Philippinen. (View auf eine Tabelle mit einer Searchcondition)

zugehöriges RQBE-Abfrage-Fenster

select i_name
from insel
where inselgrupp = 'Philippinen';

9 relevante Sätze

3.) Gesucht sind alle Wüsten (Name) der Art "Sandwueste" mit einer Fläche größer als 25000 km2. (View auf eine Tabelle mit mehreren Searchconditions AND-verknüpft)

zugehöriges RQBE-Abfrage-Fenster

select w_name
from wueste
where wuestenart = 'Sandwueste'
and flaeche > 25000;

(9 relevante Sätze)

4.) Gesucht sind alle Berge der Alpen (Beachten Sie, daß die Alpen in Teilgebirge aufgegliedert sind). (View auf eine Tabelle mit einer Searchcondition unter Anwendung von Stellvertreterzeichen)

zugehöriges RQBE-Abfrage-Fenster

select bergname
from berg
where gebirge like '%Alpen%'

(4 relevante Sätze)

5.) Gesucht sind alle Flüsse (Name), die in die Ostsee oder Nordsee münden und über 1000 km lang sind. (View auf eine Tabelle mit mehreren Searchconditions AND- und OR-verknüpft - also mit Vorrangautomatik)

zugehöriges RQBE-Abfrage-Fenster

SELECT Fluss.f_name, Fluss.laenge, Fluss.meer;
FROM Fluss;
WHERE Fluss.laenge > 1000;
AND Fluss.meer = "Nordsee";
OR (Fluss.laenge > 1000;
AND Fluss.meer = "Ostsee")

(6 relevante Sätze)

6.) Geben Sie für alle Millionenstädte, die in den Tropen liegen, die Namen und ihre Koordinaten an (Die Tropen liegen zwischen 23,27 Grad nördlicher und 23,27 Grad südlicher Breite)! (View auf eine Tabelle mit mehreren AND-vernüpften Searchconditions unter Anwendung von Bereichsangaben)

zugehöriges RQBE-Abfrage-Fenster

SELECT Stadt.st_name, Stadt.breite, Stadt.laenge;
FROM Stadt;
WHERE Stadt.breite BETWEEN -23.27 AND 23.27;
AND Stadt.einwohner > 1000000

(78 relevante Sätze)

7.) Gesucht sind alle Hochgebirge (Gebirge mit Bergen über 3000 m Höhe). (View auf eine Tabelle mit einer Searchcondition unter Auswertung von NULLWERTEN)

zugehöriges RQBE-Abfrage-Fenster

SELECT DISTINCT Berg.gebirge;
FROM Berg;
WHERE Berg.hoehe > 3000;
AND Berg.gebirge <> "*";

(30 relevante Sätze)

8.) Geben Sie die Namen, die jeweilige Länderkennung und die Zahl der Einwohner für alle Länder an, die mehr als 45 Millionen Einwohner haben. Ordnen Sie dabei die Länder in absteigender Reihenfolge nach der Einwohnerzahl. (View auf eine Tabelle mit einer Searchcondition unter Auswertung eines Sortierkriteriums)

zugehöriges RQBE-Abfrage-Fenster

festzulegendes Sortierkriterium

SELECT Land.l_name, Land.l_id, Land.einwohner;
FROM Land;
WHERE Land.einwohner > 45000000;
ORDER BY Land.einwohner DESCENDING

(19 relevante Sätze)

9.) Gesucht ist der Anteil der Meere an der Erdoberfläche (Angabe in Prozent). Hinweis: Der Erdradius beträgt 6370 km! (View auf eine Tabelle ohne Searchcondition unter Anwendung einer Funktion im View und Anzeige eines Audruckes)

zugehöriges RQBE-Abfrage-Fenster

SELECT "Anteil der Weltmeere in Prozent",;
((4*3.1416*6.37*6.37)- sum(Kontinen.flaeche))/(4*3.1416*6.37*6.37)*100;
FROM Kontinen

(1 relevanter Satz mit ca. 72%)

10.) Wie hoch ist die Einwohnerzahl des vereinigten Deutschlands (Beachten Sie, daß in der vorliegenden Datenstruktur DDR und BRD noch getrennt aufgeführt sind)? (View auf eine Tabelle mit Funktion in der Searchcondition unter Anwendung des Mengenoperators)

zugehöriges RQBE-Abfrage-Fenster

SELECT SUM(Land.einwohner);
FROM Land;
WHERE Land.l_id IN ('D','DDR')

oder aber (View auf eine Tabelle mit Funktion in der Searchcondition unter Anwendung des Wildcards):

zugehöriges RQBE-Abfrage-Fenster

SELECT SUM(Land.einwohner);
FROM Land;
WHERE Land.l_id LIKE "D__";
OR (Land.l_id == "D")

(1 relevanter Satz mit ca. 89 Mio)

11.) Gesucht sind alle Inselgruppen sowie die Anzahl der zugehörigen Inseln. (View auf eine Tabelle mit Funktion in der Searchcondition mit Gruppierung)

zugehöriges RQBE-Abfrage-Fenster

einzustellende Gruppierungvorschrift

SELECT Insel.inselgrupp, "mit: ", COUNT(DISTINCT Insel.i_name);
FROM Insel;
WHERE Insel.inselgrupp <> '*';
GROUP BY Insel.inselgrupp

(35 relevante Sätze)

12.) Gesucht sind alle Flüsse mit mehr als zwei an ihnen liegenden Städten, sortiert nach dieser Anzahl. (View auf eine Tabelle mit Funktion in der Searchcondition unter Anwendung einer Gruppierungsvorschrift und ausschließender Bedingung)

zugehöriges RQBE-Abfrage-Fenster

festzulegendes Sortierkriterium

einzustellende Gruppierungvorschrift

ausschließemde Bedingung

SELECT Liegt_an.f_name, COUNT(*);
FROM Liegt_an;
WHERE Liegt_an.f_name <> "*";
GROUP BY Liegt_an.f_name;
HAVING COUNT(*) > 2;
ORDER BY 2

Elbe nicht im Ergebnis, da z. Zt. Elbe nur für Hamburg erfaßt

(5 relevante Sätze)

13.) Gesucht sind alle Städte, in denen mehrere Organisationen ihren Sitz haben, sortiert nach der Anzahl der Organisationen. (View auf eine Tabelle mit Funktion in der Searchcondition unter Anwendung einer Gruppierungsvorschrift und ausschließender Bedingung)

zugehöriges RQBE-Abfrage-Fenster

festzulegendes Sortierkriterium

einzustellende Gruppierungvorschrift

ausschließemde Bedingung

SELECT Hat_sitz.st_name, COUNT(*);
FROM Hat_sitz;
WHERE Hat_sitz.st_name <> '*';
GROUP BY Hat_sitz.st_name;
HAVING COUNT(*) > 2;
OR (COUNT(*) = 2);
ORDER BY 2

(5 relevante Sätze)

14.) Ermitteln Sie die Namen aller Flüsse, die sowohl durch Deutschland als auch durch Österreich fließen.

(View auf einen AUTO-Join zweier Tabellen mit Searchcondition )

zugehöriges RQBE-Abfrage-Fenster

Erstellung des AUTO-Join im Verknüpfungsfenster

ELECT DISTINCT Geo_flus.f_name;
FROM Geo_flus, GEO_FLUS Geo_flus_a;
WHERE Geo_flus_a.lt_id = Geo_flus.lt_id;
AND (Geo_flus.l_id == 'A';
AND Geo_flus_a.l_id == 'D')

(1 relevanter Satz)

15.) Gesucht ist die größte Insel der Welt (Name und Fläche der Insel). (View auf einen Mengenoperator und einem Ausdruck in der Searchcondition )

SELECT Insel.i_name, Insel.flaeche;
FROM Insel;
WHERE Insel.flaeche IN (SELECT MAX(Insel.flaeche) FROM Insel WHERE Insel.flaeche<9999999999)

(1 relevanter Satz)

16.) Gesucht sind Namen und Hauptstädte aller Länder, die nicht Mitglied der UNO sind. (View auf einen einen Outer-Join zweier Tabellen mit Mengenoperator und einem Ausdruck in der Searchcondition )

zugehöriges RQBE-Abfrage-Fenster

Erstellung des Right-Outer-JOIN-Join (Größer als) im Verknüpfungsfenster

SELECT DISTINCT Land.l_name, Land.hauptstadt;
FROM Land, Ist_mitg;
WHERE Ist_mitg.l_id > Land.l_id;
AND Land.l_id NOT IN ('SELECT Hat_sitz.l_id;FROM ist_mitg;
where Ist_mitg.abkuerz = "UNO"')

(176 relevante Sätze)

17.) Geben Sie von jedem Land in Afrika den Namen, die Anzahl der Einwohner, die Fläche, das Bruttosozialprodukt sowie den prozentualen Flächenanteil am Kontinent an. (View auf einen einen Inner-Join zweier Tabellen und einer Searchcondition )

zugehöriges RQBE-Abfrage-Fenster

Erstellung des Inner-JOIN-Join (Gleich) im Verknüpfungsfenster

SELECT Land.l_name, Land.einwohner, Land.flaeche, Land.bsp,;
Umfasst.prozent;
FROM Land, Umfasst;
WHERE Land.l_id = Umfasst.l_id;
AND Umfasst.k_name == "Afrika"

(56 relevante Sätze)

18.) Geben Sie alle Länder, von denen Teile auf mehreren Kontinenten liegen, zusammen mit den jeweiligen Kontinenten an. (View auf einen Inner-Join zweier Tabellen und einer Searchcondition mit Gruppierung und ausschließender Bedingung)

zugehöriges RQBE-Abfrage-Fenster

Erstellung des AUTO-JOIN (Selbstverbund) im Verknüpfungsfenster Umfasst_a.l_id und Land.l_id

SELECT DISTINCT Land.l_name, Umfasst.k_name, Umfasst_b.k_name;
FROM Land, Umfasst, UMFASST Umfasst_b;
WHERE Land.l_id = Umfasst.l_id;
AND Umfasst_b.l_id = Land.l_id;
AND Land.l_id IN ("");
GROUP BY Land.l_id;
HAVING CNT(*)>2.OR.(CNT(*)=2)

19.) Geben Sie zu jedem Land in Europa die Ebenen (des Staates) und deren Höhe an, sortieren Sie nach der Höhe. (View auf mehrere Inner-Join dreier Tabellen und einer Searchcondition )

zugehöriges RQBE-Abfrage-Fenster

Erstellung des INNER-JOIN (Gleichverbund) im Verknüpfungsfenster Geo_eben.l_id und Land.l_id

Erstellung des NNER-JOIN (Gleichverbund) im Verknüpfungsfenster Umfasst.l_id und Land.l_id

Erstellung des NNER-JOIN (Gleichverbund) im Verknüpfungsfenster Ebene.e_name und Geo_ebene.e_name

SELECT DISTINCT Geo_eben.e_name, Land.l_name, Ebene.hoehe;
FROM Land, Geo_eben, Umfasst, Ebene;
WHERE Geo_eben.l_id = Land.l_id;
AND Umfasst.l_id = Land.l_id;
AND Ebene.e_name = Geo_eben.e_name;
AND Umfasst.k_name = "Europa";
ORDER BY Ebene.hoehe

(6 relevante Sätze)