Direkt zum Inhalt
Urkunden
JSON-FunktionenTabellen & Schema ManagementMathe-FunktionenDatenbankenString-FunktionenAuslöserIndizesDatum FunktionenBasic Syntax

PostgreSQL FROM

Die `FROM`-Klausel in PostgreSQL ist ein grundlegender Bestandteil von SQL-Abfragen. Sie wird verwendet, um die Tabelle(n) anzugeben, aus der/denen Daten abgerufen oder manipuliert werden sollen. Sie ist wichtig, um die Datenquelle in `SELECT`-, `UPDATE`- und `DELETE`-Anweisungen zu identifizieren.

Verwendung

Die `FROM`-Klausel wird verwendet, um die Tabellen anzugeben, die an deinen SQL-Operationen beteiligt sind. Es folgt auf das erste Schlüsselwort, z. B. `SELECT`, und ist wichtig, um die Abfrage auf die richtige Datenquelle zu lenken.

sql
SELECT column1, column2, ...
FROM table_name
[WHERE condition];

In dieser Syntax gibt `FROM table_name` die Tabelle an, aus der die Daten abgerufen werden.

Rolle bei `UPDATE` und `DELETE`

In `UPDATE`- und `DELETE`-Anweisungen hilft die `FROM`-Klausel bei der Angabe der Tabellen, die an der Änderung oder Löschung von Daten beteiligt sind.

sql
UPDATE table_name
SET column1 = value1, ...
FROM other_table
WHERE condition;
sql
DELETE FROM table_name
USING other_table
WHERE condition;

Beispiele

1. Basic Select

sql
SELECT *
FROM users;  -- Retrieves all columns from the `users` table

Dieses Beispiel ruft alle Spalten der Tabelle "Benutzer" ab und liefert einen vollständigen Datensatz des Tabelleninhalts.

2. Auswählen bestimmter Spalten

sql
SELECT first_name, email
FROM customers;  -- Retrieves only `first_name` and `email` from `customers`

Hier zieht die Abfrage nur die Spalten "Vorname" und "E-Mail" aus der Tabelle "Kunden", was für einen optimierten Datenabruf nützlich ist.

3. Mehrere Tabellen miteinander verbinden

sql
SELECT orders.order_id, products.product_name
FROM orders
JOIN products ON orders.product_id = products.product_id;  -- Combines data from `orders` and `products`

Dieses Beispiel zeigt die Verwendung von `FROM` mit einer `JOIN`-Operation, um Daten aus den Tabellen `Bestellungen` und `Produkte` auf der Grundlage einer gemeinsamen `Produkt_id` zu kombinieren. Die Operation `JOIN` führt Zeilen aus mehreren Tabellen auf der Grundlage einer verwandten Spalte zusammen.

4. Unterabfragen

sql
SELECT customer_id
FROM (SELECT * FROM orders WHERE amount > 100) AS high_value_orders;

Dieses Beispiel zeigt, wie die "FROM"-Klausel mit Unterabfragen interagieren kann, um komplexere Datenabfrage-Szenarien zu behandeln.

5. Common Table Expressions (CTEs)

sql
WITH order_totals AS (
  SELECT customer_id, SUM(amount) AS total_amount
  FROM orders
  GROUP BY customer_id
)
SELECT customer_id
FROM order_totals
WHERE total_amount > 500;

Dies veranschaulicht die Verwendung von `FROM` in Verbindung mit CTEs zur Verwaltung von Zwischenergebnissen, die in der Hauptabfrage wiederverwendet werden können.

Tipps und bewährte Praktiken

  • Wähle nur die notwendigen Tabellen aus. Beschränke deine `FROM`-Klausel auf die relevanten Tabellen, um die Abfrageleistung und die Übersichtlichkeit zu verbessern.
  • Verwende Tabellen-Aliase. Verwende Aliase für Tabellen, um das Schreiben von Abfragen zu vereinfachen und die Wahrscheinlichkeit von Fehlern zu verringern, besonders wenn du mit mehreren Tabellen arbeitest.
  • Kombiniere mit Bedingungen. Verwende die `WHERE`-Klausel in Verbindung mit `FROM`, um Ergebnisse zu filtern und nur die Daten abzurufen, die du brauchst.
  • Sorge für eine klare Verknüpfungslogik. Definiere klare Join-Bedingungen, um unbeabsichtigte Ergebnisse bei der Arbeit mit mehreren Tabellen zu vermeiden.