கணினிகள், நிரலாக்க
இடது சேர (SQL அது) - ஒரு உதாரணம், விரிவான விளக்கத்தை பிழை பயன்படுத்தி
எந்த உண்மையான தொடர்புடைய தரவுத் தளத்தில், அனைத்து தகவல் ஒரு தனி மேஜையில் விநியோகிக்கப்படுகிறது. அட்டவணைகள் பல ஒருவருக்கொருவர் தொடர்பு திட்டத்தில் முன்னும் பின்னுமாக அமைக்கப்படுகின்றன. எனினும், உதவியுடன் SQL வினவல்களைச் அது தரவை மட்டுமே சுற்று பதிக்கப்பட்ட இடையே ஒரு இணைப்பை வழங்குவது சரியானதே சாத்தியமானதே. இந்த நீங்கள் அட்டவணைகள் எந்த எண் இடையே ஒரு உறவை கட்டியெழுப்ப, மற்றும் கூட வெளித்தோற்றத்தில் முற்றிலும் வேறான தகவல் இணைக்க அனுமதிக்கிறது ஒரு சேர இணைப்பு, செய்வதன் மூலம் செய்யப்படுகிறது.
இடது வெளி சேர பற்றி இந்தக் கட்டுரையில் குறிப்பாக பேசுவோம். இணைப்பு இந்த வகை விளக்கம் செய்வதற்கு முன்பு, சில தகவல் அட்டவணைகளில் சேர்க்க.
தேவையான அட்டவணைகள் தயாராகிறது
எடுத்துக்காட்டாக, எங்களின் தரவுத்தளத்தில், அங்கு மக்கள் மற்றும் அவர்களது ரியல் எஸ்டேட் பற்றிய தகவல் ஆகும். மக்கள் (மக்கள்), ரியால்டி (ரியல் எஸ்டேட்), Realty_peoples (அட்டவணை உறவுகள், மக்கள் யார் என்ன இருந்து சொத்து சொந்தமானது): மூன்று அட்டவணைகள் அடிப்படையில் சுருக்கம். மக்களின் அட்டவணைகள் சேமிக்கப்படும் பின்வரும் தரவு கருதுங்கள்
மக்கள் | ||||
ஐடி | L_name | F_name | Middle_name | பிறந்தநாள் |
1 | Ivanova | டாரியா | பி | 07/16/2000 |
2 | Pugin | விளாடிஸ்லாவ் | Nikolaevich | 29.01.1986 |
3 | Evgenin | அலெக்சாண்டர் | Federovich | 04/30/1964 |
4 | Annina | அன்பு | பி | 31.12.1989 |
5 | Gerasimovsky | நம்புகிறேன் | பி | 14.03.1992 |
6 | Gerasimovsky | ஒலெக் | Albertovich | 01/29/1985 |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 |
8 | Sukhanovskaya | ஜூலியா | ஒய் | 01.10.2001 |
ரியல் எஸ்டேட்:
ரியால்டி | |
ஐடி | முகவரியை |
1 | ஆர்க்கான்கெலஸ்க், உல். Voronin, ஈ. 7, kv.6 |
2 | ஆர்க்கான்கெலஸ்க், உல். Severodvinskaya, ஈ. 84, Q. 9 பி.ஆர். 5 |
3 | ஆர்க்கான்கெலஸ்க் பிராந்தியம், Severodvinsk, ஸ்டம்ப். லெனின், ஈ. 134, Q. 85 |
4 | ஆர்க்கான்கெலஸ்க் பிராந்தியம், Novodvinsk, உல். Proletarshaya, ஈ. 16, Q. 137 |
5 | ஆர்க்கான்கெலஸ்க், பன்மை. Terekhina, ஈ. 89, Q. 13 |
உறவுகள் மக்கள் - சொத்து:
Realty_peoples | ||
id_peoples | id_realty | வகை |
7 | 3 | மொத்த கூட்டு உரிமையை |
8 | 3 | மொத்த கூட்டு உரிமையை |
3 | 5 | சொத்து |
7 | 1 | சொத்து |
5 | 4 | பொதுவான பாகங்கள் |
6 | 4 | பொதுவான பாகங்கள் |
இடது சேர (SQL) - விளக்கம்
இடது கலவை பின்வரும் தொடரியலைக் கொண்டுள்ளது:
Table_A இடது சேர்க table_B [{மீது பயனிலை} | {Tolbtsov கொண்டு spisok_ பயன்படுத்தி}] |
பின்வருமாறு செழிப்பான போன்ற:
இந்த வெளிப்பாடு "அனைத்து, டேபிள் A மற்றும் டேபிள் பி வரி பயனிலை மட்டுமே பொருந்தும் வரிசைகள் காட்ட விதிவிலக்கு இல்லாமல் தேர்ந்தெடுக்கவும் என்று மொழிபெயர்க்கப்படுகிறது. மதிப்புகள் "- ஜோடிகள் ஒரு தரவரிசைப் பட்டியலில் முதல் சரம் டேபிளில் என்றால், இதன் விளைவாக பத்திகள் பூஜ்ய நிரப்ப.
பெரும்பாலும், இடது இணைப்பில் சுட்டிக்காட்டப்படுகிறது போது, இணைப்பை உருவாக்க திட்டமிடப்பட்டுள்ளது நிரலை பெயர்கள், அதே இருக்கும் போது மட்டுமே பயன்படுத்தப்படும் பயன்படுத்தி வருகிறது.
இடது சேர - பயன்பாட்டு உதாரணங்கள்
இடது இணைப்பு நாம் பார்க்க முடியும் மக்கள் சொத்து அங்கு என்றால் பட்டியலில் இருந்து அனைத்து மக்கள். இடது இதை செய்ய SQL கேள்வி உதாரணமாக சேர:
SELECT என்பது மக்கள். * Realty_peoples.id_realty, Realty_peoples.type இருந்து மக்கள் இடது சேர்க Realty_peoples மீது Peoples.id = Realty_peoples.id_peoples; |
பின்வரும் முடிவுகளுடன்:
Query1 | ||||||
ஐடி | L_name | F_name | Middle_name | பிறந்தநாள் | id_realty | வகை |
1 | Ivanova | டாரியா | பி | 07/16/2000 | ||
2 | Pugin | விளாடிஸ்லாவ் | Nikolaevich | 29.01.1986 | ||
3 | Evgenin | அலெக்சாண்டர் | Federovich | 04/30/1964 | 5 | சொத்து |
4 | Annina | அன்பு | பி | 31.12.1989 | ||
5 | Gerasimovsky | நம்புகிறேன் | பி | 14.03.1992 | 4 | பொதுவான பாகங்கள் |
6 | Gerasimovsky | ஒலெக் | Albertovich | 01/29/1985 | 4 | பொதுவான பாகங்கள் |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 1 | சொத்து |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 3 | மொத்த கூட்டு உரிமையை |
8 | Sukhanovskaya | ஜூலியா | ஒய் | 01.10.2001 | 3 | மொத்த கூட்டு உரிமையை |
நாம் பார்த்தது போல, Ivanova தர்யா Pugin விளாடிஸ்லாவ் மற்றும் Anninoy Lyubovi இல்லை ரியல் எஸ்டேட் உரிமைகள் பதிவு.
மேலும் அதை நாம் ஒரு உள் இன்னர் சேர சேர பயன்படுத்தி, பெற்றுள்ளோம் வேண்டும்? நீங்கள் தெரியும், அது பொருந்தாத வரிசைகள் தவிர்த்தது, எனவே எங்கள் இறுதி மாதிரி வெளியே மூன்று வெறுமனே நீக்கப்படலாம் என்ற:
Query1 | ||||||
ஐடி | L_name | F_name | Middle_name | பிறந்தநாள் | id_realty | வகை |
3 | Evgenin | அலெக்சாண்டர் | Federovich | 04/30/1964 | 5 | சொத்து |
5 | Gerasimovsky | நம்புகிறேன் | பி | 14.03.1992 | 4 | பொதுவான பாகங்கள் |
6 | Gerasimovsky | ஒலெக் | Albertovich | 01/29/1985 | 4 | பொதுவான பாகங்கள் |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 1 | சொத்து |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 3 | மொத்த கூட்டு உரிமையை |
8 | Sukhanovskaya | ஜூலியா | ஒய் | 01.10.2001 | 3 | மொத்த கூட்டு உரிமையை |
அது இரண்டாவது பதிப்பு எங்கள் பிரச்சனை நிபந்தனைகளை பூர்த்தி பார்க்கப்படுகின்றது. எனினும், நாம் மற்றொரு இணைக்க தொடங்கும், மற்றொரு அட்டவணை, விளைவாக மூன்று மனிதர்களின் ஏற்கனவே சீர் செய்ய முடியாத அளவுக்கு போயிருந்தால். இன்னர் விட எனவே, நடைமுறையில் பல்வேறு அட்டவணைகள் இணைந்த போது மிகவும் அடிக்கடி பயன்படுத்தப்படுகிறது இடது மற்றும் வலது இணைப்பு சேர.
SQL உதாரணங்கள் சேர இடது பார்க்க தொடரும். எங்கள் வீடுகள் முகவரிகளுடன் ஒரு அட்டவணை இணைக்கவும்:
SELECT என்பது மக்கள். * Realty_peoples.id_realty, Realty_peoples.type, Realty.address மக்கள் இருந்து இடது Realty_peoples மீது Peoples.id = Realty_peoples.id_peoples சேர்க இடது Realty.id = Realty_peoples.id_realty ரியால்டி சேர்க |
இப்போது நாம் சட்டம் ஒரு வகையான, ஆனால் ரியல் எஸ்டேட்டின் முகவரியை மட்டுமே கிடைக்கும்:
Query1 | |||||||
ஐடி | L_name | F_name | Middle_name | பிறந்தநாள் | id_realty | வகை | முகவரியை |
1 | Ivanova | டாரியா | பி | 07/16/2000 | |||
2 | Pugin | விளாடிஸ்லாவ் | Nikolaevich | 29.01.1986 | |||
3 | Evgenin | அலெக்சாண்டர் | Federovich | 04/30/1964 | 5 | சொத்து | ஆர்க்கான்கெலஸ்க், பன்மை. Terekhina, ஈ. 89, Q. 13 |
4 | Annina | அன்பு | பி | 31.12.1989 | |||
5 | Gerasimovsky | நம்புகிறேன் | பி | 14.03.1992 | 4 | பொதுவான பாகங்கள் | ஆர்க்கான்கெலஸ்க் பிராந்தியம், Novodvinsk, உல். Proletarshaya, ஈ. 16, Q. 137 |
6 | Gerasimovsky | ஒலெக் | Albertovich | 01/29/1985 | 4 | பொதுவான பாகங்கள் | ஆர்க்கான்கெலஸ்க் பிராந்தியம், Novodvinsk, உல். Proletarshaya, ஈ. 16, Q. 137 |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 3 | மொத்த கூட்டு உரிமையை | ஆர்க்கான்கெலஸ்க் பிராந்தியம், Severodvinsk, ஸ்டம்ப். லெனின், ஈ. 134, Q. 85 |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 1 | சொத்து | ஆர்க்கான்கெலஸ்க், உல். Voronin, ஈ. 7, kv.6 |
8 | Sukhanovskaya | ஜூலியா | ஒய் | 01.10.2001 | 3 | மொத்த கூட்டு உரிமையை |
ஆர்க்கான்கெலஸ்க் பிராந்தியம், Severodvinsk, ஸ்டம்ப். லெனின், ஈ. 134, Q. 85 |
இடது சேர - பிழை பொதுவான பயன்: தவறான நடைமுறை அட்டவணை
இடது வெளி செய்யப்பட்ட அடிப்படை தவறுகள் அட்டவணைகள், இரண்டு சேர:
- சரியாக அட்டவணைகள் ஆர்டர் தரவுகள் அழியாமல் இருந்தது தேர்ந்தெடுத்துள்ளீர்கள்.
- ஒரு கேள்வி பயன்படுத்தி எங்கே பிழைகள் போது அட்டவணைகள் சேர.
முதல் தவறு கவனியுங்கள். எந்த பிரச்சனை முடிவு எடுக்கப்படுவதற்கு முன்னர் தெளிவாக நாம் இறுதியில் பெற விரும்பினால் என்ன என்று புரிந்து கொள்ள வேண்டும். மேலே இந்த உதாரணத்தில், நாம் மக்கள் ஒவ்வொரு ஒற்றை எடுத்து, ஆனால் முற்றிலும் எண் 2, அதன் உரிமையாளர் காணப்படவில்லை கீழ் பொருளைப் பற்றி தகவல்களும் இழக்க நேரிடும்.
நாம் சில இடங்களில் வினவலில் அட்டவணைகள் சென்று விட்டனர் தொடங்க வேண்டும் «... ரியால்டி மக்கள் சேர இடமிருந்து ...» எந்த ஒரு சொத்து என்றால், நாம் இழந்துள்ளனர் நீங்கள் மக்கள் பற்றி சொல்ல மாட்டேன் முடியாது.
ஆனால், இடது இணைப்பு பயப்பட முடிவுகளையும் பொருந்தும், மற்றும் பொருத்துதல் வரிகளை சேர்க்கப்பட்டுள்ளது இது, முழு வெளி மாற வேண்டாம்.
அனைத்து பிறகு, மாதிரி தொகுதி அடிக்கடி மிகவும் பெரியது, மற்றும் கூடுதல் தரவு உண்மையில் பயனற்றது. தங்கள் கிடைக்க சொத்து பட்டியலை அல்லது அவற்றின் உரிமையாளர்கள் முழு சொத்து பட்டியல் (ஏதாவது இருந்தால்) அனைத்து நபர்களுக்குமாக: - முக்கிய விஷயம் நீங்கள் ஒரு முடிவு பெற வேண்டும் என்ன கண்டுபிடிக்க.
இடது சேர - பிழை பொதுவான பயன்: எங்கே சூழ்நிலையை அமைக்கும் போது வேண்டுகோள் சரியானதா
இரண்டாவது பிழையும் தரவு இல்லாமை நிலைமை, எப்போதும் உடனடியாக தெளிவாக இல்லை உள்ளது.
நாங்கள் விட்டு போது இணைப்புகளை அனைத்து மக்கள் மற்றும் அவர்களது இருக்கும் சொத்து தரவு பெற்றார் வழியாக ன் கேள்வி மீண்டும் போகலாம். இடது SQL உதாரணமாக சேர பின்வரும் நினைவில்:
இருந்து மக்கள் இடது சேர்க Realty_peoples மீது Peoples.id = Realty_peoples.id_peoples; |
நாங்கள் கோரிக்கை தெளிவுபடுத்த வேண்டும் மற்றும் வெளியீட்டை குறிப்பிடப் தரவு, இல்லை வைத்துக்கொள்வோம் அங்கு சட்டம் வகை - "ப்ராப்பர்ட்டி". நாங்கள் வெறுமனே சேர்க்க என்றால், இடது SQL, பின்வரும் நிபந்தனைக்கு ஒரு உதாரணம் சேர உபயோகித்துள்ளீர்கள்:
...
எங்கே வகை <> "ப்ராப்பர்ட்டி" |
நாங்கள், எந்த சொத்து கொண்ட பின்வருமாறு பூஜ்ய மதிப்பு பூஜ்ய ஒப்பிடும்போது ஏனெனில் மக்கள் மீது தரவை நீங்கள் இழக்க நேரிடும்:
Query1 | ||||||
ஐடி | L_name | F_name | Middle_name | பிறந்தநாள் | id_realty | வகை |
5 | Gerasimovsky | நம்புகிறேன் | பி | 14.03.1992 | 4 | பொதுவான பாகங்கள் |
6 | Gerasimovsky | ஒலெக் | Albertovich | 01/29/1985 | 4 | பொதுவான பாகங்கள் |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 3 | மொத்த கூட்டு உரிமையை |
8 | Sukhanovskaya | ஜூலியா | ஒய் | 01.10.2001 | 3 | மொத்த கூட்டு உரிமையை |
இந்த காரணங்களால் நிகழும் பிழைகள் தடுக்க, அது இணைப்பு மீது உடனடியாக தேர்வை நிலையில் அமைக்க சிறந்தது. நாம் இடது பின்வரும் கருத்தில் கொள்ள SQL உதாரணமாக சேர தெரிவிக்கின்றன.
SELECT என்பது மக்கள். * Realty_peoples.id_realty, Realty_peoples.type மக்கள் இருந்து இடது சேர்க Realty_peoples மீது (Peoples.id = Realty_peoples.id_peoples மற்றும் வகை <> "சொத்துக்") |
பின்வருமாறு விளைவாக இருக்கும்:
Query1 | ||||||
ஐடி | L_name | F_name | Middle_name | பிறந்தநாள் | id_realty | வகை |
1 | Ivanova | டாரியா | பி | 07/16/2000 | ||
2 | Pugin | விளாடிஸ்லாவ் | Nikolaevich | 29.01.1986 | ||
3 | Evgenin | அலெக்சாண்டர் | Federovich | 04/30/1964 | ||
4 | Annina | அன்பு | பி | 31.12.1989 | ||
5 | Gerasimovsky | நம்புகிறேன் | பி | 14.03.1992 | 4 | பொதுவான பாகங்கள் |
6 | Gerasimovsky | ஒலெக் | Albertovich | 01/29/1985 | 4 | பொதுவான பாகங்கள் |
7 | Sukhanovskaya | ஜூரி | ஏ | 09/25/1976 | 3 | மொத்த கூட்டு உரிமையை |
8 | Sukhanovskaya | ஜூலியா | ஒய் | 01.10.2001 | 3 | மொத்த கூட்டு உரிமையை |
இவ்வாறு, இடது எளிய பின்பற்றுவதன் மூலம் SQL உதாரணமாக சேர, நாம் அனைவரும் உள்ளவர்களின் பட்டியலைக், மேலும் நகரும் பெற்றார், ஒரு பங்கின் / கூட்டு உரிமையை இந்த பண்புகளில் ஒன்றைத்.
ஒரு முடிவுக்கு நான் மீண்டும் தகவல் ஏதேனும் தகவலைச் ஒரு மாதிரி பொறுப்புடன் செயல்பட வேண்டி என்பதை வலியுறுத்த விரும்புகிறேன். இடது எங்களுக்கு முன் திறக்கப்பட்டது பல நுணுக்கங்களை SQL எளிய உதாரணம் சேர, விளக்கம் ஒன்றின் ஒரு - நீங்கள் கூட அடிப்படை கேள்வி எழுதத் தொடங்குவார் முன், நீங்கள் கவனமாக நாம் இறுதியில் பெற வேண்டும் என்பதை புரிந்து வேண்டும். நல்ல அதிர்ஷ்டம்!
Similar articles
Trending Now