FoxPro RQBE mit dem Diskurs STUDENT history menue Letztmalig dran rumgefummelt: 28.01.10 06:30:34

Was ist eine RQBE-Abfrage?:

  • Datensätze, die gewissen Kriterien entsprechen, können selektiert werden, dabei können auch noch die Felder angegeben werden, die zur Ausgabe gelangen sollen
  • hauptsächlich erfolgt die Ergebnisrepräsentation durch einen View, dieser kann jedoch in Form eines Berichts auch auf den Drucker oder in eine Datei mit gewünschtem Format umgeleitet werden
  • Abfragen repräsentieren immer ein Gesamtergebnis, d. h. alle Datensätze (mit den entsprechend gewählten Feldnamen), die die Abfragebedingungen erfüllen, werden auf einmal angezeigt und evtl. in einer Datei abgespeichert (Abfragen sind SQL-kompatibel) - eine Abfrage auf eine Abfrage ist nicht möglich (Queries können aber genestet werden - Subqueries)
  • wird eine Abfrage über mehrere Tabellen geführt, so wird die entsprechende Referenz temporär über die Schlüssel ermittelt - man spricht vom JOIN
  • dazu ist kein relationales Gefüge notwendig - es darf aber vorhanden sein
  • einzige Rahmenbedingung: in jeder Tabelle ist mindestens eine eindeutige Entität zur anderen enthalten
  • die Ausgabe der Ergebnisse kann wahlweise in einer Tabelle (View) mit einer anzugebenden Menge von Feldnamen vorgenommen, oder als Datei hinterlegt werden
  • dabei können, im Gegensatz zur "Gehe zu ..."-Positionierung, bzw. zur Suchfunktion, auch Verknüpfungen der Abfragebedingungen erfolgen - es kann gleichzeitig nach mehreren Kriterien gefragt werden - unter relationalen Datenbanken wie FoxPro eben auch über mehrere Relationen (Tabellen) hinweg!!!
  • Suchkriterien können mathematische und logische Operationen enthalten, müssen jedoch eindeutig spezifiziert sein
  • der Aufbau der SQLs oder hier RQBEs erfolgt durch Klauseln - einige notwendig - andere optional.
  1. Projektion und Selektion bezüglich einer Tabelle
  2. Ausdrücke in der SQL
  3. Bedingungen in der WHERE-Klausel
  4. Komplexe Bedingungen mit Vorrangregelung
  5. Database-JOINING
  6. NULLWERTE
  7. BETWEEN-Prädikat
  8. Statistische Funktionen
  9. ORDER BY-Klausel
10. GROUP BY-Klausel
11. HAVING-Klausel
12. Quantifizierende Prädikate
13. Sub-SELECTs
14. UNION-Operatoren
15. Kreuztabellen
16. Verwandte Themen

FoxPro-RQBE

Logo für die FoxPro-RQBE an der Musterdatenbank "STUDENT"

inhaltlich auf korrektem Stand - evtl. partiell unvollständig ;-)

Wissen für Fortgeschrittene der Informatik

 die Datenbasis STUDENT

Relationship der Studenten-Datenbasis

 

Relationship der Studenten-Datenbasis

Download der Datenbasis STUDENT im ZIP-Format

Relationship der Studenten-Datenbasis zum Download als CDR-Datei

 

 

[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][Quantivizierung] [Aufgaben]

 

