> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dreizack-medien.de/llms.txt
> Use this file to discover all available pages before exploring further.

# SQL

## Übersicht

Du kannst hier SQL-Abfragen schreiben und ausführen. Die Ergebnisse kannst du gruppieren, filtern und exportieren.

<Warning>
  **Nur lesende Zugriffe erlaubt.** Es sind ausschließlich `SELECT`-Abfragen möglich – keine schreibenden oder strukturverändernden Operationen. Wenn du nicht jedem Zugriff geben möchtest, beschränke den Zugriff auf dieses Plugin für andere Benutzergruppen außer Admin.
</Warning>

<br />

## Features

<CardGroup cols={2}>
  <Card title="SQL-Editor" icon="code" color="#0285c7">
    Schreibe Abfragen direkt im integrierten Code-Editor mit Syntax-Highlighting.
  </Card>

  <Card title="Letzte Abfragen" icon="clock-rotate-left" color="#16a34a">
    Greife schnell auf zuletzt verwendete Abfragen zurück.
  </Card>

  <Card title="Ergebnisansicht" icon="table" color="#ea580c">
    Ergebnisse werden übersichtlich in einer Tabelle dargestellt.
  </Card>

  <Card title="Exportieren" icon="file-export" color="#7c3aed">
    Exportiere Abfrageergebnisse zur weiteren Verarbeitung.
  </Card>
</CardGroup>

<br />

## SQL Abfragen

### Neue SQL Abfrage

<div className="border border-[#DFE1E1] rounded-2xl overflow-hidden dark:border-transparent">
  <Frame>
    <img src="https://mintcdn.com/dzm/G-RH3KWz7WDgPEAe/images/sql-neue-abfrage.jpg?fit=max&auto=format&n=G-RH3KWz7WDgPEAe&q=85&s=a45c472714d9ba47e7d8e08ab82b1855" alt="SQL Abfrage" width="2074" height="858" data-path="images/sql-neue-abfrage.jpg" />
  </Frame>
</div>

Gib deine SQL-Abfrage direkt im Code-Editor ein. Starte mit `SELECT`, um Daten aus einer Tabelle abzurufen.

### Letzte Abfragen

Über das Dropdown **Letzte Abfragen** kannst du auf zuvor ausgeführte Abfragen zugreifen und sie erneut laden.

### Query ausführen

Klicke auf **Ausführen**, um die Abfrage zu starten. Das Ergebnis erscheint direkt darunter im Bereich **Ergebnis**.

<br />

## Beispiel-Abfragen

<AccordionGroup>
  <Accordion title="Produkte mit niedrigem Lagerbestand">
    ```sql theme={null}
    SELECT
      kArtikel,
      cArtNr,
      cName,
      fLagerbestand
    FROM tartikel
    WHERE fLagerbestand <= 5
      AND cLagerBeachten = 'Y'
    ORDER BY fLagerbestand ASC
    ```
  </Accordion>

  <Accordion title="Anzahl Bestellungen pro Monat">
    ```sql theme={null}
    SELECT
      DATE_FORMAT(dErstellt, '%Y-%m') AS Monat,
      COUNT(*) AS Anzahl,
      SUM(fGesamtsumme) AS Umsatz
    FROM tbestellung
    GROUP BY Monat
    ORDER BY Monat DESC
    ```
  </Accordion>

  <Accordion title="Top 10 meistverkaufte Artikel">
    ```sql theme={null}
    SELECT
      a.cArtNr,
      a.cName,
      SUM(p.nAnzahl) AS Verkauft
    FROM tbestellpos p
    JOIN tartikel a ON p.kArtikel = a.kArtikel
    GROUP BY p.kArtikel
    ORDER BY Verkauft DESC
    LIMIT 10
    ```
  </Accordion>
</AccordionGroup>

<br />

## Hinweise

<Info>
  **Tipp:** Teste Abfragen zuerst mit einem `LIMIT 10`, um die Ergebnisstruktur zu prüfen, bevor du große Datenmengen abrufst.
</Info>

### Erlaubte Befehle

Nur lesende SQL-Befehle sind erlaubt:

* `SELECT` – Daten abfragen
* `SHOW` – Tabellenstruktur anzeigen
* `DESCRIBE` – Spalten einer Tabelle beschreiben

### Nicht erlaubte Befehle

Schreibende und strukturverändernde Befehle werden blockiert:

* `INSERT`, `UPDATE`, `DELETE` – Datensätze verändern
* `DROP`, `ALTER`, `CREATE` – Struktur verändern
* `TRUNCATE` – Tabellen leeren
