Informationsmanagement u. Numerische Methoden

Ähnliche Dokumente
SQL als Zugriffssprache

Übersicht der wichtigsten MySQL-Befehle

insert, update, delete Definition des Datenbankschemas select, from, where Rechteverwaltung, Transaktionskontrolle

MySQL-Befehle. In diesem Tutorial möchte ich eine kurze Übersicht der wichtigsten Befehle von MySQL geben.

Datenbanken und SQL. Kapitel 4. Die Datenbankzugriffssprache SQL. Edwin Schicker: Datenbanken und SQL (4)

Es geht also im die SQL Data Manipulation Language.

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

ISU 1. Ue_08/02_Datenbanken/SQL. 08 Datenbanken. Übung. SQL Einführung. Eckbert Jankowski.

SELECT dient dazu, aus einer vorhandenen Datenbank bestimmte Spalten und Zeilen auszugeben es handelt sich also um eine Auswahlabfrage.

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #3. SQL (Teil 1)

Mengenvergleiche: Alle Konten außer das, mit dem größten Saldo.

SQL. Ziele. Grundlagen von SQL. Beziehung zur relationalen Algebra SELECT, FROM, WHERE. Joins ORDER BY. Aggregatfunktionen. dbis.

Abfragen (Queries, Subqueries)

SQL. strukturierte Datenbankabfragesprache eine Datenbanksprache zur. Structured Query Language:

Wiederholung VU Datenmodellierung

Kapitel 6. Datenmalipulation (DML) d. h. insert, update, delete, select im Relationenmodell (in Oracle)

Einführung in SQL. Sprachumfang: Indizes. Datensätzen. Zugriffsrechten

SQL. SQL SELECT Anweisung SQL-SELECT SQL-SELECT

Übung Datenbanken in der Praxis. Anfragen an Datenbanken mit SQL

Datenbanksysteme Kapitel 5: SQL Data Manipulation Language

SQL Tutorial. SQL - Tutorial SS 06. Hubert Baumgartner. INSO - Industrial Software

Datenmanipulation in SQL (1): Subselect:

1. Einleitung. SQL-Abfragen. 3. Das ERM der Übungsdatenbank. 2. Grundstruktur von SQL-Abfragen

Datenbanksysteme Teil 6 MySQL DML Die SELECT-Anweisung. Stefan Maihack Dipl. Ing. (FH) Datum:

Datenbank und Tabelle mit SQL erstellen

Dieser Foliensatz darf frei verwendet werden unter der Bedingung, dass diese Titelfolie nicht entfernt wird.

SQL: Abfragen für einzelne Tabellen

SQL ist eine relational vollständige Datenbanksprache.

Daten-Definitionssprache (DDL) Bisher: Realwelt -> ERM -> Relationen-Modell -> normalisiertes Relationen-Modell. Jetzt: -> Formulierung in DDL

Vorlesung Datenbankmanagementsysteme

3 Query Language (QL) Einfachste Abfrage Ordnen Gruppieren... 7

Datenbankabfragen und Datenmanipulation

Daniel Warner SQL. Das Praxisbuch. Mit 119 Abbildungen. Franzis

ARBEITSBLATT ZUR SQL-BEFEHLEN

Seminar 2. SQL - DML(Data Manipulation Language) und. DDL(Data Definition Language) Befehle.

SQL Teil 2. SELECT Projektion Selektion Vereinigung, Schnitt, Differenz Verbund Komplexer SELECT-Ausdruck

Einführung in SQL. 1. Grundlagen SQL. Structured Query Language. Viele Dialekte. Unterteilung: i. DDL (Data Definition Language)

Fortsetzung: Projektion Selektion. NULL Werte

dbis Praktikum DBS I SQL Teil 2

Query Languages (QL) Relationale Abfragesprachen/Relational

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Programmierung 2

SQL für Trolle. mag.e. Dienstag, Qt-Seminar

Kapitel 3: Datenbanksysteme

SQL-Sprachvielfalt. Peter Willadt (Ludwig-Erhard-Schule) SQL-Befehle / 47

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Grundlagen von Datenbanken

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

