SQL TOP, LIMIT, FETCH FIRST or ROWNUM Clause

திரும்பப் பெற வேண்டிய பதிவுகளின் எண்ணிக்கையைக் குறிப்பிட SELECT TOP, LIMIT, FETCH FIRST அல்லது ROWNUM பயன்படுத்துவது பற்றி அறிக

SQL SELECT TOP கிளாஸ்

SELECT TOP கிளாஸ் திரும்பப் பெற வேண்டிய பதிவுகளின் எண்ணிக்கையைக் குறிப்பிட பயன்படுகிறது.

SELECT TOP கிளாஸ் ஆயிரக்கணக்கான பதிவுகளைக் கொண்ட பெரிய அட்டவணைகளில் பயனுள்ளதாக இருக்கும். பெரிய எண்ணிக்கையிலான பதிவுகளைத் திரும்பப் பெறுவது செயல்திறனைப் பாதிக்கும்.

உதாரணம்

Customers அட்டவணையின் முதல் 3 பதிவுகளை மட்டும் தேர்ந்தெடுக்கவும்:

SELECT TOP 3 * FROM Customers;

💡 குறிப்பு:

அனைத்து தரவுத்தள அமைப்புகளும் SELECT TOP கிளாஸை ஆதரிக்காது. MySQL ஒரு வரையறுக்கப்பட்ட எண்ணிக்கையிலான பதிவுகளைத் தேர்ந்தெடுக்க LIMIT கிளாஸை ஆதரிக்கிறது, அதேசமயம் Oracle FETCH FIRST n ROWS ONLY மற்றும் ROWNUM ஐப் பயன்படுத்துகிறது.

தரவுத்தள தொடரியல் ஒப்பீடு

SQL Server / MS Access தொடரியல்

SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;

MySQL தொடரியல்

SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;

Oracle 12 தொடரியல்

SELECT column_name(s)
FROM table_name
ORDER BY column_name(s)
FETCH FIRST number ROWS ONLY;

பழைய Oracle தொடரியல்

SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

ஆர்ப்பாட்ட தரவுத்தளம்

உதாரணங்களில் பயன்படுத்தப்படும் Customers அட்டவணையிலிருந்து ஒரு தேர்வு கீழே உள்ளது:

CustomerID CustomerName ContactName Address City PostalCode Country
1 Alfreds Futterkiste Maria Anders Obere Str. 57 Berlin 12209 Germany
2 Ana Trujillo Emparedados y helados Ana Trujillo Avda. de la Constitución 2222 México D.F. 05021 Mexico
3 Antonio Moreno Taquería Antonio Moreno Mataderos 2312 México D.F. 05023 Mexico
4 Around the Horn Thomas Hardy 120 Hanover Sq. London WA1 1DP UK
5 Berglunds snabbköp Christina Berglund Berguvsvägen 8 Luleå S-958 22 Sweden

LIMIT உதாரணங்கள்

பின்வரும் SQL அறிக்கை MySQLக்கான சமமான உதாரணத்தைக் காட்டுகிறது:

உதாரணம்

Customers அட்டவணையின் முதல் 3 பதிவுகளைத் தேர்ந்தெடுக்கவும்:

SELECT * FROM Customers
LIMIT 3;

FETCH FIRST உதாரணங்கள்

பின்வரும் SQL அறிக்கை Oracleக்கான சமமான உதாரணத்தைக் காட்டுகிறது:

உதாரணம்

Customers அட்டவணையின் முதல் 3 பதிவுகளைத் தேர்ந்தெடுக்கவும்:

SELECT * FROM Customers
FETCH FIRST 3 ROWS ONLY;

TOP PERCENT உதாரணங்கள்

பின்வரும் SQL அறிக்கை "Customers" அட்டவணையிலிருந்து முதல் 50% பதிவுகளைத் தேர்ந்தெடுக்கிறது (SQL Server/MS Accessக்கு):

உதாரணம்

