SQL Abfragen für Fortgeschrittene

SQL ist ein festgelegter Standard zur Erstellung, Verwaltung und Manipulation von Datenbank-Objekten(aktuell ISO/IEC9075-2016). Native Dateizugriffe sind nur mit dem Programmiersprachen RPG und Cobol möglich, aus allen anderen Programmiersprachen wird mit Hilfe von SQL auf die Daten zugegriffen. Bei der Verwendung von SQL geht es vor allem auch darum möglichst viel (Programm)Logik in die Datenbank (bzw. in SQL Abfragen) zu verlagern, damit das Rad nicht in jeder Programmiersprache neu erfunden werden muss. Das geht natürlich nur, wenn man weiß was mit SQL überhaupt möglich ist.

  • Hätten Sie gedacht, dass SQL für die DB2 for i ca. 190 skalare und ca. 30 Aggregat-Funktionen zur Verfügung stehen?
  • Wussten Sie, dass Sie mit einem einzigen SQL-Statement feststellen können, welche Sätze in Tabelle1 kein Pendant in Tabelle2 haben?
  • Wussten Sie, dass man mit SQL nicht nur eine komplette Stücklisten-Auflösung durchführen kann, sondern z.B. auch Zugverbindungen auswerten kann?
  • Wussten Sie, dass man mit SQL Zwischensummen ermitteln und Gruppenwechsel steuern kann? Und sogar fortlaufende Summen, Durchschnitte generieren kann?
  • Wussten Sie, dass man mit Hilfe von Regular-Expression-Funktionen in SQL z.B. IP-Adressen oder eMail-Adressen prüfen kann?
  • Hätten Sie gedacht, dass man mit SQL u.a. die Kalenderwoche nach ISO-Richtlinien, das Monatsende oder das Datum des nächsten Mittwochs aus einem Datum ermitteln kann?
  • Wissen Sie, dass man mit SQL 2 Tabellen daraufhin prüfen kann, ob sie komplett identisch sind, d.h. in allen Zeilen und allen Spalten die gleichen Werte stehen?
  • Wissen Sie, wie Sie mit einem einzigen SQL-Statement eine Tabelle mit Informationen aus einer zweiten Tabelle aktualisieren? ...

 

Dies und mehr lernen Sie in dieser Schulung.

Agenda

 

SQL-Select-Statement

  • Aufbau des Select-Statements
  • Verwendung von Skalaren Funktionen
    • String-Funktionen inkl. Regular Expressions
    • Rundungs-Funktionen
    • Konvertierung von Datentypen
      - Aufbereitung von Datums-/Zeit-Werte und numerischen Werten
    • Datums-Rechnung
    • OLAP-Ranking Funktionen (Rangbildungen, Fortlaufende Summierung)
  • Verwendung von Aggregat Funktionen
    • Aggregat Funktionen
    • Group By und Having Anweisungen
    • ListAgg() und Split() Funktionen
    • Multi-dimensionales Grouping - (beliebige) Zwischen- und Gesamtsummen
  • Case Anweisungen
  • Verknüpfung von Tabellen/Views
    • Inner Join, (Right) Outer Join, Left/Right Exception Join, Cross Join, Full Join, Self Join
    • NULL-Werte
    • NULL-Werte in Aggregat-Funktionen und Case Anweisungen
  • Mehrere SELECT-Anweisungen mit Union / Except / Intersect zusammen mischen
  • Sub-Selects
  • Common Table Expressions:
  • Rekursion
    • Rekursive CTEs z.B. Stücklistenauflösung/Fahrplan-Analyse
    • Hierarchical Query Clause
  • Journaling und Commitment Control (Basics)
  • Data Manipulation:
    Insert, Update, Delete


Bei Individual-Schulungen können die einzelnen Punkte vom Kunden beliebig zusammengestellt werden

Vorkenntnisse


Da es sich bei diesem Kurs um einen Kurs für Fortgeschrittene handelt, werden SQL Grundkenntnisse vorausgesetzt.

Bei kundenindividuellen Kursen kann entweder ein Anfängerkurs oder aber auch der Standard-Kurs für Anfänger um 2 Tage erweitert werden.

Anwendungsbeispiele aus dem Seminar


Mit SQL sollte sich jeder Programmierer beschäftigen, denn heute kommt keine Anwendung mehr ohne diese mächtige Datenbanksprache aus. Ihr Sprachumfang ist gewaltig. Ihre Möglichkeiten auch.

Eine Kostprobe? Hier sind vier Original-Seminarfolien - Beispiele für spannende SQL-Lösungen aus dem Seminar von Birgitta Hauser, mit denen Sie Arbeit und Programmierzeit sparen können. Verblüffend genial. Verblüffend einfach.  