ACCESS SQL ACCESS SQL

[1] DBS-exercice

Universität Augsburg, Institut für Informatik WS 2006/2007 Dr. W.-T. Balke 27. Nov M. Endres, A. Huhn, T. Preisinger Lösungsblatt 5

Datenmanipulation in SQL. Select Anweisung

Sructred Query Language

SQL,Teil 2: SELECT. W. Spiegel. Übersicht SELECT. Mehrfache Werte vermeiden: SELECT DISTINCT. Ausgabe ordnen: ORDER BY. Projektion.

Informatik 12 Datenbanken SQL-Einführung

Rückblick. SQL bietet viele Möglichkeiten zur Anfrageformulierung

Microsoft Access 2010 SQL nutzen

SQL. Abfragesprache Datenmanipulation - DML

SQL: Weitere Funktionen

Kapitel 5 Dr. Jérôme Kunegis. SQL: Grundlagen. WeST Institut für Web Science & Technologien

Oracle 10g Einführung

Datenbanksysteme noch Kapitel 7: SQL. Vorlesung vom Oliver Vornberger. Institut für Informatik Universität Osnabrück

SQL SQL. SQL = Structured Query Language (SEQUEL) IBM San Jose Research Laboratory SYSTEM R. Grundlagen der Datenbanksysteme I

U 8 SQL. = Structured Query Language (heute auch Standard Query Language) ALLGEMEIN:

WS 2010/11 Datenbanksysteme Fr 15:15 16:45 R Vorlesung #4. SQL (Teil 2)

SQL. Komplexe Abfragen. SQL-Komplexe Abfragen. SQL-Komplexe Abfragen. Komplexe Abfragen verknüpfen mehrere Tabellen miteinander.

SQL structured query language

Lösungen der Übungsaufgaben von Kapitel 10

Einführung in die Wirtschaftsinformatik Kapitel 4: Relationale Datenbanksprachen: SQL

SQL-Befehlsliste. Vereinbarung über die Schreibweise

Kommunikation und Datenhaltung. Übungsblatt D1. (Relationale Algebra & SQL)

8 DML (1) Daten abfragen

Anwendungsentwicklung Datenbanken SQL. Stefan Goebel

Details zu den Ausdrücken nach FROM, WHERE, GROUP BY und HAVING finden Sie in den Abschnitten über JOIN, WHERE und GROUP BY.

Nachtrag: Farben. Farbblindheit. (Light und Bartlein 2004)

2.5 Relationale Algebra

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort... 13

TU München, Fakultät für Informatik Lehrstuhl III: Datenbanksysteme Prof. Alfons Kemper, Ph.D.

Inhaltsverzeichnis. Einleitung

Datenbanken Unit 4: Das Relationale Modell & Datenintegrität

Verbunde (Joins) und mengentheoretische Operationen in SQL

Bibliografische Informationen digitalisiert durch

Aufbau des SELECT-Befehls. Im Folgenden werden zunächst Abfragen aus einer Tabelle vorgenommen.

Auf einen Blick. Abfrage und Bearbeitung. Erstellen einer Datenbank. Komplexe Abfragen. Vorwort 13

Verbunde (Joins) und mengentheoretische Operationen in SQL

Vielen Dank an Dennis Riehle für die Bereitstellung dieser Folien

DATENBANKEN SQL UND SQLITE VON MELANIE SCHLIEBENER

SQL 2. Ziele. Fortgeschrittene SQL-Konstrukte. Aggregatfunktionen revisited. Subqueries. Korrelierte Subqueries

Übungsaufgaben mit Lösungen

Introduction to Data and Knowledge Engineering. 6. Übung SQL

Eine völlig andere Form Abfragen zu erstellen ist, sie mit Hilfe der Datenbankabfragesprache SQL zu gestalten.

Wirtschaftsinformatik. SQL Abfragen und QBE. Unterrichtsskript. Version: 2.0

Aggregatfunktionen in der Relationenalgebra?

Transkript:

Fakultät Bauingenieurwesen Institut für Bauinformatik, Prof. Dr.-Ing. Raimar J. Scherer Informationsmanagement u. Numerische Methoden Relationale und Objekt-orientierte Datenstrukturen 6. Semester 2. Vorlesung: SQL II