In den nachfolgenden Lösungen zu den Aufgaben habe ich teilweise absichtlich Attribute mit in die Projektion einbezogen, welche laut Aufgabenstellung gar nicht enthalten sein sollen. Diese dienen dann der Kontrolle auf Fehlerfreiheit

  • Aufgabe 001: Gesucht sind Matrikelnummer und vollständige Namen aller Studenten!

  • Aufgabe 002: Gesucht sind Matrikelnummer sowie die Noten aller Studenten im Fach Datenbanken - zusätzlich ist eine Spalte mit dem Eintrag "Note im Fach Datenbanken" zu generieren!

  • Aufgabe 003: Gesucht sind die Namen aller Studenten, welche aus Rostock kommen!

  • Aufgabe 004: Gesucht sind die Namen aller Studenten, deren Namen mit "M" beginnt!

  • Aufgabe 005: Gesucht sind die Namen aller Studenten, deren Matrikelnummer eine "1" enthält oder deren Name genau 3 Zeichen lang ist!

  • Aufgabe 006: Gesucht sind die Namen aller Studenten, welche vor 1971 geboren wurden!

  • Aufgabe 007: Gesucht alle Immatrikulations-Angaben zu den Studenten, welche mit Nachnamen nicht "Saurier" heißen, aus Rostock kommen, über BAFÖG von mehr als 250,-€ verfügen oder deren Imma-Nummer auf "A" endet!

  • Aufgabe 008a: Gesucht sind die vollständigen Namensangaben aller Studenten, deren Leistungen im Fach Datenbanken 1,4 oder 4.0 betragen und welche aus Leipzig kommen oder keine Fahrerlaubnis besitzen!

  • Aufgabe 008b: Wer von den eingeschriebenen Studenten aus München hat bei einem Professor Vorlesung, der mehr als 4000,-€ Einkommen hat, der in der Universitätsstadt wohnt oder aus Berlin kommt?

  • Aufgabe 008c: Wie viel Bafög haben die Studenten, die entweder aus Berlin oder aus Potsdam kommen, jedoch kein eigenes Fahrzeug angemeldet haben (die persönlichen Daten der Studenten werden ebenfalls benötigt!)?

  • Aufgabe 008d: Wer der eingeschriebenen Studenten kommt nicht aus München oder Potsdam, hat ein eigenes Auto und bezieht zusätzlich noch Kindergeld?

  • Aufgabe 008e: Wie viel Kindergeld bekommen die Studenten, die entweder aus Berlin oder aus München kommen, gleichzeitig keine Nebenwohnung haben und im Jahr 1978 geboren wurden?

  • Aufgabe 008f: Welche Studenten kommen aus Berlin und haben ein Hobby, welches nicht Angeln oder Schiffsmodellbau ist?

  • Aufgabe 008g: Welche Studenten kommen nicht aus Berlin oder Potsdam, haben zwischen als 300,- € und 600,-€ Bafög und kein Fahrzeug oder bei Herrn G. Brechen Vorlesung?

  • Aufgabe 008h: Welche Studenten beziehen kein Bafög oder haben keine Fahrerlaubnis und kommen aus Berlin oder München?

  • Aufgabe 008i: Welche Studenten kommen nicht aus Rostock oder nicht aus Berlin und zahlen eine Miete von mehr als 700,- €?

die nachfolgenden Aufgaben enthalten NULLWERTE in den Zielangaben

  • Aufgabe 009: Gesucht sind die Name und Lehrstuhl-Bezeichnung der Leiter, die über keinen akademischen Grad verfügen!

die nachfolgenden Aufgaben enthalten indirekte Zielangaben (diese sind in der Datenbasis so gar nicht enthalten)

  • Aufgabe 010a: Wer von den Studenten ist Übergewichtig (als Übergewichtig gelten: Männer ab 18 Jahre mit mehr als 75 kg und Frauen ab 18 Jahre mit mehr als 65 kg Gewicht)?

  • Aufgabe 010b: Welche männlichen Studenten sind für ihre Größe zu dick (das sind Männer zwischen 1,5 und 1,65 m mit mehr als 60 kg, zwischen 1,65 und 1,75 m mit mehr als 70 kg, zwischen 1,75 und 1,85 m mit mehr als 80 kg, zwischen 1,85 und 1,95 m mit mehr als 90 kg und zwischen 1,95 und 2,0 m mit mehr als 100 kg)?

  • Aufgabe 010c: Welche weiblichen Studenten sind für ihr Gewicht zu klein (das sind Frauen zwischen 1,5 und 1,65 m mit mehr als 55 kg, zwischen 1,65 und 1,75 m mit mehr als 65 kg, zwischen 1,75 und 1,85 m mit mehr als 75 kg, zwischen 1,85 und 1,95 m mit mehr als 85 kg und zwischen 1,95 und 2,0 m mit mehr als 95 kg)?

  • Aufgabe 010d: Welche Studenten kommen für die uni-interne Webpublikation in Frage (das sind Männer mit mehr als 20 Jahren, einer Mailadresse sowie einer aktiven Website und Frauen über 19 Jahren, einer Mailadresse sowie einer aktiven Website)?

  • Aufgabe 010e: Welche Studenten kommen für die Basketballmannschaft in Frage (das sind Männer mit mehr als 1,90 m und Frauen mit mehr als 1,75 Körpergröße)?