SELECT TOP 50 PERCENT * FROM Customers;

பின்வரும் SQL அறிக்கை Oracleக்கான சமமான உதாரணத்தைக் காட்டுகிறது:

உதாரணம்

SELECT * FROM Customers
FETCH FIRST 50 PERCENT ROWS ONLY;

WHERE கிளாஸ் உதாரணங்கள்

பின்வரும் SQL அறிக்கை "Germany" நாடு உள்ள "Customers" அட்டவணையிலிருந்து முதல் மூன்று பதிவுகளைத் தேர்ந்தெடுக்கிறது (SQL Server/MS Accessக்கு):

உதாரணம்

SELECT TOP 3 * FROM Customers
WHERE Country='Germany';

MySQL

SELECT * FROM Customers
WHERE Country='Germany'
LIMIT 3;

Oracle

SELECT * FROM Customers
WHERE Country='Germany'
FETCH FIRST 3 ROWS ONLY;

ORDER BY உதாரணங்கள்

நீங்கள் முடிவை வரிசைப்படுத்த விரும்பும் போது ORDER BY முக்கிய சொல்லைச் சேர்க்கவும், மேலும் வரிசைப்படுத்தப்பட்ட முடிவின் முதல் 3 பதிவுகளைத் திரும்பப் பெறவும்.

SQL Server மற்றும் MS Accessக்கு:

உதாரணம்

முடிவை CustomerName மூலம் தலைகீழ் அகரவரிசையில் வரிசைப்படுத்தி, முதல் 3 பதிவுகளைத் திரும்பப் பெறவும்:

SELECT TOP 3 * FROM Customers
ORDER BY CustomerName DESC;

MySQL

SELECT * FROM Customers
ORDER BY CustomerName DESC
LIMIT 3;

Oracle

SELECT * FROM Customers
ORDER BY CustomerName DESC
FETCH FIRST 3 ROWS ONLY;

தரவுத்தள ஒப்பீடு

SQL Server

SELECT TOP 5 * 
FROM table_name;
  • SELECT TOP பயன்படுத்துகிறது
  • PERCENT ஆதரவு உள்ளது
  • மைக்ரோசாப்ட் தயாரிப்பு

MySQL

SELECT * FROM table_name
LIMIT 5;
  • LIMIT பயன்படுத்துகிறது
  • OFFSET ஆதரவு உள்ளது
  • Oracle தயாரிப்பு

Oracle

SELECT * FROM table_name
FETCH FIRST 5 ROWS ONLY;
  • FETCH FIRST பயன்படுத்துகிறது
  • ROWNUM ஆதரவு உள்ளது
  • பழைய தொடரியல் உள்ளது

பயிற்சி

SQL Server இல் பின்வரும் கேள்வி என்ன செய்யும்?
SELECT TOP 5 * FROM Customers;

Customers அட்டவணையிலிருந்து முதல் 5 பதிவுகளைத் தேர்ந்தெடுக்கவும்
✓ சரி! SELECT TOP 5 அட்டவணையிலிருந்து முதல் 5 பதிவுகளைத் திரும்பப் பெறுகிறது
Customers அட்டவணையிலிருந்து கடைசி 5 பதிவுகளைத் தேர்ந்தெடுக்கவும்
✗ தவறு! SELECT TOP எப்போதும் முதல் பதிவுகளைத் திரும்பப் பெறுகிறது
CustomerName மூலம் வரிசைப்படுத்தப்பட்ட 5 பதிவுகளைத் தேர்ந்தெடுக்கவும்
✗ தவறு! ORDER BY இல்லாமல், பதிவுகள் எந்த வரிசையிலும் திரும்பப் பெறப்படலாம்
CustomerID 5க்குக் குறைவான அனைத்து பதிவுகளையும் தேர்ந்தெடுக்கவும்
✗ தவறு! இது WHERE விதி இல்லாத எண்ணிக்கையை மட்டுமே கட்டுப்படுத்துகிறது