Übersicht 1) Daten im Bauwesen 2) Von Tabellen zu Relationen 3) Die Datenbanksprache SQL a) Historie b) Eigenschaften c) Sprachelemente i. Schlüsselwörter ii. Syntax iii. Datendefinition: Create, Datentypen iv. Datenmanipulation: INSERT, UPDATE, DELETE v. Abfrage: Select Folie 2

Operationen auf relationalen Datenstrukturen Die 4 Grundoperationen sind: 1. Projektion 2. Vereinigung 3. Restriktion 4. Division. Sie basieren auf den 3 klassischen Mengenoperationen: Vereinigung: r 1 r 2 : = {x x r 1 oder x r 2 } Durchschnitt: r 1 r 2 : = {x x r 1 und x r 2 } Differenz: r 1 \ r 2 : = {x x r 1 und x r 2 } Die Verknüpfung dieser Operationen mit der Objektmenge wird auch als Relationenalgebra bezeichnet. Die Operationen gelten für beliebige n-stellige Relationen mit n 2. Alle Operationen werden durch den SELECT Befehl abgebildet.

Projektion Durch die Projektion werden aus einer n-stelligen Relation einzelne Spalten entfernt, d.h. die Relation wird auf eine neue Relation projiziert, die genau die nicht zu entfernenden Spalten enthält. Die Zeilen, die identische Werte enthalten, sind nur einmal zu erstellen, d. h. doppelte Zeilen werden gelöscht. Die Projektionsoperation wird mit π bezeichnet, R neu = π (L) R alt L ist eine Liste von den Attributen, die erhalten bleiben. R neu muss natürlich eine n-stellige Relation mit n > 2 sein. Beispiel: Mitarbeiterkurzform = π (Pers.-Nr., Name, Vorname) Mitarbeiter Neue Relation Attribute der neuen Relation Ursprüngl. Relation Folie 4 2. VO Informationsmanagement: SQL

Projektion Mitarbeiter Pers- Nr. Name Vorname Wohnort Geschlecht Beruf Steuerklasse 1 1015 Müller Hans Dresden m Müller 1 2 1055 Müller Rolf Freiberg m Bäcker 3 3 1075 Klein Otto Radeberg m Maler 1 4 2015 Adler Fritz Dresden m Polititker 3 5 2020 Schmidt Anton Freiberg m Student 5 6 2090 Walther Anna Zittau w Lehrerin 1 R neu = π (Mitarb., Pers-Nr., Name, Vorname) R alt Mitarbeiter Pers-Nr. Name Vorname Folie 5 1 1015 Müller Hans 2 1055 Müller Rolf 3 1075 Klein Otto 4 2015 Adler Fritz 5 2020 Schmidt Anton 6 2090 Walther Anna

Verbund 1) Bildung des Kreuzproduktes zweier Mengen 2) Selektion nach einer definierten Bedingung Mutter M_Name Kind Vater V_Name Kind Alter des Kindes Anabel Sophia Jörg Enrico 4 Marlen Werner Lotta 7 Almuth Thomas Tom 5 Heike Marc Anna 3 Charlotte Eltern = Vater Vater.Kind = Mutter.Kind Mutter Eltern V_Name Kind Alter des Kindes M_Name Jörg Enrico 4 Anabel Werner Lotta 7 Sophia Thomas Tom 5 Almuth Marc Anna 3 Heike Enrico Lotta Ina Tom Anna Franco Folie 6 2. VO Informationsmanagement:

Vereinigung Vereinigung Aus zwei typkompatiblen Relationen Rel m und Rel t wird eine neue Relation erzeugt, die alle Tupel t enthält, die in wenigstens einer der beiden Relationen vorkommen: Rel m Rel t : = { t t Rel t Rel } m t Anmerkung: Sind die zu vereinigenden Relationen nicht typkompatibel muss zunächst eine Anpassung stattfinden, indem beide Relationen durch eine Projektion bspw. auf semantisch identische Attribute beschränkt werden. Die Vereinigung ist assoziativ und kommutativ. Folie 7 2. VO Informationsmanagement

