Mysql
 sql >> Datenbank >  >> RDS >> Mysql

ROW_NUMBER in SQL – Top-Beispiel in SQL und SQL Server auswählen

SQL oder strukturierte Abfragesprache ermöglicht es uns, Daten aus einer Datenbank durch Abfragen zu sammeln. Es ermöglicht uns auch, diese Daten einzufügen, zu aktualisieren und zu löschen.

In diesem Blogbeitrag konzentrieren wir uns darauf, wie Daten abgerufen und die Ergebnisse mithilfe von SQL eingeschränkt werden.

Warum sollten Sie SQL-Abfrageergebnisse einschränken?

Eine Datenbank ist normalerweise eine riesige Sammlung von Daten. Manchmal müssen wir nicht alle Ergebnisse abrufen. Um die Ergebnisse einzuschränken, können wir die Abfrage optimieren.

Das Einschränken von Abfrageergebnissen ist wichtig für die DB-Leistung. Das Abrufen eines großen Ergebnisses, wenn es nicht erforderlich ist, führt zu einer zusätzlichen Belastung der Datenbank und beeinträchtigt die Benutzererfahrung.

Einschränken von Abfrageergebnissen in SQL

Die Syntax ist für SQL Server, Oracle und MySQL zum Begrenzen der Daten unterschiedlich.

  • MySQL verwendet LIMIT .
  • ORACLE verwendet FETCH FIRST .
  • MS Access und SQL Server verwenden TOP .

Unten sehen wir Beispiele dafür, wie die einzelnen Funktionen im Detail funktionieren.

Demo-Datenbank

Wir haben die folgende Tabelle mit dem Namen students mit ihren Details, wie Sie unten sehen können:

ID Name Geschlecht
1 Ryan M
2 Joanna F
3 Miranda Andersen F
4 Dalia Mata F
5 Lilianna Boyd F
6 Lexie Sharp M
7 Jazlene Cordova F
8 Brycen Werner M
9 Karissa Turner F
10 Aisha Dodson F
11 Aydin Reeves M

So beschränken Sie eine Abfrage in MySQL

Unten ist die Syntax für MySQL.

SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Als Beispiel wählen wir die ersten 5 Datensätze aus der Tabelle aus.

Verwenden wir unsere Tabelle students für diese Demonstration.

-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Ausgabe:

Wie man LIMIT mit ORDER BY kombiniert

Wenn Sie LIMIT mit ORDER BY kombinieren, erhalten Sie aussagekräftigere Ergebnisse. So können wir beispielsweise die 5 besten Schüler finden, die bei ihrer Prüfung mehr als 70 % erzielt haben.

Bestellen wir unseren Tisch students mit der Spalte name und wählen Sie die Top 5 aus dem Ergebnis aus. Das geht so:

SELECT * FROM students
order by name
LIMIT 5;

Ausgabe:

Einschränken von Ergebnissen – Oracle-Syntax

Unten ist die äquivalente Syntax für unser erstes Beispiel in Oracle.

SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

In älteren Versionen von Oracle können Sie ROWNUM verwenden, um die Anzahl der von einer Abfrage zurückgegebenen Zeilen einzuschränken.

Beispiel:

SELECT * FROM 
students 
WHERE ROWNUM < 5;

So begrenzen Sie Ergebnisse in SQL – MS Access-Syntax

Unten ist die äquivalente Syntax für unser erstes Beispiel in MS Access.

SELECT TOP 5 * FROM students;

Abschluss

Die LIMIT-Funktionalität kann in Kombination mit Sortierung sehr leistungsfähig für die Abfrageoptimierung sein. Effiziente Abfragen sind einfacher für das System und schnell für den Benutzer. Es wird immer empfohlen, die Ergebnisse gegebenenfalls zu BEGRENZEN.