Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2.

15
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2

Transcript of Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2.

Page 1: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2.

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.

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.

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.

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.

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.

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.

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.

Fragen...

Page 9: Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein Einfache Abfragen Lehrbuch, Kapitel 2.

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.

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.

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.

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.

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.

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.

Fragen...