Left Join, Right Join, Outer Join

Slides:



Advertisements
Ähnliche Präsentationen
ER-Datenmodell und Abfragen in SQL
Advertisements

Folien 2-5, 7-8 © Prof. Dr. Manfred Rössle (FH Aalen)
Bauinformatik II Softwareanwendungen 1
Anfragesprachen – Dipl. Ing. Ulrich Borchert / FH Merseburg 1/7
Inner Joins.
Alternativen und Muster. Alternativen Gegeben ist eine Tabelle in der ein Attribut der Tabelle Buecher Gruppe genannt wurde. So gibt es unter anderem.
Auswertung im GTDS fixe Abläufe für Standard-Aufgaben Mamma-Auswertung
Robotik mit LEGO Mindstorms
Datensicherheit in DBMS
IS: Datenbanken, © Till Hänisch 2000 Tabellen In relationalen DB werden Daten in Tabellen organisiert Jede Spalte enthält eine bestimmte Art von Information,
IS: Datenbanken, © Till Hänisch 2000 CREATE TABLE Syntax: CREATE TABLE name ( coldef [, coldef] [, tableconstraints] ) coldef := name type [länge], [[NOT]NULL],
IS: Datenbanken, © Till Hänisch 2000 Übungen SQL.
PL/SQL - Programmierung von Programmeinheiten. © Prof. T. Kudraß, HTWK Leipzig Gespeicherte Prozeduren – Eine Prozedur ist ein benannter PL/SQL Block,
Übung Datenbanksysteme SQL-Anfragen (2)
Datenbankabfragen Bücher des Autors “Aare, Karl-August” Tabelle buch.
Hauptseminar Automaten und Formale Sprachen
SQL in Visual FoxPro. © 1999 TMN-Systemberatung GmbH SQL Historie n SQL - Structured Query Language n In den 70er Jahren von IBM entwickelt n 1986 zum.
Übung 1: SQL Übungen finden bei Bedarf anstelle der Vorlesungen statt
Wir bauen uns eine Webapplikation!
SQL Überblick Abfragen aus einer Tabelle
WS 2012/13 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
WS 2013/14 Datenbanksysteme Do 17:00 – 18:30 R Vorlesung #6 SQL (Teil 3)
SS 2004 Datenbanken 4W Mi 13:30 – 15:00 G 2.30 Vorlesung #7 SQL (Teil 2)
WS 2013/14 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
WS 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
Datenbanksysteme für hörer anderer Fachrichtungen
Copyright Oracle Corporation, All rights reserved. 6 Unteranfragen (Subqueries)
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Verdichten von Daten mit Gruppenfunktionen
se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics.
Structured Query Language
© 2001 Sven Dammann1 Aufbau Integrierter Informationssysteme XML Bearbeitung und relationale Abbildung Sven Dammann Martin-Luther-Universität Halle-Wittenberg.
8 Erzeugen und Verwalten von Tabellen Ziele Kennenlernen der wichtigsten Datenbankobjekte Anlegen von Tabellen Datentypen zur Definition von Spalten.
1 Tagesüberblick 4 Lösung Hausaufgabe/Fragen Mustervergleiche.
3 Einzelzeilen-Funktionen. 3-2 Ziele Verschiedene Typen von Funktionen, die in SQL verfügbar sind Verwendung von numerischen, Zeichen- und Datumsfunktionen.
2 Auswählen und Sortieren von Daten. 2-2 Filtern von Zeilen mit Selektion "…suche alle Angestellten in Abteilung 10" EMP EMPNO ENAME JOB... DEPTNO 7839KINGPRESIDENT.
Einführung Schedule: Timing Topic 60 minutes Lecture 60 minutes Total.
Integritätsbedingungen (Constraints)
10 Sichten (Views) Ziele Verständnis einer View Erzeugen einer View Lesen von Daten durch eine Sicht Ändern der Definition von Views Einfügen, Ändern.
7 Verändern von Daten. 9-2 Ziele Beschreibe jeden DML Befehl Einfügen von Zeilen in eine Tabelle Ändern von Zeilen in einer Tabelle Löschen von Zeilen.
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
11 Verwaltung von Abhängigkeiten. Ziele Am Ende dieser Lektion verfügen Sie über die folgenden Kenntnisse: Überwachen prozeduraler Abhängigkeiten Effekte.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
WS 2014/15 Datenbanksysteme D0 15:15 – 16:45 R Vorlesung #6 SQL (Teil 3)
11 Zugriffskontrolle (Access Control) Ziele Privilegien Rollen GRANT und REVOKE Befehl Privilegien Rollen GRANT und REVOKE Befehl.
Programmierungssprache PERL
Einfache SQL-Befehle Schedule: Timing Topic 40 minutes Lecture
Delphi Chars und Strings
Datenbank für Skriptenverkauf
PHPmyadmin Maya Kindler 6c.
Reguläre Ausdrücke Stephan Baldes
X. Übungsblatt – Aufgabe X Die Zahlendarstellung im IEEE Standard 754 (single precision): Allgemein gilt: Z = (-1) V * (1 + M) * 2 (E - BIAS) a)Welche.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
IS: Datenbanken, © Till Hänisch 2000 Company: Entity types DEPARTMENT Name, Number, {Location},Manager, Mgr-Start- Date PROJECT Name, Number, Location,
IS: Datenbanken, © Till Hänisch 2000 Relationenalgebra Die mathematische Grundlage von relationalen Datenbanken.
Klassen und Tabellen.
Darstellung der Relationenalgebra als Programmiersprache
Vorlesung #5 SQL (Teil 2).
Vorlesung #6 SQL (Teil 3).
SQL Join.
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Create Table, Rechte und Rollen
Funktionen, GROUP BY, HAVING Views anlegen und verwenden
SQL Join.
(Structured Query Language)
 Präsentation transkript:

Left Join, Right Join, Outer Join Tabellen Join Left Join, Right Join, Outer Join

Tabellen-Join Um verteilten Daten in einer SELECT-Abfrage vereinigt anzuzeigen, werden die Tabellen über einen JOIN-Befehl verbunden Man unterscheidet zwischen INNER JOIN OUTER JOIN LEFT JOIN RIGHT JOIN

INNER JOIN EMP DEPT JOIN Ergebnis SELECT * FROM emp INNER JOIN dept ON emp.deptno = dept.deptno; EMP DEPT EMPNO ENAME …. DEPTNO 7782 CLARK … 10 7839 KING 7369 SMITH ..- 20 7499 ALLEN 30 7902 FORD NULL DEPTNO DNAME LOC 10 ACCOUNTING DALLAS 20 RESEARCH 30 SALES CHICAGO 40 OPERATIONS BOSTON JOIN Ergebnis EMPNO ENAME …. DEPTNO DNAME LOC 7782 CLARK … 10 ACCOUNTING DALLAS 7839 KING 7369 SMITH ..- 20 RESEARCH 7499 ALLEN 30 SALES CHICAGO INNER JOIN liefert nur Datensätze, bei denen Deptno links einer Deptno rechts zugeordnet werden kann und fügt diese zusammen.

LEFT JOIN EMP DEPT JOIN Ergebnis SELECT * FROM emp LEFT OUTER JOIN dept ON emp.deptno = dept.deptno; EMP DEPT EMPNO ENAME …. DEPTNO 7782 CLARK … 10 7839 KING 7369 SMITH ..- 20 7499 ALLEN 30 7902 FORD NULL DEPTNO DNAME LOC 10 ACCOUNTING DALLAS 20 RESEARCH 30 SALES CHICAGO 40 OPERATIONS BOSTON JOIN Ergebnis EMPNO ENAME …. DEPTNO DNAME LOC 7782 CLARK … 10 ACCOUNTING DALLAS 7839 KING 7369 SMITH ..- 20 RESEARCH 7499 ALLEN 30 SALES CHICAGO 7902 FORD NULL LEFT JOIN liefert alle Datensätze der linken Tabelle und nur Datensätze der rechten Tabelle, wenn eine DEPTNO links einer DEPTNO rechts entspricht.

RIGHT JOIN EMP DEPT JOIN Ergebnis SELECT * FROM emp RIGHT OUTER JOIN dept ON emp.deptno = dept.deptno; EMP DEPT EMPNO ENAME …. DEPTNO 7782 CLARK … 10 7839 KING 7369 SMITH ..- 20 7499 ALLEN 30 7902 FORD NULL DEPTNO DNAME LOC 10 ACCOUNTING DALLAS 20 RESEARCH 30 SALES CHICAGO 40 OPERATIONS BOSTON JOIN Ergebnis EMPNO ENAME …. DEPTNO DNAME LOC 7782 CLARK … 10 ACCOUNTING DALLAS 7839 KING 7369 SMITH ..- 20 RESEARCH 7499 ALLEN 30 SALES CHICAGO NULL 40 OPERATIONS BOSTON RIGHT JOIN liefert alle Datensätze der rechten Tabelle und nur Datensätze der linken Tabelle, wenn eine DEPTNO rechts einer DEPTNO links entspricht.

