betrieb von datenbanken marco skulschus & marcus wiederstein einfache abfragen lehrbuch, kapitel...
TRANSCRIPT
![Page 1: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/1.jpg)
Betrieb von DatenbankenMarco Skulschus & Marcus Wiederstein
Einfache Abfragen
Lehrbuch, Kapitel 2
![Page 2: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/2.jpg)
Seminar-Inhalt
•Grundlagen•Einfache Abfragen•Komplexe Abfragen•Datenmanipulation•Grundlagen T-SQL•Programm-Module in der DB•Administration
![Page 3: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/3.jpg)
Modul-Inhalt
1. Grundstruktur von SELECT
2. Bedingungen
3. Ergebnisse aufbereiten
![Page 4: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/4.jpg)
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
![Page 5: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/5.jpg)
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
![Page 6: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/6.jpg)
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
![Page 7: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/7.jpg)
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
![Page 8: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/8.jpg)
Fragen...
![Page 9: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/9.jpg)
Modul-Inhalt
1. Grundstruktur von SELECT
2. Bedingungen
3. Ergebnisse aufbereiten
![Page 10: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/10.jpg)
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
![Page 11: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/11.jpg)
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
![Page 12: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/12.jpg)
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
![Page 13: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/13.jpg)
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
![Page 14: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/14.jpg)
Bedingungen: Mengen-Operatoren
Allgemeine Funktionsweise von EXCEPT und INTERSECT
MYellow
MYellow
SYellow
LYellow
EXCEPT
MYellow
SYellow
MYellow
INTERSECT
SYellow
SYellow
LYellow
![Page 15: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2](https://reader035.vdocuments.pub/reader035/viewer/2022062417/55204d7449795902118c8949/html5/thumbnails/15.jpg)
Fragen...