Im Seminar werden Sie ca. dreihundert weitere Folien mit einfach genialen Beispielen kennen lernen.


Case-Anweisung



 Erläuterungen
Spalte: QUANTITY
Für Status CP (=Erledigt), PD (=Teillieferung) wird LieferMenge (DELQTY) angezeigt
Für Status CL (=Storniert) und EN (=Auftrag erfasst) wird die Bestell-Menge (ORDERQTY) angezeigt.

Spalte DESCRPTION:
Für die Stati CL und EN wird „is Ordered Quantity“ (Bestellmenge) ausgegeben.
Für die Stati CP und PD wird „is completely delivered (komplett geliefert) ausgegeben, sofern Bestell- und Liefermenge identisch sind.
Ist die Bestell-Menge größer als die Liefermenge wird „is partly delivered“ (Teillieferung) ausgegeben.
Sofern die Liefermenge die Bestellmenge übersteigt wird „is over delivered“ (überliefert) angezeigt.


View: Case-Anweisung, Pivot-Tabelle (in View)

Erläuterungen
View SalesQuart:
Die Umsätze werden auf Jahr und Kunden-Nr. verdichtet und abhängig vom Quartal, in dem der Umsatz erfolgte, in Spalte Q1, Q2, Q3 oder Q4 (Quartal 1-4) ausgegeben.

View SalesQCust:
Die View SalesQuart wird mit dem Adress-Stamm verknüpft.

Abfrage:
Die Umsätze für das Jahr 2009 und die Kunden 10003 und 10005 werden ausgegeben, die Kunden-Nr., der Kunden-Name sowie die Quartals-Werte und der Jahresumsatz werden angezeigt.


OLAP-Ranking

Erläuterungen
Auflistung des Jahresumsatzes für das Jahr 2009 für die einzelnen Vertriebsmitarbeiter.
Rangbildung basierend auf dem erwirtschafteten Umsatz.
Gegenüberstellung der Funktionen Rank() und Dense_Rank()


Join Tables / Views - Self Join

Dauer und Preis


Für die Schulung sind 3 Tage à 8 Stunden vorgesehen.
Die Gebühren betragen 1.520,00 EUR + MwSt.

Arbeitsumgebung der Schulungsteilnehmer

Toolmaker stellt die für die Schulung notwendige einheitliche Lern- und Arbeitsumgebung für die Teilnehmer auf Notebooks bereit.

Das Arbeiten mit unterschiedlichen Arbeitsumgebungen, Software-Ständen oder Berechtigungen kostet Zeit. Daher kann nur in Ausnahmefällen (bitte um Absprache) das eigene Notebook verwendet werden. Darauf sind die folgenden Software-Installationen notwendig:

  1. Für alle SQL Schulungen - IBM i Access Client Solution (ACS), mit der neuesten Version. Der Teilnehmer sollte volle Berechtigung für alle Datenbank-Optionen haben. Vorzugsweise sollte die englische Version verwendet werden.
  2. Für alle RPG Schulungen sollte RDi (neueste Version) installiert sein, vorzugsweise ebenfalls auf Englisch. Für die Kodierung der Beispiele kann notfalls auch eine 5250 Emulation (z.B. aus IBM i Access, ACS oder RDi oder MOCHA...) verwendet werden. Eine 5250 Emulation für einige Tests, Aufgaben (z.B Anzeige von Variablen in RPG mit DSPLY) wünschenswert.            

Die Ausgestaltung der Arbeitsumgebung bei Inhouse-Schulungen wird individuell abgesprochen.

Anmeldung

Page

Hier finden Sie unsere Schulungs-AGB

Ihre Buchung wird von Toolmaker schriftlich bestätigt. Sie ist erst mit dieser schriftlichen Auftragsbestätigung verbindlich. Wenn Sie direkt mit uns sprechen möchten: 08191-968-0

Termine

auf Anfrage: 08191-968-0

Referentin:
Birgitta Hauser

Schulungskalender
Alle Schulungen finden Sie hier im Überblick.

Individuelle Schulungen
Schulungen können kundenindividuell beliebig neu zusammengestellt werden. Bei kundenindividuellen Schulungen ist eine Teilnehmerzahl zwischen 4 und 8 Personen optimal.

Übungen sind jeweils in die Schulungen integriert. Bei den Zeitangaben wird von einem Schulungstag mit 8 Stunden ausgegangen. Auch die Zeiten können kundenindividuell angepasst werden.

Hinweise zur möglichen inhaltlichen Ausgestaltung individueller Schulungen finden Sie im Schulungsprogramm.

Hotelreservierung
Eine Hotelreservierung können Sie bequem hier vornehmen.