1 / 14

SQL - Zusammenfassung

SQL - Zusammenfassung. Datenbanksysteme für hörer anderer Fachrichtungen. SQL-Zusammenfassung. Gerüst einer SQL-Anfrage. Duplikate mit DISTINCT eliminieren (hoher Rechenaufwand!) Reihenfolge der Statements in der Query muss eingehalten werden Ziffern geben Reihenfolge der Abarbeitung an.

mulan
Download Presentation

SQL - Zusammenfassung

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. SQL - Zusammenfassung Datenbanksysteme für hörer anderer Fachrichtungen

  2. SQL-Zusammenfassung Gerüst einer SQL-Anfrage • Duplikate mit DISTINCT eliminieren (hoher Rechenaufwand!) • Reihenfolge der Statements in der Query muss eingehalten werden • Ziffern geben Reihenfolge der Abarbeitung an

  3. SQL-Zusammenfassung Where-Klausel • Prädikate kombinierbar (AND, OR, NOT) • Einsatz von Vergleichsoperatoren • Strings müssen in einfachen Anführungszeichen stehen • Liefert nur Tupel, für die die Bedingung gleich true ist • Suche mit Platzhaltern (Wildcards): • „_“  beliebiges Zeichen + LIKE • „%“  beliebige Zeichenkette + LIKE • Beispiel:SELECT * FROM Student WHERE Name LIKE ‚K%‘ AND Semster > 9;

  4. SQL-Zusammenfassung NULL-Werte • Repräsentieren Werte, die • unbekannt, • nicht verfügbar oder • nicht anwendbar sind • SQL hat eine dreiwertige Logik • true • unknown  bei AND-Verknüpfung gesamte Bedingung unknown • false • In Gruppierung als eigene Gruppe dargestellt

  5. SQL-Zusammenfassung Anfragen über mehrere Relationen • Kreuzprodukt (wenig sinnvoll) • Joins(stehen in der WHERE-Klausel, bevorzugte Variante) • Namenskonflikte auflösen • Beispiel:SELECT s.Name, v.TitelFROM Studenten s, hoeren h, Vorlesungen vWHERE s.MatrNr = h.MatrNr AND h.VorlNr = v.VorlNr

  6. SQL-Zusammenfassung Mengenoperationen • Vereinigung UNION (Duplikate werden automatisch eliminiert!) • Schnitt INTERSECT • Differenz EXCEPT • Voraussetzung: Gleiches Schema der verknüpften Relationen! • Beispiel:(SELECT Name FROM Assistenten) UNION(SELECT Name FROM Professoren)

  7. SQL-Zusammenfassung Sortierung • Sortieren des Ausgabetupel über ORDER BY • Aufsteigend (ASC) – Defaultwert • Absteigend (DESC)

  8. SQL-Zusammenfassung Geschachtelte Anfragen • Mehrere SELECT-Statements in einer Anfrage • Inneres Anfrageergebnis wird in äußerer Anfrage verwendet • Zwei Arten geschachtelter Anfragen • Korreliert (Unteranfrage bezieht sich auf äußere Anfrage) • Unkorreliert (Unteranfrage bezieht sich nur auf „eigene“ Attribute) • Unkorrelierte Anfragen sind effizienter (Unteranfrage wird nur einmal ausgewertet) • Beispiele:SELECT p.Name FROM Professoren p WHERE NOT EXISTS(SELECT * FROM Vorlesungen v WHERE v.gelesenVon = p.PersNr);

  9. SQL-Zusammenfassung Aggregatfunktionen und Gruppierung • Durchschnitt AVG(*) • Maximum MAX(*) • Minimum MIN(*) • Summe SUM(*) • Anzahl COUNT(*) • Alle in der SELECT-Klausel gelisteten Attribute müssen auch in der GROUP BY-Klausel stehen! • Beispiel:SELECT gelesenVon, Name, SUM(SWS) FROM Vorlesungen, Professoren WHEREgelesenVon = PersNr AND Rang = `C4` GROUP BY gelesenVon, Name HAVING AVG(SWS) >= 3;

  10. SQL-Zusammenfassung Temporäre Tabellen • Verwendung einer Ergebnismenge aus einer Unteranfrage • Umbenennung dieser in eine „temporäre Tabelle“ • Beispiel:SELECT tmp.MatrNr,tmp.Name,tmp.VorlAnzahlFROM (SELECT s.MatrNr, s.Name, COUNT(*) AS VorlAnzahlFROM Studenten s, hoeren hWHERE s.MatrNr = h.MatrNrGROUP BY s.MatrNr, s.NameHAVING COUNT(*) > 2) tmp;

  11. SQL-Zusammenfassung Joins • Innerjoin • Left, right oder fullouterjoin • Beispiel:SELECT p.PersNR,p.Name,f.PersNrfrom Professoren p, prüfen f leftouterjoinon p.PersNr=f.PersNR

  12. SQL-Zusammenfassung Veränderung am Datenbestand • Insert into zum Einfügen von Tupeln durch Anfrage • Bsp: INSERT INTO hören SELECT MatrNr, VorlNr FROM Stundenten, Vorlesungen WHERE Titel=‚Logik‘ • Import zum Einfügen von Tupeln aus Dateien • Delete und Update zum Löschen und Verändern von Datensätzen (nur Inhalt) • DROP und ALTER zum Verändern des Schemas (Löschen ganzer Tabellen bzw. Verändern von Spalten)

  13. SQL-Zusammenfassung Sichten • Oft verwendet, um Anfragen übersichtlicher zu gestalten • Stellen eine Art „virtuelle Relation“ dar • Für den Datenschutz und Statistik verwendet • spart Speicherplatz, kostet Rechenzeit im vergleich zu CREATE TABLE • Bsp:CREATE VIEW prüfenSicht AS SELECT MatrNr, VorlNr, PersNrFROM prüfen

  14. SQL-Zusammenfassung Webressource • http://www.w3schools.com/sql/

More Related