SQL முன்னணி செயல்பாடு

Sql Munnani Ceyalpatu



SQL லீட்() செயல்பாடு ஒரு குறிப்பிட்ட ஆஃப்செட்டில் தற்போதைய வரிசையிலிருந்து அடுத்த வரிசையை அணுக உங்களை அனுமதிக்கிறது. சுருக்கமாக, லீட்() செயல்பாடு தற்போதைய வரிசையிலிருந்து அடுத்த வரிசையை அணுக உங்களை அனுமதிக்கிறது. ஆஃப்செட் மதிப்பைக் குறிப்பிடுவதன் மூலம், தற்போதைய வரிசையிலிருந்து அடுத்த 1, 2, 3 போன்ற வரிசைகளை அணுகலாம்.

இது லேக்() செயல்பாட்டிற்கு எதிரானது, இது முந்தைய வரிசைகளை அணுக உங்களை அனுமதிக்கிறது.







SQL Lead() செயல்பாடு

செயல்பாட்டின் தொடரியல் பின்வருமாறு:



LEAD(மதிப்பு_வெளிப்பாடு, ஆஃப்செட் [, இயல்புநிலை])
மேல் (
[PARTITION by partition_expression]
வரிசை_வெளிப்பாடு [ASC | மூலம் ஆர்டர் செய்யவும் DESC]
);

பின்வருபவை ஆதரிக்கப்படும் வாதங்கள்:



  1. மதிப்பு_வெளிப்பாடு - இது முந்தைய வரிசையின் திரும்ப மதிப்பைக் குறிப்பிடுகிறது. வெளிப்பாடு ஒரு ஒற்றை மதிப்புக்கு மதிப்பீடு செய்யப்பட வேண்டும்.
  2. ஆஃப்செட் - அணுகுவதற்கு தற்போதைய வரிசையில் இருந்து எத்தனை வரிசைகள் முன்னோக்கி செல்ல வேண்டும் என்பதைக் குறிப்பிடுகிறது.
  3. இயல்புநிலை - ஆஃப்செட் பகிர்வின் எல்லைக்கு வெளியே இருந்தால், இது இயல்புநிலை மதிப்பை அமைக்கிறது. முன்னிருப்பாக, மதிப்பு NULL ஆக அமைக்கப்படும்.
  4. மூலம் பிரித்தல் - தரவை எவ்வாறு பிரிப்பது என்பதை இது குறிப்பிடுகிறது.
  5. உத்தரவின் படி - இது ஒவ்வொரு பகிர்விலும் உள்ள வரிசைகளுக்கான வரிசை வடிவமைப்பை அமைக்கிறது.

மாதிரி தரவு அமைப்பு

லீட்() செயல்பாட்டின் செயல்பாட்டிற்குள் நுழைவதற்கு முன், ஆர்ப்பாட்ட நோக்கங்களுக்காக அடிப்படை அட்டவணையை அமைப்பதன் மூலம் தொடங்குவோம்.





அட்டவணை தயாரிப்புகளை உருவாக்கவும் (
product_id INT முதன்மை விசை AUTO_INCREMENT,
தயாரிப்பு_பெயர் VARCHAR(255),
வகை VARCHAR(255),
விலை டெசிமல்(10, 2),
அளவு INT,
காலாவதி_தேதி DATE,
பார்கோடு BIGINT
);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('Chef Hat 25cm',
'பேக்கரி',
24.67,
57,
'2023-09-09',
2854509564204);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('காடை முட்டை - பதிவு செய்யப்பட்ட',
'சரக்கறை',
17.99,
67,
'2023-09-29',
1708039594250);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('காபி - முட்டை நாக் கபுசினோ',
'பேக்கரி',
92.53,
10,
'2023-09-22',
8704051853058);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('பேரி - முட்கள் நிறைந்த',
'பேக்கரி',
65.29,
48,
'2023-08-23',
5174927442238);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('பாஸ்தா - ஏஞ்சல் ஹேர்',
'சரக்கறை',
48.38,
59,
'2023-08-05',
8008123704782);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('வைன் - ப்ரோசெக்கோ வால்டோபியாட்டீன்',
'உற்பத்தி',
44.18,
3,
'2023-03-13',
6470981735653);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('பேஸ்ட்ரி - பிரஞ்சு மினி வகைப்படுத்தப்பட்ட',
'சரக்கறை',
36.73,
52,
'2023-05-29',
5963886298051);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('ஆரஞ்சு - பதிவு செய்யப்பட்ட, மாண்டரின்',
'உற்பத்தி',
65.0,
1,
'2023-04-20',
6131761721332);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)
மதிப்புகள் ('பன்றி இறைச்சி - தோள்பட்டை',
'உற்பத்தி',
55.55,
73,
'2023-05-01',
9343592107125);

