SQL-Join-Abfragen, Skripte von Datenbanken

Datenbanken SQL. Seite 1 von 54. Datenbanken ... Die verschiedenen Join-Abfragen werden vorgestellt: ... Equi - Join mit Aliasnamen über mehrere Tabellen.

Art: Skripte

2021/2022

Hochgeladen am 27.06.2022

Theresa_Schanze
Theresa_Schanze 🇩🇪

4.4

(18)

1 / 54

Toggle sidebar

Diese Seite wird in der Vorschau nicht angezeigt

Lass dir nichts Wichtiges entgehen!

bg1
Datenbanken SQL Seite 1 von 54
Datenbanken
Datenbanken
Teil 2: Informationen
Teil 2: Informationen
Kapitel 10: SQL
Kapitel 10: SQL
SQL-Join-Abfragen
Die verschiedenen Join-Abfragen werden vorgestellt:
1. Equi - Join (ohne übereinstimmende Merkmalsnamen)
2. Equi - Join mit Aliasnamen
3. Equi - Join mit Aliasnamen über mehrere Tabellen
4. Left -, Right - Join
5. Left -, Right - Join über mehrere Tabellen
6. Self - Join
Volker Janßen
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff
pf12
pf13
pf14
pf15
pf16
pf17
pf18
pf19
pf1a
pf1b
pf1c
pf1d
pf1e
pf1f
pf20
pf21
pf22
pf23
pf24
pf25
pf26
pf27
pf28
pf29
pf2a
pf2b
pf2c
pf2d
pf2e
pf2f
pf30
pf31
pf32
pf33
pf34
pf35
pf36

Unvollständige Textvorschau

Nur auf Docsity: Lade SQL-Join-Abfragen und mehr Skripte als PDF für Datenbanken herunter!

Datenbanken Datenbanken

Teil 2: Informationen Teil 2: Informationen

Kapitel 10: SQL Kapitel 10: SQL

SQL-Join-Abfragen

Die verschiedenen Join-Abfragen werden vorgestellt:

  1. Equi - Join (ohne übereinstimmende Merkmalsnamen)
  2. Equi - Join mit Aliasnamen
  3. Equi - Join mit Aliasnamen über mehrere Tabellen
  4. Left -, Right - Join
  5. Left -, Right - Join über mehrere Tabellen
  6. Self - Join