Vereinigung Pers- Nr. Name Vorname Steuerklasse Kunden- Nr. Name Vorname Wohnort 1015 Müller Hans 1 1055 Müller Rolf 3 1075 Klein Otto 1 2015 Adler Fritz 3 1 Meier Heiner Dresden 2 Müller Rolf Freiberg 3 Weber Gabi Radeberg 4 Adler Fritz Dresden 2020 Schmidt Anton 5 2090 Walther Anna 1 Rel neu = Mitarbeiter {Name,Vorname} υ Kunden {Name,Vorname} Name Müller Müller Klein Adler Schmidt Walther Meier Weber Vorname Hans Rolf Otto Fritz Anton Anna Heiner Gabi Folie 8 2. VO Informationsmanagement

Restriktion (Selektion) Horizontale Zerlegung Restriktion Eine Restriktion erzeugt aus einer Relation Rel 1 eine neue Relation Rel 2, die alle Tupel aus Rel 1 enthält, welche eine oder mehrere Selektionsbedingungen erfüllen. Die Restriktionsoperation wird mit σ bezeichnet: σ Folie 9 ( Rel) : = { t t Rel Bedingung( t) TRUE} Bedingung = Es wird unterschieden zwischen Konstantenselektion: Die Selektionsbedingung formuliert eine bestimmte Beziehung zwischen dem Attributwert und einer Konstanten; a(i) = c. Attributselektion: Die Selektionsbedingung formuliert eine bestimmte Beziehung zwischen den Werten zweier typkompatibler Attribute eines Tupels; a(i) = b(j) oder f[b(j)]. Die Beziehung werden durch einen Vergleichsoperator θ mit θ є {=,,<,>,, } festgelegt, nicht nur =. 2. VO Informationsmanagement

Restriktion (Selektion) Mitarbeite r Pers- Nr. Name Vorname Wohnort Geschlech t Beruf Steuer - klasse 1 1015 Müller Hans Dresden m Müller 1 2 1055 Müller Rolf Freiberg m Bäcker 3 3 1075 Klein Otto Radeberg m Maler 1 4 2015 Adler Fritz Dresden m Politiker 3 5 2020 Schmidt Anton Freiberg m Student 5 6 2090 Walther Anna Zittau w Lehrerin 1 Mitarbeite r Horizontale Zerlegung Rel neu = σ {Steuerklasse = 1} (Mitarbeiter) Pers - Nr. Name Vorname Wohnor t Geschlech t Beruf Steuer - klasse 1 1015 Müller Hans Dresden m Müller 1 3 1075 Klein Otto Radeber g m Maler 1 Folie 6 10 2090 Walther 2. Anna VO Informationsmanagement Zittau w Lehrerin 1

Differenz Differenz Aus den beiden typkompatiblen Relationen Rel m und Rel t wird eine neue Relation erzeugt, die nur die Tupel t enthält, die in Rel m, aber nicht in Rel t vorkommen: Rel m \ Rel t : = { t t Rel t Rel } m t Die Differenz ist weder assoziativ noch kommutativ. Folie 11 2. VO Informationsmanagement

Differenz Pers- Nr. Name Vorname Steuerklasse 1015 Müller Hans 1 1055 Müller Rolf 3 1075 Klein Otto 1 2015 Adler Fritz 3 2020 Schmidt Anton 5 Kunden- Nr. Name Vorname Wohnort 1 Meier Heiner Dresden 2 Müller Rolf Freiberg 3 Weber Gabi Radeberg 4 Adler Fritz Dresden 2090 Walther Anna 1 Rel neu = Mitarbeiter {Name,Vorname} \ Kunden {Name,Vorname} Name Müller Klein Schmidt Walther Vorname Hans Otto Anton Anna Folie 12 2. VO Informationsmanagement