die nachfolgenden Aufgaben sind mit dem Operator "IN" zu lösen und nicht via "UND" bzw. "ODER"-Verknüpfung

  • Aufgabe 011a: Wer kommt aus München, Hannover, Leipzig, Potsdam, Rostock und Berlin?

  • Aufgabe 011b: Welche Studenten kommen nicht aus Berlin, Leipzig und München und sind größer als 1,80 m?

  • Aufgabe 011c: Welche Studenten kommen aus Berlin, Rostock, Potsdam und München, sind größer als 1,80 m und haben mehr als 320,-€ Bafög?

  • Aufgabe 011d: Wie viel Kindergeld bekommen die Studenten, die nicht aus Berlin, Rostock und aus München kommen, gleichzeitig keine Nebenwohnung haben und sind im Jahr 1978 geboren wurden

  • Aufgabe 011e: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

die nachfolgenden Aufgaben enthalten fast zwingend den Operator "BETWEEN" und nicht die "UND" bzw. "ODER"-Verknüpfung

  • Aufgabe 012a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

  • Aufgabe 012b: Wessen Note der aufgeführten Studenten im Fach Datenbanken liegt zwischen 1,3 und 3,3?

  • Aufgabe 012c: Wer der eingeschriebenen Studenten kommt nicht aus München, Leipzig, Rostock, Marburg oder Potsdam, hat ein eigenes Auto, bezieht zusätzlich noch Kindergeld sowie ein Bafög zwischen 700,- und 800,- €?

  • Aufgabe 012d: Welche der aufgeführten Professoren haben ein Einkommen zwischen 5500,- und 6300,-€ ?

  • Aufgabe 012e: Welche Studenten, deren Immatrikulationsnummer zwischen 22 und 56 beginnt kommen aus München?

  • Aufgabe 012f: Welche Vorlesung, die mit den Nummern11 bis 65 beginnt, findet am Donnerstag statt?

die nachfolgenden Aufgaben verwenden statistische Funktionen

  • Aufgabe 013a: Bestimmen Sie in einer Abfrage die Summe aller BAFÖG-Einkommen der Studenten.

  • Aufgabe 013b: Wer von den Professoren hat das höchste Einkommen?

  • Aufgabe 013c: Wie hoch ist das durchschnittliche BAFÖG aller Studenten?

  • Aufgabe 013d: Um wie viel weicht das Kindergeld der Studentin Balla Leika vom durchschnittlichen Kindergeld aller Studenten ab?

  • Aufgabe 013e: Bestimmen Sie den Mittelwert des BAFOEG aller Studenten, welche aus München kommen!

  • Aufgabe 013f: Bestimmen Sie, wie viele Studenten welche aus München kommen!

die nachfolgenden Aufgaben verwenden die Sortierungs-Funktion

  • Aufgabe 014a: Gesucht ist eine auf den Vornamen sortierte Liste aller Studenten, die mehr als 200,-€ BAFÖG haben, und aus Dresden oder Halle kommen!

  • Aufgabe 014b: Gesucht ist eine auf den Wohnort sortierte Liste aller Professoren!

die nachfolgenden Aufgaben verwenden zusätzlich noch die Gruppierungs-Funktion

  • Aufgabe 015a: Gesucht sind alle Angaben zu den Studenten guruppiert auf den Wohnort und sortiert auf den Vornamen!

die nachfolgenden Aufgaben verwenden zudem die HAVING-Klausel

  • Aufgabe 016a: Gesucht sind alle Angaben zu den Studenten guruppiert auf den Wohnort und sortiert auf den Vornamen!

 

Quellen:
 

Ansicht der vollständig implementierten Datenbasis mit korrekt gesetzten Beziehungen