Equi - Join ( ohne übereinstimmende Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Nachname Vorname ID_A 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva Abteilung ID_Abteilung Bezeichnung 1 Entwicklung 2 Fertigung Eva Schulte ist noch keiner Abteilung zugeordnet Eva Schulte ist noch keiner Abteilung zugeordnet

Equi - Join ( ohne übereinstimmende Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Nachname Vorname ID_A 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an. SELECT Vorname, Nachname, Bezeichnung FROM Mitarbeiter, Abteilung WHERE ID_A = ID_Abteilung Ausgabe: Willi, Specht, Entwicklung Adam, Ernst, Fertigung Silke, Müller, Entwicklung Abteilung ID_Abteilung Bezeichnung 1 Entwicklung 2 Fertigung

Equi - Join ( ohne übereinstimmende Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Nachname Vorname ID_A 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an. SELECT Vorname, Nachname, Bezeichnung FROM Mitarbeiter, Abteilung WHERE ID_A = ID_Abteilung Ausgabe: Willi, Specht, Entwicklung Adam, Ernst, Fertigung Silke, Müller, Entwicklung Abteilung ID_Abteilung Bezeichnung 1 Entwicklung 2 Fertigung

Equi - Join ( ohne übereinstimmende Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Nachname Vorname ID_A 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an. SELECT Vorname, Nachname, Bezeichnung FROM Mitarbeiter, Abteilung WHERE ID_A = ID_Abteilung; Ausgabe: Willi, Specht, Entwicklung Adam, Ernst, Fertigung Silke, Müller, Entwicklung Abteilung ID_Abteilung Bezeichnung 1 Entwicklung 2 Fertigung

Equi - Join ( mit übereinstimmenden Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Name Vorname ID_Abteilung 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva Abteilung ID_Abteilung Name 1 Entwicklung 2 Fertigung Eva Schulte ist noch keiner Abteilung zugeordnet Eva Schulte ist noch keiner Abteilung zugeordnet

Equi - Join ( mit übereinstimmenden Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Name Vorname ID_Abteilung 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an.

Problem

In den Tabellen sind identische Spaltennamen vorhanden. Keine Eindeutige Zuordnung möglich. Abteilung ID_Abteilung Name 1 Entwicklung 2 Fertigung

Equi - Join ( mit übereinstimmenden Merkmalsnamen)

Mitarbeiter ID_Mitarbeiter Name Vorname ID_Abteilung 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an.

Problem

In den Tabellen sind identische Spaltennamen vorhanden. Keine Eindeutige Zuordnung möglich.

Lösung

Tabellenname dem Merkmal voranstellen. Abteilung ID_Abteilung Name 1 Entwicklung 2 Fertigung

Equi - Join mit Aliasnamen

Mitarbeiter ID_Mitarbeiter Name Vorname ID_Abteilung 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an. SELECT Mitarbeiter.Vorname, Mitarbeiter.Name, Abteilung.Name FROM Mitarbeiter, Abteilung WHERE Mitarbeiter.ID_Abteilung = Abteilung.ID_Abteilung; Ausgabe: Willi, Specht, Entwicklung Adam, Ernst, Fertigung Silke, Müller, Entwicklung Abteilung ID_Abteilung Name 1 Entwicklung 2 Fertigung Aliasnamen Im FROM-Teil der SQL-Anweisung können Abkürzungen für Tabellennamen definiert werden. FROM Mitarbeiter M, Abteilung A Aliasnamen Im FROM-Teil der SQL-Anweisung können Abkürzungen für Tabellennamen definiert werden. FROM Mitarbeiter M, Abteilung A Aliasnamen

Equi - Join mit Aliasnamen

Mitarbeiter ID_Mitarbeiter Name Vorname ID_Abteilung 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an. SELECT Mitarbeiter.Vorname, Mitarbeiter.Name, Abteilung.Name FROM Mitarbeiter M, Abteilung A WHERE Mitarbeiter.ID_Abteilung = Abteilung.ID_Abteilung; Ausgabe: Willi, Specht, Entwicklung Adam, Ernst, Fertigung Silke, Müller, Entwicklung Abteilung ID_Abteilung Name 1 Entwicklung 2 Fertigung Aliasnamen Im FROM-Teil der SQL-Anweisung können Abkürzungen für Tabellennamen definiert werden. FROM Mitarbeiter M, Abteilung A Aliasnamen Im FROM-Teil der SQL-Anweisung können Abkürzungen für Tabellennamen definiert werden. FROM Mitarbeiter M, Abteilung A Aliasnamen

Equi - Join mit Aliasnamen

Mitarbeiter ID_Mitarbeiter Name Vorname ID_Abteilung 1 Specht Willi 1 2 Ernst Adam 2 3 Müller Silke 1 4 Schulte Eva

SQL-Abfrage

Zeige den Vor- und Nachnamen der Mitarbeiter und die zugehörigen Abteilungsbezeichnungen an. SELECT M.Vorname, M.Name,A.Name FROM Mitarbeiter M, Abteilung A WHERE M.ID_Abteilung = A.ID_Abteilung; Ausgabe: Willi, Specht, Entwicklung Adam, Ernst, Fertigung Silke, Müller, Entwicklung Abteilung ID_Abteilung Name 1 Entwicklung 2 Fertigung Aliasnamen Anschließend können diese Abkürzungen in der gesamten Abfrage verwendet werden. Aliasnamen Anschließend können diese Abkürzungen in der gesamten Abfrage verwendet werden.

Equi - Join mit Aliasnamen über mehrere Tabellen

Kunde ID_Kunde Name 1 Specht 2 Ernst 3 Müller , Java Buch ID_Buch ISBN Titel 1 3-499-60063-3 SQL 2 4-253-11334-6 Java 3 6-223-53452-9 C++ vormerken ID_Kunde ID_Buch 1 1 1 2 2 2

Equi - Join mit Aliasnamen über mehrere Tabellen

Kunde ID_Kunde Name 1 Specht 2 Ernst 3 Müller

SQL-Abfrage

Zeige den Namen der Kunden und den Titel der vorgemerkten Bücher an. SELECT K.Name, B.Titel FROM Kunde K, vormerken v, Buch B WHERE K.ID_Kunde = v.ID_Kunde v.ID_Buch = B.ID_Buch; Ausgabe: Specht, SQL Specht, Java Ernst, Java Buch ID_Buch ISBN Titel 1 3-499-60063-3 SQL 2 4-253-11334-6 Java 3 6-223-53452-9 C++ vormerken ID_Kunde ID_Buch 1 1 1 2 2 2

Equi - Join mit Aliasnamen über mehrere Tabellen

Kunde ID_Kunde Name 1 Specht 2 Ernst 3 Müller

SQL-Abfrage

Zeige den Namen der Kunden und den Titel der vorgemerkten Bücher an. SELECT K.Name, B.Titel FROM Kunde K, vormerken v, Buch B WHERE K.ID_Kunde = v.ID_Kunde v.ID_Buch = B.ID_Buch; Ausgabe: Specht, SQL Specht, Java Ernst, Java Buch ID_Buch ISBN Titel 1 3-499-60063-3 SQL 2 4-253-11334-6 Java 3 6-223-53452-9 C++ vormerken ID_Kunde ID_Buch 1 1 1 2 2 2