SQL Der Befehl SELECT SELECT ist der einzige Befehl zur Suche und Abfrage von Daten einer Datenbank. Syntax für den Hauptteil des SELECT-Befehls: SELECT Spaltenauswahlliste FROM Tabellenliste [ WHERE Bedingung ] [ GROUP BY Spaltenliste [ HAVING Bedingung ] ] Der SELECT Befehl entspricht der Mengenoperation PROJEKTION, kombiniert mit einer RESTRIKTION. Folie 13

SQL Der Befehl SELECT Ein kompletter SELECT-Befehl kann aus beliebig vielen Hauptteilen, die über UNION, EXCEPT oder INTERSECT miteinander verknüpft sind, bestehen. SELECT-Hauptteil: [ { UNION EXCEPT INTERSECT } SELECT-Hauptteil: [ { UNION EXCEPT INTERSECT }... ] ] [ ORDER BY Ordnungsliste ] Die Punkte deuten an, dass die Aufzählung beliebig fortgesetzt werden kann. Bei mehr als zwei Verknüpfungen sollten jedoch Klammern gesetzt werden, um die Eindeutigkeit der Reihenfolge zu garantieren. Nach der Verknüpfung kann das Resultat mittels ORDER-BY-Klausel noch geordnet werden. Anm.: In ORACLE muss der Bezeichner EXCEPT durch MINUS ersetzt werden. Folie 14

SQL Der Befehl SELECT UNION EXCEPT Vereinigung der Ergebnismengen, wobei mehrfach vorkommende Ergebnistupel (wie bei DISTINCT) entfernt werden. VEREINIGUNG liefert die Tupel, die in Relation A jedoch nicht in Relation B vorkommen. Mehrfach vorkommende Ergebnistupel werden entfernt. DIFFERENZ INTERSECT liefert die Schnittmenge zweier Ergebnismengen. Mehrfach vorkommende Ergebnistupel werden entfernt. SCHNITT Folie 15

SQL Der Befehl SELECT: Beispiel SELECT Bauleiter.PersNr, Name, COUNT (*) FROM Bauleiter, Baustelle WHERE Bauleiter.PersNr = Baustelle.PersNr GROUP BY Bauleiter.PersNr, Name UNION SELECT PersNr, Name FROM Bauleiter WHERE PersNr NOT IN (SELECT PersNr FROM Baustelle); Folie 16

SQL SELECT: Logische Arbeitsfolge Alle in der Tabellenliste angegebenen Relationen werden (über das Kreuzprodukt oder einen Join) miteinander verknüpft. 1. Aus dieser verknüpften Relation werden die Tupel (Datensätze, Zeilen) ausgewählt, die die angegebene WHERE-Bedingung erfüllen. Es liegt eine Restriktion vor. 2. Mittels Auswahlliste am Anfang des SELECT-Befehls findet auf das bisherige Resultat eine Projektion auf die angegebenen Spalten statt. 3. Dann wird eine Gruppierung gemäß der GROUP-BY-Klausel durchgeführt. Eine Gruppierung fasst dabei mehrere Tupel zu einem Tupel zusammen, so dass die Ergebnisrelation weniger Tupel enthält. 4. Eine folgende HAVING-Klausel führt jetzt auf das Ergebnis der Gruppierung nochmals eine Restriktion auf bestimmte Tupel durch. 5. Alle so erstellten Hauptteile des SELECT-Befehls werden jetzt mittels UNION, INTERSECT oder EXCEPT miteinander verknüpft. 6. Die Ergebnisrelation wird nach den Vorgaben in der Ordnungsliste der ORDER-BY-Klausel sortiert. Folie 17

SQL SELECT: Einfache Grundform SELECT... FROM... ; Beispiele: Semikolon schließt den Befehl ab Name der Tabelle mit den Daten Schlüsselwort für Tabellenangabe anzuzeigende Spalten Schlüsselwort für Abfrage Auflisten aller Spalten einer Tabelle: mit allen Spalten einer Tabelle in der gespeicherten Reihenfolge: SELECT * FROM Mitarbeiter; Auflisten aller Datensätze mit allen Spalten der Tabelle in der abgespeicherten Reihenfolge Folie 18