செருகு
உள்ளே
தயாரிப்புகள் (தயாரிப்பு_பெயர்,
வகை,
விலை,
அளவு,
காலாவதி_தேதி,
பார்கோடு)

மதிப்புகள் ('Dc Hikiage Hira Huba',
'உற்பத்தி',
56.29,
53,
'2023-04-14',
3354910667072);

எடுத்துக்காட்டு 1:

இந்த வழக்கில், தயாரிப்புத் தகவலைக் கொண்ட 'தயாரிப்புகள்' அட்டவணைக்கு அணுகல் உள்ளது. தற்போதைய வரிசையில் இருந்து அடுத்த பார் குறியீட்டைப் பெற விரும்புகிறோம் என்று வைத்துக்கொள்வோம்.

நாம் லீட்() செயல்பாட்டை பின்வருமாறு பயன்படுத்தலாம்:



எங்களிடம் ஒரு பணியாளர் தகவலைக் கொண்ட அட்டவணை உள்ளது என்று வைத்துக்கொள்வோம்:

தேர்ந்தெடுக்கவும்
பொருளின் பெயர்,
விலை,
முன்னணி (பார்கோடு) முடிந்து (வகை மூலம் பகிர்வு
உத்தரவின் படி
விலை asc) அடுத்த_உருப்படியாக
இருந்து
தயாரிப்புகள் p;

கொடுக்கப்பட்ட குறியீடு வகையின் அடிப்படையில் தரவைப் பிரிக்கிறது. இது லீட்() செயல்பாட்டைப் பயன்படுத்தி பகிர்வில் அடுத்த பார்கோடைப் பெறுகிறது.

இதன் விளைவாக வெளியீடு பின்வருமாறு:

எடுத்துக்காட்டு 2:

ஒரு குறிப்பிட்ட நெடுவரிசையில் அடுத்த வரிசை இல்லை என்றால் (எல்லைக்கு வெளியே), செயல்பாடு முந்தைய எடுத்துக்காட்டில் காட்டப்பட்டுள்ளபடி மதிப்பை NULLக்கு அமைக்கிறது.

ஸ்கோப் இல்லாத அணுகலுக்கு இயல்புநிலை மதிப்பை அமைக்க, பின்வருவனவற்றைச் செய்யலாம்:

தேர்ந்தெடுக்கவும்
பொருளின் பெயர்,
விலை,
முன்னணி (பார்கோடு, 1, 'N/A') முடிந்துவிட்டது (வகை மூலம் பகிர்வு
உத்தரவின் படி
விலை asc) அடுத்த_உருப்படியாக
இருந்து
தயாரிப்புகள் p;

இயல்புநிலை மதிப்பை 'N/A' என அமைத்துள்ளோம். பின்வரும் வெளியீட்டில் காட்டப்பட்டுள்ளபடி இது எல்லைக்கு வெளியே உள்ள எந்த மதிப்பையும் மாற்ற வேண்டும்:

குறிப்பு : ஆஃப்செட்டை 1 ஆக அமைப்பது, எந்த மதிப்பையும் குறிப்பிடாமல் இருப்பதைப் போன்றது.

எடுத்துக்காட்டு 3:

தற்போதைய வரிசையில் இருந்து அடுத்த இரண்டு வரிசைகளை அணுக விரும்புகிறீர்கள் என்று வைத்துக்கொள்வோம். ஆஃப்செட் மதிப்பை 2 ஆக அமைப்பதன் மூலம் இதைச் செய்யலாம்.

ஒரு எடுத்துக்காட்டு வினவல் பின்வருவனவற்றில் விளக்கப்பட்டுள்ளது:

தேர்ந்தெடுக்கவும்
பொருளின் பெயர்,
விலை,
முன்னணி(பார்கோடு, 2, 'N/A') முடிந்துவிட்டது (வகை மூலம் பகிர்வு
உத்தரவின் படி
விலை asc) அடுத்த_உருப்படியாக
இருந்து
தயாரிப்புகள் p;

இந்த வினவல் பின்வருவனவற்றில் காட்டப்பட்டுள்ளபடி ஒவ்வொரு பகிர்விலும் அடுத்த இரண்டு வரிசைகளை வழங்குகிறது:

இதோ!

முடிவுரை

இந்த டுடோரியலில், தற்போதைய வரிசையில் இருந்து அடுத்த உருப்படியைப் பெறுவதற்கு லீட்() செயல்பாட்டுடன் எவ்வாறு வேலை செய்வது என்பதை நாங்கள் கற்றுக்கொண்டோம்.