JOIN ஆபரேட்டரின் தோற்றத்திற்கான முன்நிபந்தனைகள்
அட்டவணையில் உள்ள தரவுகளின் அளவு அதிகரிக்கும் போது, நகல் மதிப்புகள் பெரும்பாலும் அவற்றில் தோன்றும். எடுத்துக்காட்டாக, தயாரிப்பு அட்டவணையில் பிராண்ட் பெயர்கள் உள்ளன. அவை சில நேரங்களில் மீண்டும் மீண்டும் செய்யப்படுகின்றன. அவர்களுக்காக ஒரு தனி பிராண்ட் அட்டவணையை வைத்திருப்பது பயனுள்ளதாக இருக்கும், எடுத்துக்காட்டாக, அத்தகைய தரவு:
- ஐடி - பிராண்ட் ஐடி;
- பெயர் - பிராண்ட் பெயர்;
- company_owner - பிராண்டின் நிறுவன உரிமையாளரின் பெயர்;
- company_contacts - பிராண்ட் உரிமையாளரின் நிறுவனத்தின் தொடர்புகள்.
பின்னர் நாங்கள் முகவரிகளின் அட்டவணையை உருவாக்க விரும்புகிறோம், அதில் அனைத்து முகவரிகளையும் வைக்கலாம்:
- ஐடி - ஐடி முகவரிகள்;
- நாடு;
- பிராந்தியம்;
- நகரம்;
- தெரு;
- வீடு;
- zip.
மேலும், இந்த அட்டவணையில் பிராண்ட்-சொந்தமான நிறுவனங்களின் முகவரிகள் மட்டுமல்லாமல், வாடிக்கையாளர்கள் மற்றும் ஊழியர்களின் முகவரிகளையும் சேமிக்க முடியும். இந்த அணுகுமுறை தரவுகளின் அளவு (அட்டவணைகளில் உள்ள வரிசைகளின் எண்ணிக்கை) வளர்ச்சியின் விளைவாகும். இது அட்டவணையில் தரவை கையாளுவதையும் அவற்றின் ஒருமைப்பாட்டையும் எளிதாக்குகிறது.
உங்களிடம் 5 பணியாளர்கள் இருக்கும்போது, அவர்களின் தொழிலை ஆக்கிரமிப்பு நெடுவரிசையில் உள்ளிடலாம் . உங்கள் நிறுவனத்தில் 5 ஆயிரம் பணியாளர்கள் இருந்தால், x தொழில்கள் மற்றும் அவர்களின் பொறுப்புகளின் பட்டியலுடன் உங்களுக்கு ஒரு அட்டவணை தேவை.
ஜாவா மொழியில், இதே போன்ற ஒன்று உள்ளது. ஒரு முறையில் உங்களிடம் நிறைய குறியீடு இருந்தால், அதை பல முறைகளாக உடைக்க ஆசை இருக்கிறது. ஒரு வகுப்பில் பல முறைகள் இருந்தால், அதை பல வகுப்புகளாகப் பிரிக்க விரும்புகிறேன்.
அதனால்தான் பெரிய தரவுத்தளங்களில் ஆயிரக்கணக்கான அட்டவணைகள் உள்ளன. கிட்டத்தட்ட எல்லா வினவல்களும் ஒரே நேரத்தில் பல அட்டவணைகளில் செயல்படுத்தப்படும். மேலும் ஆயிரம் பதிவுகளைக் கொண்ட மூன்று அட்டவணைகளின் வரிசைகளின் கார்ட்டீசியன் தயாரிப்பு ஏற்கனவே ஒரு பில்லியன் வரிசைகள் ஆகும்.
ஆனால் WHERE ஐப் பயன்படுத்தி ஒரு பில்லியன் வரிசைகளை வடிகட்டுவதற்கு மணிநேரம் ஆகலாம். எனவே, SQL மொழியை உருவாக்கியவர்கள் தங்கள் தீர்வை வழங்கினர் - JOIN ஆபரேட்டர்.
JOIN ஆபரேட்டருக்கு அறிமுகம்
அனைவருக்கும் அனைத்து அட்டவணைகளின் கார்ட்டீசியன் தயாரிப்பு தேவையில்லை என்பதை SQL சேவையகத்திற்கு வெளிப்படையாகக் கூற JOIN ஆபரேட்டர் பயன்படுத்தப்படுகிறது, ஆனால் ஒரு ஐடியைப் பயன்படுத்தி (அல்லது வேறு வழியில்) ஒன்றையொன்று குறிப்பிடும் வெவ்வேறு அட்டவணைகளின் வரிசைகளின் ஸ்மார்ட் க்ளூயிங் . . JOIN ஆபரேட்டரைப் பயன்படுத்தி டேபிள் சேர்களை செயலாக்க சேவையகம் ஒரு தனி அல்காரிதம் உள்ளது, இது அத்தகைய செயல்பாடுகளை மிக வேகமாக செய்ய அனுமதிக்கிறது. JOIN ஆபரேட்டரின் பொதுவான வடிவம் பின்வருமாறு:
table 1 JOIN table 2 ON condition
நீங்கள் அட்டவணை1 மற்றும் அட்டவணை2 ஆகியவற்றை ஒரு அட்டவணையில் இணைக்க வேண்டும், மேலும் நிபந்தனையை இணைப்பதற்கான அளவுகோலாகப் பயன்படுத்த வேண்டும் என்று இங்கே கூறுகிறது .
நமது பழைய உதாரணத்தை எடுத்துக் கொள்வோம்:
SELECT * FROM employee, task WHERE emploee.id = task.emploee_id
JOIN ஆபரேட்டரைப் பயன்படுத்தி அதை மீண்டும் எழுதவும்:
SELECT * FROM employee JOIN task ON emploee.id = task.emploee_id
இரண்டு வினவல்களும் எங்கள் விஷயத்தில் ஒரே முடிவைக் கொடுக்கும், ஆனால் இது வினவல்கள் மிகவும் எளிமையானதாக இருப்பதால் மட்டுமே. எதிர்காலத்தில், WHERE ஆனது வரிசை வடிப்பானைச் சரியாகக் கட்டமைக்க உங்களை அனுமதிக்கிறது, மேலும் ON க்குப் பிறகு குறிப்பிடப்பட்டவை அட்டவணைகளை இணைப்பதற்கான சிக்கலான ஸ்கிரிப்ட்களை எழுத உங்களை அனுமதிக்கிறது. JOIN அறிக்கையைப் பயன்படுத்தும் போது மாற்றுப்பெயர்களையும் (அட்டவணை மாற்றுப்பெயர்கள்) பயன்படுத்தலாம். உதாரணமாக:
SELECT * FROM employee e JOIN task t ON e.id = t.emploee_id