sql >> Database >  >> RDS >> Mysql

ROW_NUMBER in SQL – Selecteer Topvoorbeeld in SQL en SQL Server

SQL, of gestructureerde querytaal, stelt ons in staat om via query's gegevens uit een database te verzamelen. Het stelt ons ook in staat om die gegevens in te voegen, bij te werken en te verwijderen.

In deze blogpost zullen we ons concentreren op het ophalen van gegevens en het beperken van de resultaten met behulp van SQL.

Waarom zou u SQL-queryresultaten beperken?

Een database is meestal een enorme verzameling gegevens. Soms hoeven we niet alle resultaten op te halen. Om de resultaten te beperken, kunnen we de zoekopdracht optimaliseren.

Het beperken van queryresultaten is belangrijk voor de prestaties van de database. Het ophalen van een groot resultaat wanneer dit niet vereist is, leidt tot extra belasting van de database en beïnvloedt de gebruikerservaring.

Zoekresultaten in SQL beperken

De syntaxis is anders voor SQL Server, Oracle en MySQL voor het beperken van de gegevens.

  • MySQL gebruikt LIMIT .
  • ORACLE gebruikt FETCH FIRST .
  • MS Access en SQL Server gebruiken TOP .

We zullen hieronder in detail zien hoe ze allemaal werken.

Demodatabase

We hebben de volgende tabel met de naam students met hun details zoals je hieronder kunt zien:

ID Naam Geslacht
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

Hoe een query in MySQL te beperken

Hieronder staat de syntaxis voor MySQL.

SELECT  (expression)
FROM 
    table_name
LIMIT 5;

Als voorbeeld selecteren we de eerste 5 records uit de tabel.

Laten we onze tabel students gebruiken voor deze demonstratie.

-- fetch top 5 values from table

SELECT * FROM students
LIMIT 5;

Uitgang:

Hoe LIMIT combineren met ORDER BY

Wanneer u LIMIT combineert met ORDER BY, kunt u zinvollere resultaten krijgen. We kunnen dit bijvoorbeeld gebruiken om de top 5 studenten te vinden die meer dan 70% scoorden op hun examen.

Laten we onze tafel students bestellen met de kolom name en kies de top 5 uit het resultaat. Je kunt dat als volgt doen:

SELECT * FROM students
order by name
LIMIT 5;

Uitgang:

Resultaten beperken – Oracle-syntaxis

Hieronder staat de equivalente syntaxis voor ons eerste voorbeeld in Oracle.

SELECT * FROM students
FETCH FIRST 5 ROWS ONLY;

In oudere versies van Oracle kunt u ROWNUM gebruiken om het aantal rijen te beperken dat door een query wordt geretourneerd.

Voorbeeld:

SELECT * FROM 
students 
WHERE ROWNUM < 5;

Resultaten in SQL beperken – MS Access-syntaxis

Hieronder vindt u de equivalente syntaxis voor ons eerste voorbeeld in MS Access.

SELECT TOP 5 * FROM students;

Afsluiten

De LIMIT-functionaliteit kan zeer krachtig zijn voor query-optimalisatie in combinatie met sorteren. Efficiënte zoekopdrachten zijn lichter op het systeem en snel voor de gebruiker. Het wordt altijd aanbevolen om de resultaten te BEPERKEN waar van toepassing.



  1. Hoe een identiteitskolom aan tabel toe te voegen door TSQL en GUI in SQL Server - SQL Server / T-SQL-zelfstudie, deel 40

  2. Zoek tekst in opgeslagen procedure in SQL Server

  3. Beperking wijzigen?

  4. 2 manieren om de Unix-tijdstempel in SQLite te retourneren