# SQL-Abfragen
SQL-Sprachen (Server Query Language) sind Sprachen, die für Abfragen verwendet werden.
Die SQL-Sprachen einzelner Datenbank Management Systeme (wie bspw. `MySQL`, `MariaDB`, `Microsoft SQL` (kurz `MSSQL`), `Oracle DB`, `NoSQL` und `MongoDB`) haben jeweils untereinander geringe Unterschiede.

Einige Grundsätze sind jedoch bei den meisten Abfrage-Sprachen gleich.

## Abfrage-Sprache
### Einfache Abfragen
Ein Beispiel eines in Abfrage-Sprache geschriebener Befehl ist folgender:

```sql
SELECT *
  FROM Subscriptions
 WHERE MonthlyPrice > 10.50
```

oder

```sql
SELECT FirstName
  FROM Member
 WHERE [ROLE] IN ('Admin', 'Owner')
```

Das erste Beispiel bedeutet folgendes:
> Zeige alle Informationen über Abonnements an, deren monatlicher Preis über `10.50` ist.

Das zweite Beispiel bedeutet folgendes:
> Zeige den Vornamen aller Mitglieder an, deren Rolle `Administrator` oder `Eigentümer` ist.

Der erste Teil eines Befehls gibt jeweils an, welche Informationen abgefragt oder berechnet werden sollen. Der zweite Teil gibt an, aus welchen Tabellen die Informationen gezogen werden sollen. Der dritte, optionale Teil gibt an, unter welchen Bedingungen die Informationen ausgegeben werden sollen.

### Abfrage über mehrere Tabellen

```sql
SELECT s.Name, COUNT(m.ID)
  FROM Subscription s, Member m
 WHERE s.MemberID = m.ID
```
