Abfragegrundlagen

Grundlagen des Schreibens, Ausführens und Verwaltens von SQL-Abfragen mit dem leistungsstarken Abfrage-Editor von HarborDB

Guides
Zuletzt aktualisiert: 16. Februar 2026

Willkommen in der Welt der SQL-Abfragen in HarborDB! Dieser Leitfaden lehrt Sie die Grundlagen des Schreibens, Ausführens und Verwaltens von SQL-Abfragen mit dem leistungsstarken Abfrage-Editor von HarborDB.

Einführung in SQL in HarborDB

Der Abfrage-Editor von HarborDB ist dafür konzipiert, das Schreiben und Ausführen von SQL-Abfragen intuitiv und effizient zu gestalten. Egal, ob Sie Daten abrufen, Datensätze aktualisieren oder Datenbankobjekte erstellen – HarborDB bietet einen optimierten Workflow mit Funktionen wie Syntaxhervorhebung, Auto-Vervollständigung und Echtzeitergebnissen.

Wichtige Funktionen des Abfrage-Editors

  • Syntaxhervorhebung: SQL-Schlüsselwörter, Funktionen und Literale sind zur besseren Lesbarkeit farblich gekennzeichnet
  • Auto-Vervollständigung: Tabellennamen, Spaltennamen und SQL-Schlüsselwörter werden während der Eingabe vorgeschlagen
  • Mehrere Tabs: Arbeiten Sie mit mehreren Abfragen gleichzeitig in separaten Tabs
  • Ergebnisbereich: Zeigt Abfrageergebnisse direkt unter Ihrem Editor an
  • Exportoptionen: Exportieren Sie Ergebnisse mit einem Klick nach CSV oder JSON
  • Abfrageverlauf: Greifen Sie auf kürzlich ausgeführte Abfragen zu
  • Lesezeichen: Speichern Sie häufig verwendete Abfragen für schnellen Zugriff

Ihre erste Abfrage schreiben

Grundlegende SELECT-Anweisung

Die grundlegendste SQL-Abfrage ruft Daten aus einer Tabelle ab:

SELECT * FROM benutzer;

Diese Abfrage:

  • SELECT *: Gibt alle Spalten der Tabelle zurück
  • FROM benutzer: Gibt die zu abfragende Tabelle an
  • ;: Beendet die Anweisung (in HarborDB optional)

Bestimmte Spalten auswählen

Um nur bestimmte Spalten abzurufen:

SELECT vorname, nachname, email FROM benutzer;

Ergebnisse begrenzen

Bei der Arbeit mit großen Tabellen ist es eine gute Praxis, Ergebnisse zu begrenzen:

SELECT * FROM bestellungen LIMIT 10;

Die Abfrage-Editor-Oberfläche

Hauptkomponenten

  1. Editor-Bereich: Schreiben Sie hier Ihre SQL-Abfragen
  2. Symbolleiste: Ausführungs-, Abbruch-, Formatierungs- und Exportsteuerungen
  3. Ergebnisbereich: Zeigt Abfrageergebnisse und Ausführungsinformationen an
  4. Statusleiste: Zeigt Verbindungsinfo, Zeilenanzahl und Ausführungszeit

Tastenkombinationen

| Tastenkombination | Aktion | | ----------------- | ------------------ | | ⌘ + R | Abfrage ausführen | | ⌘ + . | Abfrage abbrechen | | ⌘ + T | Neuer Abfrage-Tab | | ⌘ + W | Aktuellen Tab schließen | | ⌘ + S | Abfrage speichern | | ⌘ + F | In Abfrage suchen | | ⌘ + / | Kommentar umschalten | | Tab | Auswahl einrücken | | Shift + Tab | Auswahl ausrücken |

Abfragen ausführen

Schritt-für-Schritt-Ausführung

  1. Schreiben Sie Ihre Abfrage im Editor
  2. Klicken Sie auf die Ausführungs-Schaltfläche (▶) oder drücken Sie ⌘ + R
  3. Betrachten Sie Ergebnisse im Ergebnisbereich
  4. Prüfen Sie Ausführungsinfo in der Statusleiste

Teilweise Abfrageausführung

Sie können nur einen Teil einer Abfrage ausführen:

  1. Markieren Sie den Text, den Sie ausführen möchten
  2. Rechtsklicken Sie und wählen Sie "Auswahl ausführen"
  3. Oder verwenden Sie die Tastenkombination ⌘ + Shift + R

Ausführungsergebnisse

