இருப்பினும், SQL இல் ஒரு வகை சேர்ப்பு உள்ளது, இது ரேடாரின் கீழ் செல்ல முனைகிறது, இது சுய-இணைப்பு என அழைக்கப்படுகிறது.
SQL இல், ஒரு சுய-சேர்தல் என்பது ஒரு சக்திவாய்ந்த நுட்பமாகும், இது ஒரே அட்டவணையில் இருந்து வரிசைகளை ஒரே அட்டவணையில் உள்ள தொடர்புடைய நெடுவரிசையின் அடிப்படையில் இணைக்க அனுமதிக்கிறது.
SQL இல் உள்ள மற்ற வகை இணைப்புகளைப் போலல்லாமல், நாம் பல அட்டவணைகளிலிருந்து தரவை எடுக்கிறோம், ஒரு சுய-சேர்தல் ஒரு அட்டவணையில் வேலை செய்கிறது.
டேபிளிலிருந்தே தரவைப் பார்க்கும்போது எனக்கு ஏன் சுய-சேர்தல் தேவை என்று நீங்கள் ஆச்சரியப்படலாம்? அது உண்மையாக இருந்தாலும், நீங்கள் சுழல்நிலை தரவு வினவல்களைச் செய்ய வேண்டியிருக்கும் போது அல்லது படிநிலைத் தரவைக் கண்டறியும் போது சுய-சேர்தல் பணிகளில் உதவும்.
அடிப்படையில், ஒரே அட்டவணையின் வரிசைகளை நீங்கள் ஒப்பிட வேண்டிய ஒரு சுய-சேர்தல் ஒரு அடிப்படைப் பாத்திரத்தை வகிக்கிறது.
சுய-இணைப்புகள் என்றால் என்ன, அவை எவ்வாறு செயல்படுகின்றன மற்றும் அவற்றை SQL அட்டவணையில் எவ்வாறு பயன்படுத்தலாம் என்பதை நாங்கள் ஆராயும்போது, இந்த இடுகையில் எங்களுடன் சேருங்கள்.
குறிப்பு: நாங்கள் உள்ளே நுழைவதற்கு முன், ஆர்ப்பாட்ட நோக்கங்களுக்காக ஒரு அடிப்படை அட்டவணையை அமைப்போம். இருப்பினும், ஆதரிக்கப்படும் எந்த தரவுத்தொகுப்பையும் நீங்கள் பயன்படுத்த வேண்டும்.
மாதிரி தரவு
பின்வரும் வினவல்கள் தயாரிப்புத் தகவலைக் கொண்ட அடிப்படை அட்டவணையை உருவாக்கி, மாதிரிப் பதிவுகளை அட்டவணையில் செருகும். இது SQL இல் சுய-இணைப்புகளுடன் எவ்வாறு செயல்படுவது என்பதை நிரூபிக்க அனுமதிக்கிறது.
அட்டவணை தயாரிப்புகளை உருவாக்கு (product_id INT முதன்மை விசை,
தயாரிப்பு_பெயர் VARCHAR(255) பூஜ்யமாக இல்லை,
parent_id INT
);
அட்டவணையில் 10 மாதிரி பதிவுகளைச் சேர்க்கவும்.
தயாரிப்புகளில் செருகவும் (product_id, product_name, parent_id) VALUES(1, 'எலக்ட்ரானிக்ஸ்', NULL),
(2, 'ஸ்மார்ட்போன்கள்', 1),
(3, 'லேப்டாப்', 1),
(4, 'ஐபோன் 13', 2),
(5, 'Samsung Galaxy S21', 2),
(6, 'மேக்புக் ப்ரோ', 3),
(7, 'டெல் எக்ஸ்பிஎஸ் 15', 3),
(8, 'துணைகள்', NULL),
(9, 'ஃபோன் கேஸ்கள்', 8),
(10, 'லேப்டாப் பைகள்', 8);
இதன் விளைவாக அட்டவணை பின்வருமாறு:
எடுத்துக்காட்டு 1: அடிப்படை சுய-சேர்தல்
ஒரு அடிப்படை சுய-இணைப்புடன் ஆரம்பிக்கலாம். எடுத்துக்காட்டாக, ஒரே அட்டவணையின் பெற்றோர்-குழந்தை உறவை மீட்டெடுக்க எளிய சுய-இணைப்பைப் பயன்படுத்தலாம்.
எடுத்துக்காட்டாக, அனைத்து தயாரிப்புகளையும் அவற்றுடன் தொடர்புடைய பெற்றோர் தயாரிப்புகளையும் கண்டறிய இதைப் பயன்படுத்தலாம். வினவலை பின்வருமாறு இயக்கலாம்:
SELECT c.product_name AS child_product, p.product_name AS parent_productதயாரிப்புகளிலிருந்து c
LEFT JOIN தயாரிப்புகள் p ON c.parent_id = p.product_id;
கொடுக்கப்பட்ட எடுத்துக்காட்டு வினவலில், குழந்தை தயாரிப்புகளைக் குறிக்கும் தயாரிப்பு அட்டவணையின் மாற்றுப்பெயராக “c” ஐப் பயன்படுத்துகிறோம்.
பெற்றோர் தயாரிப்புகளைக் குறிக்க, தயாரிப்பு அட்டவணைக்கு 'p' மாற்றுப்பெயரையும் உருவாக்குகிறோம்.
அடுத்த கட்டத்தில், உயர்மட்ட தயாரிப்புகள் முடிவில் சேர்க்கப்பட்டுள்ளதை உறுதிசெய்ய அடிப்படை SQL LEFT JOIN ஐப் பயன்படுத்துகிறோம்.
கடைசியாக, 'parent_id' மற்றும் 'product_id' நெடுவரிசைகளைப் பயன்படுத்தி குழந்தை மற்றும் பெற்றோர் பதிவுகளுக்கு இடையே உறவை உருவாக்க ON விதியைப் பயன்படுத்துகிறோம்.
இதன் விளைவாக அட்டவணை பின்வருமாறு:
மூல கூறுகள் என்றும் அழைக்கப்படும் படிநிலையின் உச்சியில் இருப்பதால், மூல தயாரிப்புகளுக்கு மேல் இணைப்பு இல்லை என்பதை நீங்கள் கவனிப்பீர்கள்.
எடுத்துக்காட்டு 2: படிநிலைத் தரவைப் பெறவும்
ஒரு சுய இணைப்பின் மிக அடிப்படையான பாத்திரங்களில் ஒன்று படிநிலைத் தரவை மீட்டெடுப்பதாகும். எடுத்துக்காட்டாக, தயாரிப்பு 'துணைப்பொருட்களுக்கு' சமமாக இருக்கும் அனைத்து குழந்தை தயாரிப்புகளையும் மீட்டெடுக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம். சுய-இணைப்பைப் பயன்படுத்தி வினவலை பின்வருமாறு இயக்கலாம்:
SELECT c.product_name AS child_productதயாரிப்புகளிலிருந்து c
சேர் தயாரிப்புகள் p ON c.parent_id = p.product_id
எங்கே p.product_name = 'துணைகள்';
இந்த வழக்கில், தயாரிப்பு அட்டவணையை அதனுடன் இணைக்க JOIN ஐப் பயன்படுத்துகிறோம், பின்னர் நாம் விரும்பும் முடிவுகளை வடிகட்ட WHERE விதியைப் பயன்படுத்துகிறோம்.
முடிவுரை
இந்த டுடோரியலில், சுய-சேர்தல் என்றால் என்ன, அது எவ்வாறு செயல்படுகிறது மற்றும் SQL அட்டவணையில் ஒரு படிநிலைத் தரவை மீட்டெடுக்க அல்லது சுழல்நிலை வினவல்களைச் செய்ய அதை எவ்வாறு பயன்படுத்தலாம் என்பதை ஆராய்ந்தோம்.