Modul Datenbanken IN EF Gymnasium Lerbermatt
Docs » sql:limit

Anzahl der Datensätze und LIMIT

Haben Sie sich schon mal überlegt, wie viele Datensätze z.B. in der Tabelle tblPersonen vorhanden sind?

Wenn Sie eine Tabelle in der Datenansicht öffnen, sehen Sie dies häufig nicht. Das ist der Unterschied zu Excel. Da können Sie ganz nach unten scrollen und sehen, wie viele Personen vorhanden sind. Bei DBS ist dies in der Regel nicht möglich. Da braucht man spezielle Befehle, um die herauszufinden.

Wenn die Tabellen nicht allzu gross sind, dann werden bei einem 'SELECT' alle Datensätze geladen. Dann sehen Sie direkt im SQL-Editor die Anzahl:

Aber Achtung! Das heisst nie, dass die Tabelle so viele Datensätze hat. Die Meldung sagt nur, dass so viele Datensätze in den Speicher (in das RAM) geladen wurden.

Anzahl Datensätze mit count() herausfinden

Um die echte Anzahl Datensätze herauszufinden, wir der Befehl count() verwendet. Den werden Sie im Kapitel Datensätze mit GROUP BY gruppieren nochmals antreffen. Aber hier schon mal eine einfache Variante davon:

SELECT * FROM tblPersonen;
SELECT COUNT(*) FROM tblPersonen;

Den ersten Befehl kennen Sie unterdessen zur Genüge. Den zweiten kennen Sie jetzt auch😂. Mich dünkt, der ist einigermassen selbsterklärend, oder?

Aufgabe 1

Was könnte das Sternchen bedeuten in der Klammer von count(*)?

Lösung

Das Sternchen bedeutet immer das Gleiche: berücksichtige alle Spalten (Achtung, nicht alle Datensätze).

Anstelle des Sternchens kann ein einzelnen Attribut angegeben werden, beispielsweise so:

SELECT COUNT(NUMBER) FROM tblPersonen;

Hier aber vorsichtig, das gibt Ihnen unter Umständen nicht die korrekte Anzahl der Datensätze zurück.

Aufgabe 2

Warum nicht? Überlegen Sie, warum das so ist.

LIMIT

Syntax von LIMIT

[LIMIT [Offset, ] Anzahl]

Bei riesigen Datenmengen kann es praktisch sein, nur einen Teil der Datensätze auszugeben. Das geschieht mit LIMIT.

Hier ein Beispiel:

SELECT tNachname, tVorname FROM tblKunden ORDER BY tNachname ASC, tVorname ASC LIMIT 5;

Das gibt eine sortierte Liste mit nur den beiden angegebenen Spalten an, aber es werden nur die ersten 5 Datensätze ausgegeben:

Wichtiger Hinweis: es werden zuerst alle anderen Bedingungen in der SELECT-Anweisung erfüllt, und erst am Schluss wird mit LIMIT die Ausgabe gekürzt.

Offset angeben

Optional kann auch ein OFFSET-Wert angegeben werden. Ein Offset ist ein "Zuschlag". Ohne Offset (resp. Offset von 0) beginnt die Ausgabe bei Datensatz 1.

Beträgt der Offset 1, beginnt die Ausgabe ab dem zweiten Datensatz, etc.

Aufgabe 3

Passen Sie die obige Abfrage an und geben vor der Zahl 5 noch die Zahl 2 ein:

SELECT tNachname, tVorname FROM tblKunden ORDER BY tNachname ASC, tVorname ASC LIMIT 2,5;

Wie hat sich nun die Ausgabe geändert?

Lösung

Es werden immer noch 5 Datensätze angezeigt, aber erst ab dem Index 2. In diesem Fall also ab dem dritten Datensatz:

Previous Next

Modul Datenbanken IN EF Gymnasium Lerbermatt

Table of Contents

Inhaltsverzeichnis

  • Anzahl der Datensätze und LIMIT
    • Anzahl Datensätze mit count() herausfinden
      • Aufgabe 1
      • Aufgabe 2
    • LIMIT
    • Syntax von LIMIT
    • Offset angeben
      • Aufgabe 3

Theorie

  • Grundlagen zu Datenbanken
  • Datenbank-Modelle
  • Relationale Datenbanken
  • Die Abfragesprache SQL

Installation von Software

  • Demo-Datenbank herunterladen
  • SQLite installieren
  • SQLiteStudio verwenden
  • DB Browser for SQLite verwenden

Einführung in SQL

  • Erste Schritte mit SELECT
  • ORDER BY
  • LIMIT
  • WHERE
  • GROUP BY und Aggregation
  • Weitere Berechnungen
  • SELECT vollständig

Über mehrere Tabelle abfragen

  • Was ist ein JOIN?
  • JOIN mit zwei Tabellen
  • JOIN mit drei Tabellen
  • Noch mehr JOINs 😂
  • Noch ein paar Übungen