কম্পিউটার, প্রোগ্রামিং
একটি উদাহরণ, বিস্তারিত বিবরণ, ত্রুটির ব্যবহার - বাম (এসকিউএল) যোগদানের
কোনো বাস্তব রিলেশনাল ডাটাবেসের মধ্যে সমস্ত তথ্য একটি পৃথক টেবিলের উপর বিতরণ করা হয়। টেবিল অনেক একে অপরের সাথে যোগাযোগ স্কিম সেট ঘোষণা করা হয়। যাইহোক, সাহায্যে এসকিউএল কোয়েরি এটা ডেটা, বর্তনী নেই এমবেডেড মধ্যে একটি লিঙ্ক লাগাতে বেশ সম্ভব। এই যোগদানের সংযোগ, যা আপনি টেবিল যে কোন সংখ্যার মধ্যে একটি সম্পর্ক গড়ে তুলতে, এবং এমনকি আপাতদৃষ্টিতে অসম তথ্য সংযোগ দেয় সম্পাদন দ্বারা সম্পন্ন করা হয়।
এই নিবন্ধটি বিশেষভাবে কথা বাম বাইরের যোগদানের সম্পর্কে হবে। সংযোগ এই ধরনের বর্ণনা অগ্রসর হওয়ার আগে, কিছু ডাটাবেস সারণি মধ্যে যোগ করুন।
প্রয়োজনীয় টেবিল প্রস্তুতি
উদাহরণস্বরূপ, আমাদের ডাটাবেসের মধ্যে, সেখানে মানুষ এবং তাদের রিয়েল এস্টেট সম্পর্কে তথ্য। পিপলস (মানুষের), যোগাযোগ (রিয়েল এস্টেট), Realty_peoples (টেবিল সম্পর্ক, মানুষ কে কী থেকে সম্পত্তি জন্যে): তিন টেবিল এর উপর ভিত্তি করে সারাংশ। মানুষের টেবিল সঞ্চিত নিম্নলিখিত ডেটা ধরে:
পিপলস | ||||
আইডি | L_name | F_name | Middle_name | জন্মদিন |
1 | ivanova | দারিয়া |
বি | 07/16/2000 |
2 | Pugin | Vladislav | 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, কুই। 9 বিআর। 5 |
3 | আরখনগেলসক অঞ্চল, Severodvinsk, সেন্ট। লেনিন, ঘ। 134, কুই। 85 |
4 | আরখনগেলসক অঞ্চল, Novodvinsk, উল। Proletarshaya, ঘ। 16, কুই। 137 |
5 | আরখনগেলসক, PL। Terekhina, ঘ। 89, কুই। 13 |
সম্পর্ক মানুষ - সম্পত্তি:
Realty_peoples | ||
id_peoples | id_realty | আদর্শ |
7 | 3 | মোট যৌথ মালিকানা |
8 | 3 | মোট যৌথ মালিকানা |
3 | 5 | সম্পত্তি |
7 | 1 | সম্পত্তি |
5 | 4 | প্রচলিত অংশের |
6 | 4 | প্রচলিত অংশের |
বাম যোগদানের (SQL) - বর্ণনা
বাম যৌগ নিম্নলিখিত সিনট্যাক্স রয়েছে:
Table_A বাম JOIN table_B [{অন সম্পৃক্ত} | {Tolbtsov সঙ্গে spisok_ ব্যবহার}] |
আর schematically নিম্নরূপ:
আর এই অভিব্যক্তি "সকল নির্বাচন করুন, ব্যতিক্রম ছাড়া, টেবিল A এবং টেবিল বি লাইন সম্পৃক্ত একমাত্র ম্যাচিং সারি প্রদর্শন করে যেমন অনুবাদ করা হয়। মান "- টেবিল জোড়া একজন জন্য স্ট্রিং টেবিলে পাওয়া যায়নি, তাহলে ফলে কলাম নাল পূরণ করুন।
বেশিরভাগ ক্ষেত্রে, যখন বাম সংযোগ নির্দেশিত হয়, ব্যবহার করে শুধুমাত্র ব্যবহার করা হয় যখন কলাম নামে, যা সংযোগ স্থাপনে পরিকল্পনা করা হয়েছে একই।
বাম যোগ দিন - ব্যবহারের উদাহরণ
বাম সংযোগ সঙ্গে আমরা দেখতে পারেন, সেখানে যদি পিপলস সম্পত্তি তালিকা থেকে সব মানুষ। বাঁদিকের এই কাজের জন্য যোগদানের SQL কোয়েরি উদাহরণ:
নির্বাচন পিপলস। *, Realty_peoples.id_realty, Realty_peoples.type থেকে পিপলস বাম JOIN Realty_peoples অন Peoples.id = Realty_peoples.id_peoples; |
নিম্নলিখিত ফলাফল:
Query1 | ||||||
আইডি | L_name | F_name | Middle_name | জন্মদিন | id_realty | আদর্শ |
1 | ivanova | দারিয়া | বি | 07/16/2000 | ||
2 | Pugin | Vladislav | 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 Vladislav এবং 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 | মোট যৌথ মালিকানা |
মনে হবে দ্বিতীয় সংস্করণ আমাদের সমস্যা শর্ত পূরণ করে। যাইহোক, আমরা অন্য সংযুক্ত করতে শুরু, এবং অন্য টেবিল ফলাফল থেকে তিন জনের ইতিমধ্যে irretrievably সর্বস্বান্ত পারেন। ইনার চেয়ে অতএব, বাস্তবে, যখন একাধিক টেবিল মিশ্রন আরো অনেক কিছু প্রায়ই ব্যবহার করা বাম ও ডান সংযোগ যোগদান করুন।
SQL উদাহরণ যোগদানের বাঁদিকে চেহারা অব্যাহত থাকবে। আমাদের ঘর ঠিকানার সাথে একটি টেবিল সংযুক্ত করুন:
নির্বাচন পিপলস। *, Realty_peoples.id_realty, Realty_peoples.type, Realty.address জাতিদের মধ্য থেকে বাম JOIN Realty_peoples অন Peoples.id = Realty_peoples.id_peoples বাম Realty.id = Realty_peoples.id_realty ভূসম্পত্তি JOIN |
এখন আমরা না শুধুমাত্র আইন এক ধরনের, কিন্তু রিয়েল এস্টেট এর ঠিকানা পাবেন:
Query1 | |||||||
আইডি | L_name | F_name | Middle_name | জন্মদিন | id_realty | আদর্শ | ঠিকানা |
1 | ivanova | দারিয়া | বি | 07/16/2000 | |||
2 | Pugin | Vladislav | Nikolaevich | 29.01.1986 | |||
3 | Evgenin | আলেকজান্ডার | Federovich | 04/30/1964 | 5 | সম্পত্তি | আরখনগেলসক, PL। Terekhina, ঘ। 89, কুই। 13 |
4 | Annina | ভালবাসা | পি | 31.12.1989 | |||
5 | Gerasimovsky | আশা | পি | 14.03.1992 | 4 | প্রচলিত অংশের | আরখনগেলসক অঞ্চল, Novodvinsk, উল। Proletarshaya, ঘ। 16, কুই। 137 |
6 | Gerasimovsky | ওলেগ | Albertovich | 01/29/1985 | 4 | প্রচলিত অংশের | আরখনগেলসক অঞ্চল, Novodvinsk, উল। Proletarshaya, ঘ। 16, কুই। 137 |
7 | Sukhanovskaya | জুরি | উ: | 09/25/1976 | 3 | মোট যৌথ মালিকানা | আরখনগেলসক অঞ্চল, Severodvinsk, সেন্ট। লেনিন, ঘ। 134, কুই। 85 |
7 | Sukhanovskaya | জুরি | উ: | 09/25/1976 | 1 | সম্পত্তি | আরখনগেলসক, উল। Voronin, ঘ। 7, kv.6 |
8 | Sukhanovskaya | জুলিয়া | ওয়াই | 01.10.2001 | 3 | মোট যৌথ মালিকানা |
আরখনগেলসক অঞ্চল, Severodvinsk, সেন্ট। লেনিন, ঘ। 134, কুই। 85 |
বাম যোগ দিন - ত্রুটির টিপিক্যাল ব্যবহার: অবৈধ পদ্ধতি টেবিল
বেসিক বাম বাইরের এ ভুল টেবিল, দুই যোগ দিন:
- সঠিকভাবে টেবিল ক্রমে জন্য তথ্য হারিয়ে গেছে নির্বাচন করেছেন।
- কোথায় ত্রুটি যখন সঙ্গে একটি ক্যোয়ারী ব্যবহার করে টেবিল যোগদান করুন।
প্রথম ভুল বিবেচনা করুন। কোনো সমস্যা সিদ্ধান্ত এর আগে পরিষ্কারভাবে কি আমরা শেষ করতে চাই যে বোঝা উচিত। উপরে এই উদাহরণে, আমরা মানুষ প্রতি একক এক গ্রহণ করে, কিন্তু সম্পূর্ণরূপে সংখ্যা 2, মালিক পাওয়া যায়নি অধীনে বস্তু সম্পর্কে তথ্য হারিয়ে গেছে।
আমরা যদি কিছু জায়গায় একটি ক্যোয়ারী মধ্যে টেবিল সরানো, এবং দিয়ে শুরু করতেন «... ভূসম্পত্তি বাকি থেকে পিপলস যোগদানের ...» কেউ সম্পত্তি, আমরা হারিয়ে হতো না, আপনি মানুষ সম্পর্কে বলব না।
কিন্তু বাম সংযোগ ভীত হতে হবে, পূর্ণ বহিরাগত, যা ফলাফল এবং ম্যাচিং, এবং ম্যাচিং লাইন মধ্যে অন্তর্ভুক্ত করা হয় স্যুইচ না।
সব পরে, নমুনা ভলিউম প্রায়ই খুব বড়, এবং অতিরিক্ত তথ্য আসলে অনর্থক। অথবা তাদের উপলব্ধ সম্পত্তি একটি তালিকা এবং তাদের মালিকদের সঙ্গে সমগ্র সম্পত্তি তালিকা (যদি থাকে) সঙ্গে সব মানুষের: - প্রধান বিষয় জিনিসটা কি আপনি একটি ফলাফল পেতে চান।
বাম যোগ দিন - ত্রুটির টিপিক্যাল ব্যবহার: অনুরোধ সঠিক যখন কোথায় অবস্থার সেটিং
দ্বিতীয় ত্রুটি ডেটা হারানো সঙ্গে যুক্ত, এবং সবসময় অবিলম্বে আপাত হয় না।
যখন আমরা মাধ্যমে সংযোগ সমস্ত লোক এবং তাদের বিদ্যমান সম্পত্তির জন্য ডেটা গ্রহণ করা বাকি ক্যোয়ারী ফিরে যাই। নিম্নলিখিত মনে রাখুন সঙ্গে বাম SQL উদাহরণ যোগ দিন:
থেকে পিপলস বাম JOIN 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 | মোট যৌথ মালিকানা |
এই কারণে ঘটছে থেকে ত্রুটি প্রতিরোধ করার জন্য, এটা সংযোগ পরে অবিলম্বে নির্বাচন শর্ত সেট করতে ভাল। আমরা এসকিউএল উদাহরণ যোগদানের বাম সাথে নিম্নলিখিত বিবেচনা সুপারিশ।
নির্বাচন পিপলস। *, Realty_peoples.id_realty, Realty_peoples.type জাতিদের মধ্য থেকে বাম JOIN Realty_peoples চালু (Peoples.id = Realty_peoples.id_peoples লিখুন <> "বৈশিষ্ট্য") |
ফলাফলের নিম্নরূপ হবে:
Query1 | ||||||
আইডি | L_name | F_name | Middle_name | জন্মদিন | id_realty | আদর্শ |
1 | ivanova | দারিয়া | বি | 07/16/2000 | ||
2 | Pugin | Vladislav | 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