Nach dem Ausführen einer Abfrage sehen Sie:

  • Ergebnisraster: Daten werden in einer sortierbaren, filterbaren Tabelle angezeigt
  • Zeilenanzahl: Gesamtzahl der zurückgegebenen Zeilen
  • Ausführungszeit: Wie lange die Abfrage zur Ausführung benötigte
  • Meldungen: Alle Meldungen von PostgreSQL (insbesondere für DML-Abfragen)

Daten mit WHERE filtern

Grundlegende WHERE-Klausel

SELECT * FROM produkte WHERE preis > 100;

Mehrere Bedingungen

SELECT * FROM bestellungen
WHERE status = 'versendet'
  AND bestelldatum >= '2024-01-01';

Mustervergleich mit LIKE

SELECT * FROM kunden
WHERE email LIKE '%@gmail.com';

SELECT * FROM produkte
WHERE name LIKE 'Pro%';

NULL-Werte

-- Zeilen finden, in denen email NULL ist
SELECT * FROM benutzer WHERE email IS NULL;

-- Zeilen finden, in denen email NICHT NULL ist
SELECT * FROM benutzer WHERE email IS NOT NULL;

Ergebnisse mit ORDER BY sortieren

Aufsteigende Reihenfolge (Standard)

SELECT * FROM produkte ORDER BY preis;

Absteigende Reihenfolge

SELECT * FROM produkte ORDER BY preis DESC;

Mehrere Sortierspalten

SELECT * FROM mitarbeiter
ORDER BY abteilung, nachname, vorname;

Mit Ergebnissen arbeiten

Ergebnisse anzeigen

  • Scrollen: Navigieren Sie mit Maus oder Tastatur durch Ergebnisse
  • Sortieren: Klicken Sie auf Spaltenüberschriften, um auf-/absteigend zu sortieren
  • Filtern: Rechtsklick auf Spaltenüberschriften, um Werte zu filtern
  • Größe ändern: Ziehen Sie Spaltenränder, um die Breite anzupassen
  • Neu anordnen: Ziehen Sie Spaltenüberschriften, um Spalten umzuordnen

Zellenoperationen

  • Zelle kopieren: Doppelklicken Sie eine Zelle oder drücken Sie ⌘ + C
  • Zelle bearbeiten: Doppelklicken und bearbeiten (nur für lokale Änderungen)
  • Vollständigen Inhalt anzeigen: Über abgeschnittene Zellen fahren, um Tooltip zu sehen

Ergebnisse exportieren

  1. Klicken Sie auf die Export-Schaltfläche in der Symbolleiste
  2. Format wählen: CSV oder JSON
  3. Ziel auswählen: In Datei speichern oder in Zwischenablage kopieren
  4. Optionen konfigurieren: Trennzeichen, Encoding, Kopfzeilen

Abfragen speichern und organisieren

Abfragen speichern

  1. Klicken Sie auf Speichern (⌘ + S) oder das Speichern-Symbol
  2. Ort wählen: Lokale Datei oder HarborDB-Bibliothek
  3. Metadaten hinzufügen: Name, Beschreibung, Tags

Abfrage-Bibliothek

Organisieren Sie gespeicherte Abfragen in Ordnern:

  • Favoriten: Markieren Sie häufig verwendete Abfragen mit Stern
  • Kürzlich: Verfolgen Sie automatisch kürzlich verwendete Abfragen
  • Tags: Kategorisieren Sie Abfragen mit benutzerdefinierten Tags

Abfragevorlagen

Erstellen Sie wiederverwendbare Vorlagen für häufige Abfragen:

-- Vorlage: Inaktive Benutzer finden
SELECT benutzer_id, email, letzte_anmeldung
FROM benutzer
WHERE letzte_anmeldung < CURRENT_DATE - INTERVAL '90 days'
  AND aktiv = true;

Häufige Abfragemuster

Datensätze zählen

SELECT COUNT(*) FROM benutzer;
SELECT COUNT(DISTINCT land) FROM kunden;

Daten aggregieren

SELECT
  kategorie,
  COUNT(*) as produktanzahl,
  AVG(preis) as durchschnittspreis,
  MIN(preis) as mindestpreis,
  MAX(preis) as höchstpreis
FROM produkte
GROUP BY kategorie;

Datums-/Zeitabfragen

-- Heutige Bestellungen
SELECT * FROM bestellungen WHERE bestelldatum = CURRENT_DATE;

-- Letzte 7 Tage
SELECT * FROM logs
WHERE log_datum >= CURRENT_DATE - INTERVAL '7 days';

