SQL - Definition und Abfragen

Die Datenbanksprache, die in relationalen Datenbanksystemen verwendet wird, nennt man Structured Query Language, kurz SQL. Mit Hilfe dieser Sprache ist es möglich Datenstrukturen zu definieren und Datenbestände zu bearbeiten oder abzufragen. Auf die sogenannten Abfragen soll nun im Folgenden genauer eingegangen werden, wobei sich all diese auf die in der Schule besprochenen Tabellen Kunden, Artikel und Bestellung beziehen, beziehungsweise auf die dazugehörigen Attribute.

Grundsätzlich lässt sich festlegen, dass alle folgenden Abfragen mit dem Befehl „select“ beginnen, um zu bestimmen welche Attribute angezeigt werden sollen. Insgesamt unterscheiden wir in diesem Beitrag zwischen den Befehlen 1.„Select“, 2. „Where“ 3. „And & Or“, 4. „Order by“,5. „Between“, 6. „In“, 7. „Limit“, und 8. „Distinct“

**1. „Select“:**

Mit diesem Befehl ist es möglich, nach bestimmen Attributen zu suchen und sich diese anzeigen zu lassen.

*Beispiel*:

   select \* from Kunden

→ so werden uns alle Attribute aus der Tabelle Kunden angezeigt.

Benötigt man nur einzelne Attribute, schreibt man:

select Nachname, Vorname, Ort from Kunden

   → einzelne Attribute werden durch ein Komma getrennt, mit „from“ wird die gewünschte Tabelle ausgewählt.

**2. „Where“**

Mit diesem Befehl ist es möglich Entitätsmengen zu filtern.

Man unterscheidet hier zwischen folgenden Kriterien:

beetween, like, in, <, >, =, >=, <> und =<

*Beispiel*:

   select \* from Kunden where Orte = Augsburg

→ so werden alle Kunden angezeigt, die aus Augsburg kommen.

**3. „And & Or“:**

Mit dem Befehl „And“ ist es möglich, Attribute gleichzeitig nach zwei Kriterien zu filtern.

*Beispiel*:

    select \* from Kunden where Nachname = Schmidt and Ort = München

→ so werden alle Kunden mit dem Nachnamen Schmidt ausgewählt, die aus München kommen.

Mit dem Befehl „Or“ wählen wir diejenigen Attribute aus, die ENTWEDER unser eines ODER unser anderes Kriterium erfüllen.

*Beispiel*:

    select \* from Kunden where Nachname = Schmidt or Orte = München

→ so werden alle Kunden angezeigt, die den Nachnamen Schmidt besitzen ODER aus München kommen.

**4. „Order by“**

Mit diesem Befehl kann bestimmt werden, in welcher Reihenfolge unsere Attrinbute angezeigt werden sollen.

*Beispiel*:

select from Artikel order by Verkaufspreis

→ so werden uns alle Artikel Preis aufsteigend angezeigt.

    Sollen diese jedoch Preis absteigend angezeigt werden, so schreibt man:
select \* from Artikel order by Verkaufspreis desc

**5. „Between“**

Mit diesem Befehl können Attribute innerhalb eines festgelegten Intervalls angezeigt werden.

*Beispiel*:

select \* from Artikel where Einkauspreis between 3 and 5

→ so werden uns alle Artikel angezeigt, deren Einkaufspreis zwischen 3 € und 5 € liegt

Sollen diejenigen Artikel angezeigt werden, deren Einkauspreis nicht zwischen 3 € und 5 € liegt, ergänzen wir unsere Abfrage durch ein „not“:

select \* from Artikel where Einkauspreis not between 3 and 5

**6. „In“**

Mit diesem Befehl können, genauso wie mit der „Or“ Abfrage, diejenigen Attributwerte angezeigt werden, die das eine oder das andere verlangte Kriterium erfüllen.

*Beispiel*:

    select \* from Kunden where Nachname in ( Schmidt, Müller )

→ so werden alle Kunden angezeigt, die entweder Schmidt oder Müller heißen.

**7. „Limit“**

Mit diesem Befehl kann die Auswahl an Attributwerten eingeschränkt werden.

*Beispiel*:

select \* from Kunden where Artikelname like 'S' Limit 3

→ so werden nur die ersten 3 Artikel angezeigt, deren Name mit „S“ beginnt.

**8. „Distinct“**

Mit diesem Befehl werden die Attributwerte eines bestimmten Attributs dedupliziert angezeigt.

Es gibt hier somit keine redundanten Daten.

*Beispiel*:

select distinct Ort from Kunden

→ so werden uns alle Wohnorte unserer Kunden einmal angezeigt.