SQL Join.

Slides:



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

Projekt: Datenbankentwurf
Normalisierung nach Edgar. F. CODD (1970)
MySQL.
Bauinformatik II Softwareanwendungen 1
Kapitel 3: Das Relationenmodell
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
Datenbankanbindung mit ASP Wilhelm-Schickard-Schule Tübingen
Otto-von-Guericke-Universität Magdeburg Gamal Kassem 1 Tabellenzeile mit READ lesen READ TABLE itab INDEX idx READ TABLE itab WITH KEY comp1 = f1.... Compn.
Übung Datenbanksysteme SQL-Anfragen (2)
Der letzte Schliff für Abfragen Übersicht über die Aggregatfunktionen.
Erstellen einer Datenbank
Was ist eine Datenbank? ermöglicht die Eingabe von Daten
Datenmodellierung - Aufbau einer Datenbank -
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
Erhard Künzel für Info 9. Klasse: digitale-schule-bayern.de © Erhard Künzel.
Datenbanken 2: Einfache Aufgaben mit TabCalc
Abfragen – Tipps und Tricks Buch S102ff (Informatik I, Oldenbourg-Verlag) Nach einer Vorlage von Dieter Bergmann.
Prof. K. Gremminger Folie 1 Vorlesung Datenbanksysteme SS 2002 Aufbau einer Verbindung zur Datenbank import java.net.URL; import java.sql.*; class JDBCExample.
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
Datenbankentwicklung IV-LK
Wirtschaftsinformatik SQL/QBE1 Abfragen mit QBE und SQL Wirtschaftsinformatik II.
Einführung Access Einführung und Datenbankgrundbegriffe
Betrieb von Datenbanken Marco Skulschus & Marcus Wiederstein
Access 2000 Willkommen im Access-Kurs Oliver Mochmann.
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 2007/08 Datenbanksysteme Mi 17:00 – 18:30 R Vorlesung #5 SQL (Teil 2)
Datenbanksysteme für hörer anderer Fachrichtungen
Einführung in Datenbankmodellierung und SQL
WS 2011/12 Datenbanksysteme Fr 15:15 – 16:45 R Vorlesung #5 SQL (Teil 2)
Aggregatsfunktion SQL = Structured Query Language.
1 Gruppierung, Aggregierung und Sortierung (2) Abarbeitungsmodell bei Gruppierung: Werte from- und where-Klauseln aus wie bisher (Bildung von Kreuzprodukt.
Das relationale Modell
SQL - Structured Query Language AIFB SS (1/9) Join-Operationen in SQL-92(1/9) Syntax einer Join-Operation: join-op := CROSS JOIN | [NATURAL]
Aggregatsfunktion mit Group by und having SQL = Structured Query Language.
Datenbankanbindung mit
Structured Query Language
Wiederholung Der wichtigste Befehl zur Datenmanipulation lautet:
Semantische Integritätsbedingungen  AIFB SS trigger-Klausel (2/5) Beispiel 3-5: Angestellter: (Ang-Nr, Ang-Name, Gehalt,Familienstand, Abt-Bez).
1 Differenzierte Verbindungsoperationen (1) Beobachtung: Einfach zu formulierende Verbindungen wie ein Natural Join sind nicht als solche dokumentiert.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Prolog: Datenbanken Inhalt - Überblick - Erstellen einer Datenbank
Datenbank für Skriptenverkauf
Was ist eine Datenbank „MS Access“
Datenbanken abfragen mit SQL
Customizing Tools: Genehmigungsverfahren
Exotisches SQL Author: Sven Weller.
Modellierungsspezialisten DRITTE NORMALFORM! „Bei der Abfrage, können wir dann alles wieder zusammenfügen!“
Klassen und Tabellen.
Abfragen Wiederholung Manuel Friedrich Schiller-Gymnasium Hof.
Sprachumfang von SQL Vier Kategorien DDL (Data Definition Language)
Vorlesung #5 SQL (Teil 2).
Aggregatfunktionen.
Vorlesung #6 SQL (Teil 3).
Wirtschaftsinformatik
Abfragesprache SQL in ORACLE
Abfragesprache SQL in ORACLE
Textmuster.
Left Join, Right Join, Outer Join
SQL Join.
Administrieren und Arbeiten mit Datenbanken und SQL
Schmock Mutter nicht ausreichend versorgt  fast verhungert Mutter bei Geburt verstorben Schmock mit Flasche aufgezogen.
(Structured Query Language)
 Präsentation transkript:

SQL Join

Modellierungsspezialisten SQL Profis

Dann fragen wir mal ab! DRITTE NORMALFORM!

„Bei der Abfrage, können wir dann alles wieder zusammenfügen!“

Die Lösung: JOINS Mit Joins kann man zwei oder mehrere Tabellen verknüpfen

Willkommen im Versuchslabor Unser Ziel: Das Erforschen von JOINs

Erster Versuch Select Name, Straße, Hausnnummer, PLZ, email, Klassenbezeichnung, Zweig FROM Schüler, Klassen

Was passiert mit den Einträgen? Leider Nein! Jeder mit Jedem!

CROSS JOIN SELECT * FROM Tabelle1, Tabelle2

Was wir wollen: SELECT Name, Straße, Hausnummer, PLZ, Email, Klassenbezeichnung, Zweig FROM Klassen, Schüler WHERE Schüler.ID = Klassen.Zweig

INNER JOINS SELECT * FROM Tabelle1, Tabelle2 WHERE Tab1.id = Tab2.id FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2

Kurzschreibweise für Tabellennamen SELECT * FROM Bestellungen as bes INNER JOIN Kunden as kun ON bes.KundenId = kun.ID WHERE bes.Preis > 40;

INNER JOIN SELECT * FROM Tabelle1 INNER JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4

LEFT JOIN SELECT * FROM Tabelle1 LEFT JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4

RIGHT JOIN SELECT * FROM Tabelle1 RIGHT JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4 Datensatz 4

Gibt es in ACCESS nicht! OUTER JOIN SELECT * FROM Tabelle1 OUTER JOIN Tabelle2 ON Tabelle1.feld1 = Tabelle2.feld2 Tabelle1 Ausgabe Tabelle2 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 1 Datensatz 2 Datensatz 2 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 3 Datensatz 4 Datensatz 4

Verschachtelung SELECT * FROM Tabelle1 INNER JOIN (Tabelle2 JOINs lassen sich beliebig oft verschachteln Tabelle1 Tabelle2 Tabelle3 Tabelle 4 Wert A Wert B Wert C Wert D Wert E Wert F Wert G SELECT * FROM Tabelle1 INNER JOIN (Tabelle2 INNER JOIN (Tabelle3 INNER JOIN (Tabelle4 […] ON Tabelle4.WertF = Tabelle3.WertE) ON Tabelle3.WertD = Tabelle2.WertC) ON Tabelle1.WertA = Tabelle2.WertB

Einschränkungen Zwei JOINs aus einer Tabelle sind schwierig. Wert C Wert A Wert B Wert D Zwei JOINs aus einer Tabelle sind schwierig. Entweder findet man einen Weg die Tabellen anders zu verknüpfen, oder man benutzt die Schreibweise mit WHERE.