Was evtl. noch helfen kann ...
Standard-SQL Filter mit ACCESS RQBE mit FoxPro 2.5

Standard-System-Query-Language

Demonstrationsübung zur Abfrage von ACCESS-Datenbanken

Demonstrationsübung zur RQBE mit FoxPro 2.5


1. Projektion und Selektion bezüglich einer Tabelle history menue scroll up

Kern der Anweisung ist eine einfache SELECT-Anweisung gekoppelt an eine Spaltenauswahl sowie notwendigerweise der Fixierung genau einer benötigten Tabelle. Es gibt keine Bedingungen - lediglich die objektorientierte Schreibweise für die einzelnen Attribute der Entities ist zu beachten.
Aufgabe 001 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 001: Gesucht sind Matrikelnummer und Name aller Studenten!

Aufgabe 001 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT DISTINCT Student.imma_nr, Student.anrede, Student.titel,;
Student.vorname, Student.zusatz, Student.name;
FROM student

Aufgabe 001 - ausgeführte RQBE im Windows-Frame


2. Ausdrücke in der SQL history menue scroll up
Ausdrücke sind vor allem ein Refugium der Berichtsfunktionen, wird jedoch eine Abfrage als der kleine Bruder eines Berichts wahrgenommen, dann kann es sehr vorteilhaft sein, zusätzliche Funktionalität künstlich als Ergebnis der Abfrage mit in den View einzubeziehen.

allgemein: SELECT "attributwert_1","attributwert_n"

  • Ausdruck im Tupel generieren: in die SELECT-Klausel jeweils in Anführungszeichen eingeschlossen sowie durch Komma getrennt aufgeführt - Attributbezeichner wird automatisch generiert und EXP_1 und sofort benannt
  • Ausdruck im Attributbezeichner generieren:

Aufgabe 002a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 002a: Gesucht sind Matrikelnummer sowie die Noten aller Studenten im Fach Datenbanken - zusätzlich ist eine Spalte mit dem Eintrag "Note im Fach Datenbanken" zu generieren!!

Aufgabe 002 - geplante RQBE im Windows-Frame mit SQL-Sicht

SSELECT DISTINCT "Note im Fach Datenbanken", Noten.database;
FROM Noten
t

Aufgabe 002 - ausgeführte RQBE im Windows-Frame

Aufgabe 002b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 002b: Gesucht sind Matrikelnummer sowie die Noten aller Studenten im Fach Datenbanken - zusätzlich ist eine Spalte mit dem Eintrag "Note im Fach Datenbanken" zu generieren!!

Aufgabe 002 - geplante RQBE im Windows-Frame mit SQL-Sicht

SSELECT DISTINCT "Note im Fach Datenbanken", Noten.database;
FROM Noten
t

Aufgabe 002 - ausgeführte RQBE im Windows-Frame


3. Bedingungen in der WHERE-Klausel history menue scroll up

Bedingungen in der WHERE-Klausel selektieren nun zusätzlich zu den Attributen auch noch einzelne Tupel aus dem Gesamtbestand der Zwischentabelle