SQL SELECT: Einfache Grundform Projektion Auflisten (nur) bestimmter Spalten einer Tabelle: SELECT Name, Vorname FROM Mitarbeiter ; Es werden nur die Spalten Name und Vorname von der Tabelle Mitarbeiter in der Reihenfolge: Name, Vorname aufgelistet. Auflisten (nur) bestimmter Spalten in abweichender Reihenfolge: SELECT Vorname, Name, PersNr FROM Mitarbeiter ; Es werden nur die Spalten Vorname, Name und PersNr in dieser von den gespeicherten Daten abweichenden Reihenfolge aufgelistet. Folie 19

SQL SELECT: Beispiel Es können nicht nur Spalten, sondern auch beliebige Spaltenausdrücke angegeben werden: SELECT Name, Vorname, 12 * Gehalt AS Jahresgehalt FROM Mitarbeiter ; oder: SELECT Name, Vorname, 12 * Gehalt FROM Mitarbeiter ; Es werden die 3 Spalten: Name, Vorname und Jahresgehalt ausgegeben. Folie 20

SQL SELECT: Beispiel Attribute (Spalten) können im Rahmen syntaktisch korrekter Ausdrücke beliebig miteinander in Verbindung gebracht werden. PersNr Name Vorname Gehalt Zuwdg Sonderz. 0120 0130 0135... Ahrend Berger Müller... Jens Peter Paul... 6000 6800 5800... 5000 5500 4800... 2001 1980 2200... SELECT Name, Vorname, (12 * Gehalt + Zuwdg * 6 - Sonderz) AS Jahresgehalt FROM Mitarbeiter ; Es werden die 3 Spalten: Name, Vorname und Jahresgehalt ausgegeben. Folie 21

SQL SELECT: Einfache Grundform Auflisten von Spalten mehrerer Tabellen: SELECT * FROM Bauleiter, Baustellen ; oder: SELECT Bauleiter.*, Baustellen.* FROM Bauleiter, Baustellen ; * = Es wird das Kreuzprodukt aller Spalten der beiden Tabellen ausgegeben, d. h. alle möglichen Kombinationen aller Spalten der 1. Tabelle mit allen Spalten der 2. Tabelle vgl. Kartesisches Produkt. Folie 22

SQL SELECT: WHERE-Klausel Restriktion Auflisten (nur) bestimmter Datensätze in Abhängigkeit von einer Bedingung: SELECT * FROM Mitarbeiter WHERE LOHN <= 2500; Es werden alle Datensätze aufgelistet, bei denen die Spalte Lohn <= 2500 ist. SELECT Name,Vorname,PrsNr FROM Mitarbeiter WHERE LOHN <= 2500; Es werden alle Datensätze mit den Spalten Vorname, Name und PrsNr in dieser von den gespeicherten Daten abweichenden Reihenfolge aufgelistet, bei denen die Spalte Lohn <= 2500 ist. SELECT * FROM Mitarbeiter WHERE Name = Berger ; Es werden alle Datensätze aufgelistet, bei denen der Name = Berger ist. Folie 23

SQL SELECT: WHERE-Klausel Als Relation können verwendet werden: Vergleichsoperatoren: Kleiner < Weitere Operatoren: Kleiner gleich <= Gleich > Größer geich >= ungleich <> Intervalloperator Enthaltenoperator Auswahloperatoren Ähnlichkeitsoperator Existenzoperator Eindeutigkeitsoperator Nulloperator [NOT] BETWEEN AND [NOT] IN ALL, ANY, SOME [NOT] LIKE EXISTS UNIQUE IS [NOT] NULL Folie 24

SQL SELECT: ORDER BY Sortieren der aufzulistenden Daten Die Sortierung erfolgt (automatisch) je nach Datentyp: alphabetisch bzw. chronologisch z. B. bei Spalten vom Typ CHAR, CHARACTER usw.: alphabetisch bei Spalten vom Typ INTEGER, NUMERIC usw.: chronologisch Mit ASC (ascending) bzw. DESC (descending), kann festgelegt werden, ob aufwärts oder abwärts sortiert werden soll. Wenn nichts angegeben wird, wird automatisch in aufsteigender Folge sortiert. Folie 25

