মধ্যে পার্থক্য কি LEFT JOIN
এবং LEFT OUTER JOIN
?
মধ্যে পার্থক্য কি LEFT JOIN
এবং LEFT OUTER JOIN
?
উত্তর:
ডকুমেন্টেশন অনুসারে: FROM (লেনদেন-এসকিউএল) :
<join_type> ::=
[ { INNER | { { LEFT | RIGHT | FULL } [ OUTER ] } } [ <join_hint> ] ]
JOIN
কীওয়ার্ডটি OUTER
alচ্ছিক হিসাবে চিহ্নিত করা হয়েছে (বর্গাকার বন্ধনীতে আবদ্ধ)। এই নির্দিষ্ট ক্ষেত্রে, আপনি নির্দিষ্ট করুন OUTER
বা না কোনও পার্থক্য রাখে না। মনে রাখবেন যে যোগদানের দফার অন্যান্য উপাদানগুলিও alচ্ছিক হিসাবে চিহ্নিত করা হয়েছে, এগুলি ছেড়ে দিলে একটি পার্থক্য হবে।
উদাহরণস্বরূপ, JOIN
ধারাটির পুরো টাইপ-অংশটি alচ্ছিক, INNER
আপনি সুনির্দিষ্টভাবে উল্লেখ করলে ডিফল্ট হয় JOIN
। অন্য কথায়, এটি আইনী:
SELECT *
FROM A JOIN B ON A.X = B.Y
এখানে সমতুল্য সিনট্যাক্সের একটি তালিকা রয়েছে:
A LEFT JOIN B A LEFT OUTER JOIN B
A RIGHT JOIN B A RIGHT OUTER JOIN B
A FULL JOIN B A FULL OUTER JOIN B
A INNER JOIN B A JOIN B
আমি এই অন্যান্য এসও প্রশ্নের যে উত্তরটি রেখেছি তা একবার দেখুন: এসকিউএল বামে FROM লাইনে একাধিক টেবিল বনাম যোগ দিন? ।
INNER JOIN
ডানদিকে এবং কেবল JOIN
বামে রাখা ভাল কি না?
JOIN
।
আপনার প্রশ্নের উত্তর দেওয়ার জন্য বাম যোগদান এবং বাম আউটয়ার জয়েনের মধ্যে কোনও পার্থক্য নেই, তারা ঠিক বলেছে যে ...
ইনার জয়েন - উভয় টেবিলের মধ্যে উপস্থিত থাকলে তথ্য আনে।
বহিঃস্থ সংযোগ হয় 3 প্রকারসমূহ:
LEFT OUTER JOIN
- বাম টেবিলটিতে উপস্থিত থাকলে তথ্য আনে।RIGHT OUTER JOIN
- সঠিক টেবিলে উপস্থিত থাকলে তথ্য আনে।FULL OUTER JOIN
- দুটি টেবিলের যে কোনও একটিতে উপস্থিত থাকলে তথ্য আনে।ক্রস যোগদান করুন , নাম হিসাবে বোঝা যায় [n X m]
যে কি সবকিছুতে যোগ দেয়।
দৃশ্যকল্প যেখানে আমরা কেবল (ইন যোগ দেওয়ার জন্য টেবিল তালিকাবদ্ধ করে অনুরূপ FROM
ধারা SELECT
, বিবৃতি) তাদের পৃথক করার জন্য কমা ব্যবহার করে।
উল্লেখযোগ্য বিষয়গুলি:
JOIN
তবে ডিফল্টরূপে এটি একটি INNER JOIN
।OUTER
যোগদান হতে হবে LEFT
| RIGHT
| FULL
আপনি সহজভাবে বলতে পারবেন না OUTER JOIN
।OUTER
কীওয়ার্ডটি ফেলে দিতে পারেন এবং কেবল LEFT JOIN
বা বলতে পারেন RIGHT JOIN
বা FULL JOIN
।যারা আরও ভাল উপায়ে এগুলি দেখতে চান তাদের জন্য, দয়া করে এই লিঙ্কটিতে যান: এসকিউএল এর একটি ভিজ্যুয়াল ব্যাখ্যা যোগদান করে
CROSS JOIN
হিসাবে একই FULL JOIN
?
Cross Join
এবং Full Outer Join
... এর মধ্যে পার্থক্য সম্পর্কে আপনার মূল্যবান উত্তরে একটি বিশেষ নোট যুক্ত করার কথা বিবেচনা করুন some
বাম যোগ এবং বাম বাহিরের যোগদানের মধ্যে পার্থক্য কী?
কিছুই না । LEFT JOIN
এবং LEFT OUTER JOIN
সমতুল্য।
OUTER
লাগবে।
আমি একজন পোস্টগ্রিজএসকিউএল ডিবিএ, যতদূর আমি বাইরের সাথে মিলিত না পার্থক্যের মধ্যে পার্থক্য বুঝতে পেরেছি এমন একটি বিষয় যা পুরো ইন্টারনেট জুড়ে যথেষ্ট আলোচনা হয়েছে। আজ অবধি আমি এই দুজনের মধ্যে কোনও তফাত দেখিনি; তাই আমি আরও এগিয়ে গিয়েছিলাম এবং আমি তাদের মধ্যে পার্থক্যটি সন্ধান করার চেষ্টা করি। শেষে আমি এটি সম্পর্কে পুরো ডকুমেন্টেশন পড়েছি এবং আমি এর উত্তর খুঁজে পেয়েছি,
সুতরাং আপনি যদি নথির দিকে নজর রাখেন (কমপক্ষে PostgreSQL এ) আপনি এই শব্দবন্ধটি খুঁজে পেতে পারেন:
অন্য কথায়,
LEFT JOIN
এবং LEFT OUTER JOIN
একই
RIGHT JOIN
এবং RIGHT OUTER JOIN
একই
আমি আশা করি যারা এখনও উত্তরটি খুঁজতে চেষ্টা করছেন তাদের পক্ষে এটি একটি অবদান হতে পারে।
Left Join
এবং Left Outer Join
এক এবং একই । পূর্ববর্তীটি পরবর্তীকালের জন্য সংক্ষিপ্তকরণ। একই সম্পর্ক Right Join
এবং Right Outer Join
সম্পর্ক সম্পর্কে বলা যেতে পারে । বিক্ষোভ সাম্য চিত্রিত করবে। প্রতিটি ক্যোয়ারির কার্যকারী উদাহরণগুলি এসকিউএল ফিডলের মাধ্যমে সরবরাহ করা হয়েছে । এই সরঞ্জামটি ক্যোয়ারির হেরফেরের জন্য হাতগুলির অনুমতি দেবে।
প্রদত্ত
বাম যোগদান এবং বাম বহিরাগত যোগদান
ফলাফল
ডান যোগদান এবং রাইট আউটার জয়েন
ফলাফল
আমি নিম্নলিখিত ক্রমে যোগদান সম্পর্কে ভাবতে সহজ মনে করি:
যতক্ষণ না আমি এই (তুলনামূলক) সহজ মডেলটি আবিষ্কার করেছি, জিনগুলি সর্বদা একটি কালো শিল্প ছিল were এখন তারা নিখুঁত জ্ঞান।
আশা করি এটি বিভ্রান্ত করার চেয়ে আরও বেশি সহায়তা করে।
বাম / রাইট এবং বাম আউটর / রাইট আউটর একই কেন? এই শব্দভাণ্ডার কেন তা ব্যাখ্যা করি। বুঝতে হবে যে বাম এবং রাইটস যোগ দেয় আউটরের যোগদানের নির্দিষ্ট ক্ষেত্রে এবং তাই আউটর লেফট / আউট রাইটের বাইরে আর কিছু হতে পারে না। বহিঃস্থ সংযোগ এছাড়াও বলা হয় পূর্ণ যেমন বাঁদিকে বিরোধিতা বহিঃস্থ এবং অধিকার যোগদান করে যে আংশিক বাহ্য ফলাফল যোগ দিন। প্রকৃতপক্ষে:
Table A | Table B Table A | Table B Table A | Table B Table A | Table B
1 | 5 1 | 1 1 | 1 1 | 1
2 | 1 2 | 2 2 | 2 2 | 2
3 | 6 3 | null 3 | null - | -
4 | 2 4 | null 4 | null - | -
null | 5 - | - null | 5
null | 6 - | - null | 6
OUTER JOIN (FULL) LEFT OUTER (partial) RIGHT OUTER (partial)
এই অপারেশনগুলির এলিয়াসগুলি কেন রয়েছে তা এখন স্পষ্ট হয়েছে, পাশাপাশি এটি স্পষ্ট যে কেবলমাত্র 3 টি ঘটনা বিদ্যমান: ইনার, আউটর, ক্রস। OUTER এর জন্য দুটি সাব-কেস সহ। শব্দভাণ্ডার, শিক্ষকরা যেভাবে এটি ব্যাখ্যা করেছেন, তেমনি উপরে কিছু উত্তরও প্রায়শই এটি দেখে মনে হচ্ছে যে এখানে প্রচুর পরিমাণে যোগ দেওয়া হয়েছে। তবে এটি আসলে খুব সাধারণ।
JOIN
বোঝায় INNER JOIN
" বাইরের যোগদানের ভোকাবের জন্য আপনার যুক্তির সাথে খাপ খায়?
আপনার প্রশ্নের উত্তর দিতে
SQL এর যে সার্ভার যোগদান করে বাক্য গঠন বাহ্য ঐচ্ছিক
এটি এমএসডিএন নিবন্ধে উল্লেখ করা হয়েছে: https://msdn.microsoft.com/en-us/library/ms177634(v=sql.130).aspx
সুতরাং নীচের তালিকাটি OUTER এর সাথে এবং ছাড়াই সমতুল্য বাক্য গঠনগুলিতে যোগদান করে
LEFT OUTER JOIN => LEFT JOIN
RIGHT OUTER JOIN => RIGHT JOIN
FULL OUTER JOIN => FULL JOIN
অন্যান্য সমতুল্য বাক্য গঠন
INNER JOIN => JOIN
CROSS JOIN => ,
দৃot়ভাবে ডটনেট মোব আর্টিসের সুপারিশ করুন: স্কেল সার্ভারে যোগ দেয়
গ) বাইরের যোগদান:
There are three type of outer join
1) Left Outer Join = Left Join
2) Right Outer Join = Right Join
3) Full Outer Join = Full Join
আশা করি এটি সাহায্য করবে
মূলত তিন প্রকারের জোইন রয়েছে
বাইরের: তিন ধরণের হয়
ক্রস যোগ দিন: সমস্ত কিছুতে যোগ দেয়
সিনট্যাকটিক চিনি, নৈমিত্তিক পাঠকের কাছে এটি আরও স্পষ্ট করে তোলে যে যোগদানটি কোনও অন্তর্গত নয়।
এই প্রশ্নের প্রসঙ্গে আমি 2 টি 'অ্যাপ্লাইওয়াই' অপারেটরও পোস্ট করতে চাই:
যোগদান :
অন্তর্ভুক্ত যোগদান করুন = যোগ দিন
আউট জয়েন
বাম আউটয়ার জয়েন = বাম যোগদান
ডানদিকে যোগ দিন = সঠিক যোগদান
সম্পূর্ণ আউট জয়েন = সম্পূর্ণ যোগদান
যোগ দিন
স্ব-যোগদান : এটি যোগদানের ঠিক আলাদা কোনও ধরণের নয়। এটি মূলত উপরের যে কোনও একটিতে যোগ দেয় ব্যবহার করে নিজেই একটি টেবিলে যোগ দিচ্ছে। তবে আমি অনুভব করেছি যে এটি এসকিউএল বিকাশকারী সম্প্রদায়ের অনেকের কাছ থেকে এই শব্দটি শুনবেন বলে প্রসঙ্গে জিন আলোচনাগুলি উল্লেখ করার মতো।
আবেদন করুন :
https://www.mssqltips.com/sqlservertip/1958/sql-server-cross-apply-and-outer-apply/
https://sqlhints.com/2016/10/23/outer-apply-in-sql-server/
বাস্তব জীবনের উদাহরণ, এসকিউএল-এ কখন আউটর / ক্রস প্রয়োগ করবেন
আমি অ্যাপ্লাইওয়্যার অপারেটরকে খুব উপকারী বলে মনে করি যেহেতু তারা সাবকিউরিতে একই গণনা করার চেয়ে ভাল পারফরম্যান্স দেয়। তারা এসকিউএল সার্ভারের পুরানো সংস্করণগুলিতে অনেক বিশ্লেষণমূলক ফাংশন প্রতিস্থাপন করছে। এ কারণেই আমি বিশ্বাস করি যে যোগদানের সাথে স্বাচ্ছন্দ্য বোধ করার পরে একজন এসকিউএল বিকাশকারীকে পরবর্তী অ্যাপ্লিকেশন অপারেটরগুলি শেখার চেষ্টা করা উচিত।
OUTER
শব্দ ঐচ্ছিক।