-- Nach Monat
SELECT
  EXTRACT(MONTH FROM bestelldatum) as monat,
  COUNT(*) as bestellanzahl
FROM bestellungen
GROUP BY EXTRACT(MONTH FROM bestelldatum)
ORDER BY monat;

Tabellen verknüpfen

SELECT
  b.bestell_id,
  b.bestelldatum,
  k.vorname,
  k.nachname,
  k.email
FROM bestellungen b
JOIN kunden k ON b.kunden_id = k.kunden_id
WHERE b.status = 'abgeschlossen';

Best Practices

1. Beginnen Sie mit SELECT *

Wenn Sie eine neue Tabelle erkunden, verwenden Sie SELECT *, um alle Spalten zu sehen, und verfeinern Sie dann auf bestimmte Spalten.

2. Verwenden Sie LIMIT

Verwenden Sie immer LIMIT, wenn Sie unbekannte Tabellen abfragen, um überwältigende Ergebnisse zu vermeiden.

3. Formatieren Sie Ihre Abfragen

Verwenden Sie konsistente Formatierung für bessere Lesbarkeit:

  • Schlüsselwörter in Großbuchstaben
  • Einrückung für komplexe Abfragen
  • Zeilenumbrüche für lange Klauseln

4. Kommentieren Sie Ihren Code

Fügen Sie Kommentare für komplexe Abfragen hinzu:

-- Monatliche Einnahmen nach Produktkategorie berechnen

-- Ausgenommen zurückerstattete Bestellungen und Testkonten
SELECT
  DATE_TRUNC('month', bestelldatum) as monat,
  kategorie,
  SUM(betrag) as gesamteinnahmen
FROM bestellungen
WHERE status != 'zurückerstattet'
  AND kunden_id NOT IN (SELECT kunden_id FROM test_konten)
GROUP BY DATE_TRUNC('month', bestelldatum), kategorie
ORDER BY monat DESC, gesamteinnahmen DESC;

5. Testen Sie mit WHERE 1=0

Um Spaltenstruktur ohne Datenabruf zu sehen:

SELECT * FROM grosse_tabelle WHERE 1=0;

Fehlerbehebung häufiger Probleme

"Relation existiert nicht"

  • Überprüfen Sie die Schreibweise des Tabellennamens und Groß-/Kleinschreibung
  • Verifizieren Sie, dass Sie mit der richtigen Datenbank verbunden sind
  • Stellen Sie sicher, dass Sie angemessene Berechtigungen haben

"Spalte existiert nicht"

  • Überprüfen Sie Spaltennamen in der SELECT-Klausel
  • Prüfen Sie auf Tippfehler
  • Verwenden Sie zuerst SELECT *, um alle verfügbaren Spalten zu sehen

Langsame Abfragen

  • Fügen Sie LIMIT hinzu, um die Leistung zu testen
  • Prüfen Sie auf fehlende Indizes
  • Verwenden Sie EXPLAIN, um den Abfrageplan zu analysieren
  • Berücksichtigen Sie serverseitige Leistungsfaktoren

Verbindungsfehler

  • Verifizieren Sie, dass die Verbindung aktiv ist
  • Prüfen Sie die Netzwerkverbindung
  • Bestätigen Sie, dass der PostgreSQL-Server läuft

Nächste Schritte

Jetzt, da Sie die Abfragegrundlagen verstehen:

  1. Üben Sie mit Ihren eigenen Datenbanktabellen
  2. Erkunden Sie den Leitfaden Erweiterte Abfragetechniken
  3. Lernen Sie über Daten exportieren
  4. Probieren Sie Leistungsoptimierung-Techniken aus

Kurzreferenz

Wesentliche SQL-Klauseln

  • SELECT - Wählen Sie zurückzugebende Spalten
  • FROM - Geben Sie die zu abfragende Tabelle an
  • WHERE - Zeilen filtern
  • ORDER BY - Ergebnisse sortieren
  • LIMIT - Anzahl der Zeilen einschränken
  • GROUP BY - Daten aggregieren
  • HAVING - Aggregierte Daten filtern

Häufige Funktionen

  • COUNT() - Zeilen zählen
  • SUM() - Werte summieren
  • AVG() - Durchschnittswerte berechnen
  • MIN()/MAX() - Extremwerte finden
  • COALESCE() - NULL-Werte behandeln
  • CONCAT() - Strings kombinieren
  • EXTRACT() - Datumsteile extrahieren

War das hilfreich?

Helfen Sie uns, diese Dokumentation zu verbessern, indem Sie Feedback geben.