Wie kann man Daten über mehrere Tabellen abfragen?

Antwort

Um Daten über mehrere Tabellen abzufragen, nutzt man in der Regel sogenannte JOIN-Operationen in SQL (Structured Query Language). Damit kannst du Daten aus verschiedenen Tabellen anhand gemeinsamer Spalten (meistens Schlüsselspalten wie IDs) miteinander verknüpfen. Ein einfaches Beispiel mit zwei Tabellen: **Tabelle "Kunden":** | kunden_id | name | |-----------|----------| | 1 | Müller | | 2 | Schmidt | **Tabelle "Bestellungen":** | bestell_id | kunden_id | produkt | |------------|-----------|----------| | 101 | 1 | Buch | | 102 | 2 | Stift | **SQL-Abfrage, um alle Bestellungen mit Kundennamen zu erhalten:** ```sql SELECT Kunden.name, Bestellungen.produkt FROM Kunden JOIN Bestellungen ON Kunden.kunden_id = Bestellungen.kunden_id; ``` **Ergebnis:** | name | produkt | |---------|---------| | Müller | Buch | | Schmidt | Stift | **Wichtige JOIN-Arten:** - **INNER JOIN:** Nur Datensätze, die in beiden Tabellen übereinstimmen. - **LEFT JOIN:** Alle Datensätze aus der linken Tabelle, auch wenn es keine Übereinstimmung gibt. - **RIGHT JOIN:** Alle Datensätze aus der rechten Tabelle, auch wenn es keine Übereinstimmung gibt. - **FULL JOIN:** Alle Datensätze aus beiden Tabellen, egal ob sie übereinstimmen. **Tipp:** Die genaue Syntax kann je nach Datenbanksystem leicht variieren. Für komplexere Abfragen können auch mehrere Tabellen gleichzeitig gejoint werden. Weitere Infos findest du z.B. bei [w3schools SQL JOIN](https://www.w3schools.com/sql/sql_join.asp).

Neue Frage stellen

Verwandte Fragen

Was sind die wichtigsten SQL-Befehle?

Die wichtigsten SQL-Befehle (SQL = Structured Query Language) sind: 1. **SELECT** Zum Abfragen von Daten aus einer oder mehreren Tabellen. Beispiel: ```sql SELECT name, alter FROM p... [mehr]

Wie findet man in Oracle immer das Datum des nächsten 20. eines Monats?

Um in Oracle SQL immer das Datum des nächsten 20. eines Monats zu berechnen (ausgehend von einem beliebigen Datum, z.B. `SYSDATE`), kannst du folgende Abfrage verwenden: ```sql SELECT CASE... [mehr]

Sehen alle SQL-Befehle wie SELECT * FROM shows; aus?

Nein, nicht alle SQL-Befehle sehen so aus wie `SELECT * FROM shows;`. Das ist ein Beispiel für einen **SELECT**-Befehl, mit dem Daten aus einer Tabelle abgefragt werden. SQL (Structured Query Lan... [mehr]

Gibt es in SQL ein DELETE mit LIMIT?

In Standard-SQL gibt es kein direktes `LIMIT`-Statement für `DELETE`-Anweisungen. Das bedeutet, du kannst nicht einfach schreiben: ```sql DELETE FROM tabelle LIMIT 10; ``` Allerdings unterst&uu... [mehr]

Wie kann man einen Newsletter mit SQL und PHP vorschriftsmäßig erstellen?

Um einen Newsletter mit SQL und PHP vorschriftsmäßig zu erstellen, solltest du sowohl technische als auch rechtliche Aspekte beachten. Hier eine Schritt-für-Schritt-Anleitung: **1. Re... [mehr]