Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2.
-
Upload
ranulf-schnake -
Category
Documents
-
view
107 -
download
0
Transcript of Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2.
Betrieb von DatenbankenMarco Skulschus & Marcus Wiederstein
Einfache Abfragen
Lehrbuch, Kapitel 2
Seminar-Inhalt
•Grundlagen•Einfache Abfragen•Komplexe Abfragen•Datenmanipulation•Grundlagen T-SQL•Programm-Module in der DB•Administration
Modul-Inhalt
1. Grundstruktur von SELECT
2. Bedingungen
3. Ergebnisse aufbereiten
Grundstruktur von SELECT: Allgemeine Syntax
Die SELECT-Anweisung besteht mindestens aus einer Spaltenliste und der FROM-Klausel mit wenigstens einem Tabellen-Verweis.
SELECT [ALL | DISTINCT] * | {spalte1 [, spalte2, ...]}
FROM tabellennamen
[WHERE suchbedingung]
[GROUP BY [spalte1 [, spalte2, ...]] ]
[HAVING gruppensuchbedingung]
[ORDER BY [spalte1 [, spalte2, ...]] [ASC | DESC]]
Spalten
Tabelle(n)
Filter
Gruppierung
Sortierung
Gruppenfilter
Grundstruktur von SELECT: Aliasnamen
Es ist möglich, Aliasnamen für Spalten anzugeben.
– In einer einfachen Abfrage dienen diese Aliasnamen zunächst der schöneren Ausgabe in der Ergebnisliste
– In einer komplexen Abfrage dagegen sind sie teilweise notwendig, wenn die Ergebnisse der Abfrage weiter verwendet werden und dann gewöhnliche Bezeichner für den Zugriff benötigt werden.
SELECT EmployeeID AS [Pers-Nr],
Gender AS Geschlecht,
Title AS [Titel in der Firma]
FROM HumanResources.Employee Pers-Nr Geschlecht Titel in der Firma
----------- ---------- ---------------------------------------
1 M Production Technician - WC60
2 M Marketing Assistant
Grundstruktur von SELECT: Aliasnamen
Für Tabellen ist die Vorgabe eines Aliasnamen ebenfalls möglich.
Sie verändert nicht die Ausgabe, sondern die Möglichkeit, wie Tabellen angesprochen werden können.
Zusätzlich ist es möglich, das AS-Schlüsselwort sowohl bei Spalten- wie auch bei Tabellenaliasnamen wegzulassen.
SELECT EmployeeID [Pers-Nr], Gender Geschlecht, Title [Titel in der Firma] FROM HumanResources.Employee emp
Grundstruktur von SELECT: Qualifizierte Spaltennamen
Die Spaltennamen können qualifiziert auftreten, was bedeutet, dass Schema- und Tabellenname vor den Spaltennamen geschrieben werden.
SELECT HumanResources.Employee.EmployeeID, HumanResources.Employee.Gender, HumanResources.Employee.Title FROM HumanResources.Employee
SELECT emp.EmployeeID, emp.Gender, Title FROM HumanResources.Employee AS emp
Fragen...
Modul-Inhalt
1. Grundstruktur von SELECT
2. Bedingungen
3. Ergebnisse aufbereiten
Bedingungen: Übersicht
Operator Bedeutung
> größer als
< kleiner als
>= größer gleich als
!< nicht kleiner als
<= kleiner gleich als
!> nicht größer als
= gleich
!= oder <> Ungleich
BETWEEN ausdruck1 AND ausdruck2
größer gleich ausdruck1 und kleiner gleich ausdruck2
IS [NOT] NULL (un)gleich NULL
[NOT] IN (ausdruck1, ausdruck2,...) (un)gleich ausdruck1 oder (un)gleich ausdruck2
Bedingungen: Mengen-Operatoren
Die einzelnen Tabellendaten können genauso wie das Ergebnis selbst als Menge betrachtet werden.
Sie erlauben, zwei Abfragen des gleichen Aufbaus zu verbinden, zu schneiden oder voneinander abzuziehen, also typische Mengenoperationen durchzuführen.
Operatoren:– UNION - Verbindung von zwei
Ergebnismengen mit Ausschluss von Duplikaten
– UNION ALL - Verbindung mit Übernahme der Duplikate
– EXCEPT - Differenzbildung zweier Mengen
– INTERSECT – Schnittmengen-bildung zweier Mengen
Bedingungen: Mengen-Operatoren
{ <Abfrageangabe> oder (<Abfrageausdruck>) } UNION [ ALL ] <Abfrageangabe> oder (<Abfrageausdruck>) [ UNION [ ALL ] <Abfrageangabe> oder (<Abfrageausdruck>) [ ...n ] ]
{ <Abfrageangabe> oder (<Abfrageausdruck>) } { EXCEPT | INTERSECT }{ <Abfrageangabe> oder (<Abfrageausdruck>) }
Allgemeine Syntax
Bedingungen: Mengen-Operatoren
Allgemeine Funktionsweise von UNION [ALL]
SYellow
MYellow
SYellow
SYellow
UNION
MYellow
SYellow
MYellow
SYellow
SYellow
MYellow
MYellow
SYellow
MYellow
MYellow
UNION ALL
MYellow
SYellow
MYellow
MYellow
UNION
MYellow
SYellow
MYellow
MYellow
MYellow
SYellow
Bedingungen: Mengen-Operatoren
Allgemeine Funktionsweise von EXCEPT und INTERSECT
MYellow
MYellow
SYellow
LYellow
EXCEPT
MYellow
SYellow
MYellow
INTERSECT
SYellow
SYellow
LYellow
Fragen...