Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Left Join, Right Join, Outer Join

Ähnliche Präsentationen


Präsentation zum Thema: "Left Join, Right Join, Outer Join"—  Präsentation transkript:

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

2 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

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

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

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

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

7 Reguläre Ausdrücke Regexp_like()

8 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

9 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 [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

10 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

11 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

12 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);

13 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 ‘);


Herunterladen ppt "Left Join, Right Join, Outer Join"

Ähnliche Präsentationen


Google-Anzeigen