SQL Server Datenbank-Abfragen für Analysten

ID: 
110
Seminar-Level: 
Fortgeschritten
Seminar-Typ: 
Technisches Seminar
Dauer: 
4 Tag(e)
Zielgruppe: 
Analysten, Anwender / PowerUser
Beschreibung: 
Das Seminar richtet sich an PowerUser wie Analysten aus dem Finanzbereich, die auf existierende Datenbestände zugreifen und Business-Fragen beantworten möchten. Abfragen sollen komplex und intelligent formuliert werden, um einen Mehrwert aus den Daten zu schöpfen und die Fähigkeiten von TSQL und SQL Server effektiv zu nutzen. Die hierfür notwendigen Kenntnisse in TSQL gehen deutlich über Basis-Kenntnisse hinaus. Ausgeschlossen wurde der - in Fortgeschrittenen-Seminaren übliche - Bereich 'SQL Programmables', also das Entwicklen von SQL Server Objekten, die Code kapseln. In dem vorliegenden Seminar geht es ausschließlich um das Auslesen von Daten.
Seminar-Ziel: 
Die Teilnehmer erlernen Wissen aus drei Bereichen: 1. Basis-Kenntnisse im Abfragen von Daten, 2. Fortgeschrittene Abfragetechniken, 3. Anwenden analytischer Funktionen. Neben dem eigentlichen Ziel, der Vermittlung von SQL-Befehlen, wird auch in die Umgebung eingeführt (Werkzeuge, Anmeldung etc.).
Inhalt: 

Block 1 – Basics
 
Einführung: Umgebung und Werkzeuge

  • Arbeiten mit dem SQL Server Management Studio
  • Aufrufen von SQL-Befehlen mit SQLCMD
  • Verwenden von BCP zum Export und Import von Daten
  • Speichern von Abfrage-Ergebnissen
  • Kurz-Überblick: Instanzen, Datenbanken und Anmelde-Konten

Allgemeines

  • Der Befehl "GO"
  • Kommentare
  • Debugging von Code

Daten mit einfachen SELECT-Statements abrufen

  • Der Befehl "SELECT"
  • Filtern von Daten mit der "WHERE"-Klausel
  • Unterdrücken von Duplikaten mit "DISTINCT"
  • Zurückgeben der ersten Zeilen mit "TOP"
  • Verwenden von Spalten- und Tabellen-Alias
  • Sortieren von Ergebnis-Mengen

Befehle zum Ändern von Daten

  • Einfügen von Daten mit INSERT und SELECT INTO
  • Besonderheiten beim Einfügen in Tabellen mit IDENTITY ("Autowert")
  • Ändern von Daten mit UPDATE
  • Löschen von Daten mit DELETE und TRUNCATE

Operatoren

  • Filtern von Daten mit LIKE
  • Logische Operatoren AND und OR
  • Prüfen von Zeilen gegen Listen mit IN
  • Prüfen der Existenz von Datensätzen mit EXISTS
  • Filtern von Datensätzen mit NULL-Werten

Verwenden von Ausdrücken in Spalten-Selektor

  • Verketten von Spalten
  • Verwenden von gängigen Funktionen

 
Verknüpfen von Tabellen

  • Verknüpfungs-Arten INNER JOIN, LEFT / RIGHT OUTER JOIN, FULL JOIN
  • Verketten von Tabellen-Ergebnissen mit UNION
  • Erzeugen einer Kreuzmatrix mit CROSS JOIN
  • Verknüpfen von 3 oder mehr Tabellen in einem Statement
  • Entwerfen von Sichten und JOIN-Statements über die graphische Oberfläche

Aggregieren von Daten

  • Verwenden der Standard-Aggregate SUM, MIN, MAX, AVG
  • Bilden von Haupt- und Unter-Gruppen
  • Optionen für die Aggregats-Funktionen (ROLLUP, COMPUTE, CUBE)
  • Verwenden von GROUPING SETS

 
Block 2 – Fortgeschrittene Aspekte beim TSQL-Coding
 
Verschiedenes

  • Collations: Groß- und Klein-Schreibung, Zeichensatz etc.
  • Besonderheiten beim Umgang mit NULL-Werten
  • Verwenden von CASE im Spalten-Selektor
  • Gängige Zeichenfolge-Funktionen
  • Gängige Datums-Funktionen
  • Arbeiten mit Datentpen (Rundungs-Probleme, Konvertierung, Währung, Datum und Zeit etc.)

 
Unterabfragen (SUBSELECTS)

  • Kombinieren von SELECT und SELECT
  • Kombinieren von UPDATE und SELECT
  • Kombinieren von DELETE und SELECT
  • Kombinieren von INSERT und SELECT
  • Korrelierte und nicht-korrelierte Unterabfragen
  • Kurzüberblick: Anzeigen des Ausführungs-Plans

 
Spezielle JOIN-Typen

  • Self Join
  • Verwenden von CTE für Rekursion und Parent-Child-Hierarchien
  • Mehrfaches Aufrufen einer einzelnen Tabelle
  • Verwenden von Operatoren und Ausdrücken im JOIN
  • Komplexe Anwendung von CTE

 
Spezielle Keywords

  • Zugriff auf Daten der System-Tabellen INSERTED und DELETED mit dem OUTPUT-Schlüsselwort
  • Iteratives Aufrufen von Table-Value-Functions mit dem APPLY-Operator
  • Einschließen und Ausschließen von Membern bei Schnitt-Mengen-Operationen mit EXCEPT und INTERSECT
  • Komplexe integrierte DML-Operationen mit MERGE
  • Suchen von Daten in Volltext-Spalten

 
Block 3 – Analytische Abfragen mit Windowing-Functions
 

  • Überblick: Windows, Partitionen, Frames, Unterschied zu Standard-Aggregaten
  • Verwenden von Aggregats-Funktionen über Partitionen
  • Verwenden der Windowing-Functions "ROW_NUMBER", "RANK", "DENSE_RANK", "NTILE"
  • Bilden von Frames innerhalb von Partitionen
  • Verweis auf Vorgänger und Nachfolger innerhalb einer Partitionen. Offset-Funktionen "LAG", "LEAD", "FIRST_VALUE", "LAST_VALUE"
  • Alternative Konstrukte zu Windowing-Functions
Voraussetzung: 

Es werden keine Vorkenntnisse erwartet.

Durchführung: 
Demonstration, Übung, Vortrag
Produkt: 
SQL Server - Alle Versionen