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

Post on 05-Apr-2015

107 views 0 download

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...