allgemein: WHERE <search condition> (true oder false)

  • ein Kriterium bezieht sich, sofern kein spezieller Feldname angegeben wird, immer auf das Feld, in das es eingetragen wurde (das Beispiel)
  • Suchmuster in Textform werden in Hochkomma gesetzt (FoxPro erkennt aber auch keine String-Kennzeichnug an - setzt dann allerdings mitunter automatisch Hochkommata) (das Beispiel)
  • Dezimalzahlen mit Punkt trennen
  • Vorrang in im Texteditor öffnen und nachtragen (dabei bestehende Klammersetzung in der SQL-Schreibweise nicht löschen!!!)
  • Datumsangaben innerhalb eines Kriteriums müssen auf ein Datenfeld vom Typ Datum verweisen, also: 28.02.91 (Ländereinstellungen in den Optionen beachten) - CTOD("dd.mm.yy")
  • Kriterien können im Gegensatz zu Formeln Textoperanden und Argumente enthalten, sofern diese im Ausdrucksgenerator entwickelt werden
  • "Gleich" und "Genau gleich" unterscheiden sich durch die Interpretation der Groß- und Kleinschreibung
  • in Textkriterien können "_" (das Beispiel) und "%" (das Beispiel) als Stellvertreterzeichen eingesetzt werden
  • Abfragen auf einen Nullwert sind mit der Funktion IS NULL direkt implementiert - hier muss die Abfrage auf einen beliebigen Inhalt gelegt und negiert werden (wobei zu beachten ist, dass dBSAE NULLWERTE mit dem Eintrag NUUL oder NOT NULL belegt
  • wenn der Datentyp STRING ist und die Datenbank evtl. importiert wurde
  • Wahrheitswerte "True" werden mit dem Vergleichsoperator "=" und leerem Bedingungsfeld ermittelt 
  • Wahrheitswerte "False" werden mit dem Vergleichsoperator "=", dem "Not"-Operator und leerem Bedingungsfeld ermittelt 
  • die Aussage "... ist etwas wahr?" kann über den Boolean-Operator '=.T.' ermittelt werden
  • die Aussage "... ist etwas nicht wahr?" kann über den Boolean-Operator '=.F.' ermittelt werden

Aufgabe 003 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 003: Gesucht sind die Namen aller Studenten, welche aus Rostock kommen!

Aufgabe 003 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.anrede, Student.titel, Student.vorname, Student.zusatz,;
Student.name;
FROM student;
WHERE Student.ort = "Rostock"

Aufgabe 003 - ausgeführte RQBE im Windows-Frame

Aufgabe 004 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 004: Gesucht sind die Namen aller Studenten, deren Namen mit "M" beginnt!

Aufgabe 004 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.anrede, Student.titel, Student.zusatz, Student.name;
FROM student;
WHERE Student.name LIKE "M%"

Aufgabe 004 - ausgeführte RQBE im Windows-Frame

Aufgabe 005 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 005: Gesucht sind die Namen aller Studenten, deren Matrikelnummer eine "1" enthält oder deren Name genau 3 Zeichen lang ist!

Aufgabe 005 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.imma_nr, Student.anrede, Student.titel, Student.vorname,;
Student.zusatz, Student.name;
FROM student;
WHERE Student.imma_nr LIKE "%1%";
OR (Student.name LIKE "___")

Aufgabe 005 - ausgeführte RQBE im Windows-Frame

Aufgabe 006 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 006: Gesucht sind die Namen aller Studenten, welche vor 1971 geboren wurden und aus Leipzig kommen oder keine Fahrerlaubnis besitzen!

Aufgabe 006 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.imma_nr, Student.anrede, Student.titel, Student.vorname,;
Student.zusatz, Student.name;
FROM student;
WHERE Student.geb_dat < CTOD("01.01.71")

Aufgabe 005 - ausgeführte RQBE im Windows-Frame


4. Komplexe Bedingungen mit Vorrangregelung history menue scroll up

Bedingungen in der WHERE-Klausel selektieren nun zusätzlich zu den Attributen auch noch einzelne Tupel aus dem Gesamtbestand der Zwischentabelle
  • beachte Priorität: NOT AND OR XOR - Klammersetzung gibt's aber in Fox-Pro nicht
  • ODER-gebundene Ausdrücke, welche mehrere UND-verknüpfte Ausdrücke binden sollen, müssen separat (und damit evtl. auch mehrfach - dann als Umkehrausdruck) in die SQL einbezogen werden
  • insbesondere OR-Bedingungen nach einer AND-Klausel müssen extra geklammert werden, da aufgrund der Vorrangautomatik der AND-Ausdruck zuerst ausgewertet und anschließend mit OR verknüpft wird (Vergleiche dazu Aufgabe 008aa mit 008ab - falsche Klammersetzung führt zu falschem Ergebnis!!!)
  • Abarbeitungs-Vorrang-Automatik:
    • NOT
    • AND
    • OR
    • XOR
Aufgabe 007 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 007: Gesucht alle Immatrikulations-Angaben zu den Studenten, welche "Meier" heißen, aus Dresden kommen, über BAFÖG von mehr als 250,-€ verfügen oder deren Imma-Nummer auf "A" endet!

7 Zieldatensätze

Aufgabe 007 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.imma_nr, Student.anrede, Student.titel, Student.vorname,;
Student.zusatz, Student.name, Student.ort;
FROM student;
WHERE Student.name <> "Saurier";
AND Student.ort = "Rostock";
AND Student.bafoeg > 250;
OR (Student.imma_nr LIKE "%A")

Aufgabe 007 - ausgeführte RQBE im Windows-Frame

   


5. JOINS in der FROM-Klausel history menue scroll up

Nicht immer lassen sich zwei Entitytypes problemlos miteinander verbinden. Immer ist das genau dann einfach, wenn in allen beteiligten Types ein refenziertes Tupel existiert. Problematischer wird die Sache, wenn dies so nicht gegeben ist - Outer-JOIN.
JOINING OUTER-JOIN INNER-JOIN AUTO-JOIN AUTO-JOIN

Database-JOINING

OUTER-JOIN

INNER-JOIN

 

Auto-JOINs

Equi-JOINs

  • die Reihenfolge der Logischen Elemente müssen immer der Struktur der Datenbank entsprechen und nicht der Reihenfolge der Aufgabenstellung (vergleiche dazu Aufgabe 008b
Aufgabe 008 aa RQBE mit falscher Klammersetzung SQL umgeschalten SQL ausgeführt
Aufgabe 008aa (falsch): Gesucht sind die vollständigen Namensangabenen aller Studenten, deren Leistungen im Fach Datenbanken 1,4 oder 4.0 betragen und welche aus Leipzig kommen oder keine Fahrerlaubnis besitzen!

7 Zieldatensätze

Aufgabe 007 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.imma_nr, Student.anrede, Student.titel, Student.vorname,;
Student.zusatz, Student.name, Student.ort, Student.fahrerlaub;
FROM student INNER JOIN noten ;
ON Student.ident = Noten.ident;
WHERE Noten.database = 1.4;
OR (Noten.database = 4.0;
AND Student.ort = "Leipzig");
OR (Student.fahrerlaub = .F.)

Aufgabe 007 - ausgeführte RQBE im Windows-Frame

Aufgabe 008 ab RQBEmit korrekter Klammersetzung SQL umgeschalten SQL ausgeführt
Aufgabe 008ab (richtig): Gesucht sind die vollständigen Namensangabenen aller Studenten, deren Leistungen im Fach Datenbanken 1,4 oder 4.0 betragen und welche aus Leipzig kommen oder keine Fahrerlaubnis besitzen!

7 Zieldatensätze

Aufgabe 007 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.imma_nr, Student.anrede, Student.titel, Student.vorname,;
Student.zusatz, Student.name, Student.ort, Student.fahrerlaub;
FROM student INNER JOIN noten ;
ON Student.ident = Noten.ident;
WHERE ((Noten.database = 1.4;
OR Noten.database = 4.0);
AND Student.ort = "Leipzig");
OR (Student.fahrerlaub = .F.)

Aufgabe 007 - ausgeführte RQBE im Windows-Frame

Aufgabe 008 b RQBEmit korrekter Klammersetzung SQL umgeschalten SQL ausgeführt
Aufgabe 008b: Wer von den eingeschriebenen Studenten aus München hat bei einem Professor Vorlesung, der über mehr als 4000,-€ Einkommen verfügt, in der Universitätsstadt wohnt oder aus Berlin kommt?

7 Zieldatensätze

Aufgabe 007 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.imma_nr, Student.anrede, Student.titel, Student.vorname,;
Student.zusatz, Student.name, Student.ort, Student.fahrerlaub;
FROM student INNER JOIN noten ;
ON Student.ident = Noten.ident;
WHERE ((Noten.database = 1.4;
OR Noten.database = 4.0);
AND Student.ort = "Leipzig");
OR (Student.fahrerlaub = .F.)

Aufgabe 007 - ausgeführte RQBE im Windows-Frame


6. Nullwerte history menue scroll up
Der Operator "IS NULL" ist in FoxPro direkt implementiert - allerdings ist er datentypenspezifisch. Werden Datenbasen über Importfunktion in FoxPro gezogen, dann muss auf Leerstring untersucht werden!
Aufgabe 009 RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 009: Gesucht sind die Name und Lehrstuhl-Bezeichnung der Leiter, die über keinen akademischen Grad verfügen!

7 Zieldatensätze

Aufgabe 002 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Prof.titel, Prof.anrede, Prof.vorname, Prof.zusatz, Prof.name;
FROM prof;
WHERE Prof.titel LIKE ''

Aufgabe 002 - ausgeführte RQBE im Windows-Frame


Das IN-Prädikat history menue scroll up
Der Operator "IS NULL" ist in FoxPro direkt implementiert - allerdings ist er datentypenspezifisch. Werden Datenbasen über Importfunktion in FoxPro gezogen, dann muss auf Leerstring untersucht werden!
Aufgabe 011a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 011a: Wer kommt aus München, Hannover, Leipzig, Potsdam, Rostock und Berlin?

7 Zieldatensätze

Aufgabe 002 - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Prof.titel, Prof.anrede, Prof.vorname, Prof.zusatz, Prof.name;
FROM prof;
WHERE Prof.titel LIKE ''

Aufgabe 002 - ausgeführte RQBE im Windows-Frame

Aufgabe 011e RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 011e: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


7. Das BETWEEN-Prädikat history menue scroll up
Der Operator "IS NULL" ist in FoxPro direkt implementiert - allerdings ist er datentypenspezifisch. Werden Datenbasen über Importfunktion in FoxPro gezogen, dann muss auf Leerstring untersucht werden!
Aufgabe 012a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 012a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 012b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 012b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


8. Die Statistischen Funktionen history menue scroll up
Mit den statistischen Funktionen können mathematische Operationen auf Attribute mit numerischen Datentypen angewandt werden. Zu beachten ist, dass auch komplexe mathematische Operationen einschließlich Rundungen möglich sind.
  • Abarbeitungs-Vorrang-Automatik:
    • ABS
    • Winkelfunktionen
    • Zeichenketten- und STRING-Funktionen
    • Rundungsfunktionen
    • SUM
    • MAX
    • MIN
    • AVG für Durchschnitt
    • STDEV oder STP für die Standard-Abweichung
    • COUNT
Aufgabe 013a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 013a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 013b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 013b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame

Aufgabe 013b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 013b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame

Aufgabe 013c RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 013c: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame

Aufgabe 013d RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 013d: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame

Aufgabe 013e RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 013d: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


9. Die ORDER-Klausel history menue scroll up
Mittels der ORDER BY-Klausel können Sortierungen eventuell auch noch kombiniert mit der Gruppierungsfunktion aufgebaut werden. Wird kein Zusatz vereinbart, wird automatisch "aufsteigend" als Sortierkriterium angenommen, wobei die dafür definierte Klausel ASCANDING lautet. Absteigende Sortierungen werden mit DESCANDING bewirkt.
Aufgabe 014a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 014a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 014b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 014b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


10. Die GROUP BY-Klausel history menue scroll up
Mittels der GROUP BY-Klausel können Zusammenfassungen eventuell auch noch kombiniert mit der Sortierungsfunktion aufgebaut werden. Gruppierungen setzen voraus, das es mindestens einmal in dem zu  gruppierenden Feld Doppel gibt, wobei das dann noch nicht wirklich Sinn macht.
Aufgabe 015a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 015a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 015b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 015b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


11. Die HAVING-Klausel history menue scroll up
Mittels der GROUP BY-Klausel können Zusammenfassungen eventuell auch noch kombiniert mit der Sortierungsfunktion aufgebaut werden. Gruppierungen setzen voraus, das es mindestens einmal in dem zu  gruppierenden Feld Doppel gibt, wobei das dann noch nicht wirklich Sinn macht.
Aufgabe 016a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 016a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 016b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 016b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


12. Quantifizierende Prädikate history menue scroll up
Mittels der GROUP BY-Klausel können Zusammenfassungen eventuell auch noch kombiniert mit der Sortierungsfunktion aufgebaut werden. Gruppierungen setzen voraus, das es mindestens einmal in dem zu  gruppierenden Feld Doppel gibt, wobei das dann noch nicht wirklich Sinn macht.
  • Abarbeitungs-Vorrang-Automatik:
    • ALL
    • ANY
    • SOME
    • EXIST
Aufgabe 017a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 017a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 017b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 017b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


13. Sub-SELECTs history menue scroll up
Mittels der GROUP BY-Klausel können Zusammenfassungen eventuell auch noch kombiniert mit der Sortierungsfunktion aufgebaut werden. Gruppierungen setzen voraus, das es mindestens einmal in dem zu  gruppierenden Feld Doppel gibt, wobei das dann noch nicht wirklich Sinn macht.
  • Abarbeitungs-Vorrang-Automatik:
    • ALL
    • ANY
    • SOME
    • EXIST
Aufgabe 018a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 018a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 018b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 018b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


14. UNION-Operatoren history menue scroll up
Mittels der GROUP BY-Klausel können Zusammenfassungen eventuell auch noch kombiniert mit der Sortierungsfunktion aufgebaut werden. Gruppierungen setzen voraus, das es mindestens einmal in dem zu  gruppierenden Feld Doppel gibt, wobei das dann noch nicht wirklich Sinn macht.
  • Abarbeitungs-Vorrang-Automatik:
    • ALL
    • ANY
    • SOME
    • EXIST
Aufgabe 019a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 019a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 019b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 019b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


15. Kreuztabellen history menue scroll up
Mittels der GROUP BY-Klausel können Zusammenfassungen eventuell auch noch kombiniert mit der Sortierungsfunktion aufgebaut werden. Gruppierungen setzen voraus, das es mindestens einmal in dem zu  gruppierenden Feld Doppel gibt, wobei das dann noch nicht wirklich Sinn macht.
  • Abarbeitungs-Vorrang-Automatik:
    • ALL
    • ANY
    • SOME
    • EXIST
Aufgabe 019a RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 019a: Wer von den eingeschriebenen Studenten hat einen Nachnamen, dessen Anfangsbuchstabe im Bereich zwischen "M" und "R" liegt?

Aufgabe 012a - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.name BETWEEN "M% " AND "R%"

Aufgabe 012a - ausgeführte RQBE im Windows-Frame

Aufgabe 019b RQBE SQL umgeschalten SQL ausgeführt
Aufgabe 019b: Welche Studenten verbergen sich hinter den Immatrikulationsnummern: 21C0841B, 52C0585A, 21C0484B, 21C0771A, 24C0832A, 26C0816A, 27C0539A?

7 Zieldatensätze

Aufgabe 011e - geplante RQBE im Windows-Frame mit SQL-Sicht

SELECT Student.titel, Student.vorname, Student.zusatz, Student.name;
FROM student!student;
WHERE Student.imma_nr IN ("21C0841B","52C0585A","21C0484B","21C0771A","24C0832A","26C0816A","27C0539A")

Aufgabe 011e - ausgeführte RQBE im Windows-Frame


16. Verwandte Themen history menue scroll up
Schon wieder haben wir's mit komplexen Begriffswelten und Zusammenhängen zu tun, welche sich (wieder einmal) auch durch die gesamte Informatik hindurch ziehen und in irgendeiner Art immer eine Rolle spielen. Nichts ist wohl neben den Algorithmen so bedeutungsvoll für die Informatik, wie dei Daten. Entsprechend weit reichen auch hier die Verwandtschaften

System-Query-Language

Standard-System-Query-Language

Datenbasen-Entwurf

Zahlensysteme

The Mother of Tetraed Codes - der HEX-Code

Datentypen

Database-JOINING

   


zur Hauptseite
© Samuel-von-Pufendorf-Gymnasium Flöha © Frank Rost im Februar 1998 begonnen - ernsthaft weiter geführt ab 22. Dezember 2009

... dieser Text wurde nach den Regeln irgendeiner Rechtschreibreform verfasst - ich hab' irgendwann einmal beschlossen, an diesem Zirkus nicht mehr teilzunehmen ;-)

„Dieses Land braucht eine Steuerreform, dieses Land braucht eine Rentenreform - wir schreiben Schiffahrt mit drei „f“!“

Diddi Hallervorden, dt. Komiker und Kabarettist