OUTER JOIN EMP DEPT JOIN Ergebnis SELECT * FROM emp FULL OUTER JOIN dept ON emp.deptno = dept.deptno; EMP DEPT EMPNO ENAME …. DEPTNO 7782 CLARK … 10 7839 KING 7369 SMITH ..- 20 7499 ALLEN 30 7902 FORD NULL DEPTNO DNAME LOC 10 ACCOUNTING DALLAS 20 RESEARCH 30 SALES CHICAGO 40 OPERATIONS BOSTON JOIN Ergebnis EMPNO ENAME … DEPTNO DNAME LOC 7782 CLARK 10 ACCOUNTING DALLAS 7839 KING 7369 SMITH 20 RESEARCH 7499 ALLEN 30 SALES CHICAGO 7902 FORD NULL 40 OPERATIONS BOSTON Outer JOIN liefert alle Datensätze beider Tabellen und verbindet Datensätze, wenn Deptno links einer Deptno rechts zugeordnet werden kann.

Reguläre Ausdrücke Regexp_like()

Wiederholung reguläre Ausdrücke Zeichenklasse: aus allen Zeichen in [..] wird genau ein Zeichen gewählt Beispiel: Verwendung mehrerer Zeichenklassen Muster Erlaubte Eingabe Beispiel-Eingabe [1234] Ein Zeichen: 1,2,3 oder 4 3 Kürzer: [1-4] Zahl zwischen 1 und 4 [a-c] Ein Buchstabe von a bis c b [1-37-9] Zahl zwischen 1 und 3 oder zwischen 7 und 9 Muster Erlaubte Eingabe Beispiel-Eingabe [1-5],[037] Zahlen 1-5 mit Nachkommastellen 0, 3 oder 7 3,3 [1-9]-[1-9] Eine Zahl von 1-9, gefolgt von einem Minus und einer weiteren Zahl von 1-9 3-4

Wiederholung reguläre Ausdrücke Mengenangabe Muster Erlaubte Eingabe Beispiel-Eingabe [12]* Kein-, ein- oder mehrmaliges Vorkommen von 1 oder 2 1212 a* Kein-, ein- oder mehrmaliges Vorkommen von a aaaaaaa [a-c]? Kein- oder einmaliges Vorkommen eines Zeichens zwischen a und c b z? Kein- oder einmaliges Vorkommen des Zeichens z z [157]+ Einmaliges oder mehrmaliges Vorkommen der Ziffer 1, 5 oder 7 7517555 [0-9]{2,5} Zweimaliges bis fünfmaliges Vorkommen einer Ziffer zwischen 0 und 9 1253 [1-8]{4} Genau viermaliges Vorkommen einer Ziffer zwischen 1 und 8 5734 A{3,} 3 maliges bis unendliches Vorkommen des Buchstaben A AAAAAA

Wiederholung reguläre Ausdrücke Sonderzeichen Gruppierung Muster Erlaubte Eingabe Beispiel-Eingabe . Steht für ein beliebiges Zeichen G ^hallo String fängt mit einem hallo an hallo23kd hallo$ String endet mit einem hallo sdlf3jhallo [^q] Jedes Zeichen außer q 1 Muster Erlaubte Eingabe Beispiel-Eingabe (hallo)+ Einmal bis beliebig oft die Zeichenfolge hallo hallohallohallo L(am)*etta am kann keinmal bis beliebig oft wiederholt werden Lamamametta Fiat (Panda)? Zeichenfolge Panda kann angegeben oder nicht angegen werden Fiat oder Fiat Panda

Wiederholung reguläre Ausdrücke Alternativen Mit | (für oder) können in runden Klammern verschiedene Alternativen angegeben werden. Muster Erlaubte Eingabe Beispiel-Eingabe Das Essen ist (schlecht|gut) Auswahl des Teilstrings schlecht oder gut Das Essen ist schlecht ODER Das Essen ist gut ([0][1-9]|[1][0-2] Erlaubt ist die Eingabe 01 bis 09 oder 10 bis 12. 07

Aufbau regexp_Like regexp_like überprüft, ob ein String einem regulären Ausdruck entspricht Verhält sich wie LIKE-Befehl Alle Datensätze, bei denen String dem Pattern entspricht, werden zurückgegeben Aufbau String: Überüfung, ob String zu regulärem Ausdruck passt Pattern: regulärer Ausdruck in einfachen Hochkomma Parameter: ‘i‘ nicht case sensitiv ‘c‘ case sensitiv SELECT * FROM table_name WHERE regexp_like(string, ‘pattern‘, parameter);

Beispiel regexp_like Gebe alle Autoren zurück, deren Vorname Max oder Mark ist SELECT * FROM lib_author WHERE regexp_like(forename, ‘Ma(x|rk)‘, ‘ c ‘);