SQL SELECT: ORDER BY Auflisten von Datensätzen, sortiert (in aufsteigender Folge): SELECT * FROM Mitarbeiter ORDER BY PersNr ; Es werden alle Datensätze, geordnet nach Personalnummern, (automatisch) in aufsteigender chronologischer Folge, aufgelistet, falls die Spalte PersNr mit einem numerischen Typ vereinbart wurde. SELECT * FROM Mitarbeiter ORDER BY Name, Vorname ; Es werden alle Datensätze, geordnet nach Namen, (automatisch) in aufsteigender alphabetischer Folge aufgelistet, wenn die Spalte Name z. B. mit dem Typ CHARACTER vereinbart wurde. Bei gleichen Namen wird zusätzlich nach Vornamen sortiert. Folie 26

SQL SELECT: ORDER BY Auflisten von Datensätzen, sortiert in absteigender Folge: SELECT * FROM Mitarbeiter ORDER BY Name DESC, Vorname DESC ; Es werden alle Datensätze, geordnet nach Namen in absteigender Alphabetischer Folge, bei gleichen Namen nach Vornamen, hier ebenfalls in absteigender alphabetischer Folge aufgelistet. Würde hier nach Vorname nicht nochmals DESC stehen, würden die Vornamen (automatisch) in aufsteigender Folge sortiert. Folie 27

SQL SELECT: ORDER BY Auflisten von Datensätzen, sortiert in auf- bzw. absteigender Folge: SELECT Vorname, Name, PersNr FROM Mitarbeiter WHERE Name = Berger ORDER BY Name DESC, Vorname ; Es werden die Spalten Vorname, Name, PersNr in der hier angegebenen (nicht in der abgespeicherten) Reihenfolge für alle Datensätze aufgelistet, bei denen die Spalte Name= Berger ist, geordnet nach Namen in absteigender alphabetischer Folge und Vornamen in aufsteigender alphabetischer Folge. Folie 28

SQL SELECT: WHERE, ORDER BY Anmerkung: Die gespeicherten Daten bleiben bei der Auswahl durch WHERE oder Umordnung durch ORDER BY unverändert gespeichert. Die Auswahl- und Ordnungskriterien beziehen sich lediglich auf das Auflisten der Daten. Allgemein: Ein SELECT-Befehl (Abfragebefehl) ändert nie etwas in der Datenbank. Folie 29

SQL SELECT: Statistikfunktionen AVG Average Durchschnittswert, ermittelt über alle Zeilen COUNT Count Anzahl aller Zeilen MAX Maximum Maximalwert aller Zeilen MIN Minimum Minimalwert aller Zeilen SUM Sum Summenwert, summiert über alle Zeilen Durchschnittswert aller Zeilen einer Spalte: SELECT AVG (Gehalt) FROM Bauleiter ; Anzahl aller Zeilen innerhalb einer Tabelle: SELECT COUNT ( * ) AS Bauleiteranzahl FROM Bauleiter ; Es wird die Anzahl der in der Tabelle gespeicherten Bauleiter als Bauleiteranzahl ausgegeben. Folie 30

SQL SELECT: Statistikfunktionen SELECT COUNT ( Bemerkung ) FROM Bauleiter ; Es werden nur die Eintragungen in der Spalte Bemerkung gezählt, die nicht NULL sind. Anzahl aller Zeilen innerhalb einer Tabelle: SELECT COUNT ( DISTINCT Name ) FROM Bauleiter ; Es werden nur die unterschiedlichen Einträge in der Spalte Name gezählt. Folie 31

SQL SELECT: Statistikfunktionen Minimum aller Zeilen einer Spalte: SELECT MIN (Gehalt) FROM Bauleiter WHERE Gehalt > 5000 ; Es wird das Minimum der Spalte Gehalt aus allen Werten die größer als 5000 sind in der Tabelle Bauleiter ermittelt. Aufsummieren von Zeilen innerhalb einer Tabelle: SELECT SUM (12 * Gehalt + Zuwdg * 6 - Sonderz) AS Einkommen FROM Mitarbeiter ; Es wird das Einkommen aller Mitarbeiter aufsummiert. Folie 32