শর্ত ছাড়াই কীভাবে mysql JOIN ব্যবহার করবেন?


107

ONবিবৃতি ব্যতীত যোগদানের ক্যোয়ারী লেখা সম্ভব ? এবং এইগুলিতে কীভাবে আলাদা হয়ে যায় LEFT JOIN, RIGHT JOINকাজগুলিতে।


1
ONক্লজটি যেমন টেবিলগুলি সম্পর্কিত তা সার্ভারকে বলে, না। যদি আপনার পৃথক যোগদানের প্রকারগুলি একই ফলাফল দেয় তবে আপনি এটি কোনওভাবে ভুল করছেন এবং কিছু কোড যুক্ত করা আমাদের সমস্যাটি চিহ্নিত করতে সহায়তা করতে পারে। মাঝামাঝি সময়ে জেফ অ্যাটউডের ব্লগটিতে 2 মিনিটের মতো আলাদা আলাদা জোনের প্রকারের দিকে যান।
fvu

উত্তর:


153

মাইএসকিউএল ডকুমেন্টেশন এই বিষয়টিকে কভার করে।

এখানে একটি সংক্ষিপ্তসার। যখন ব্যবহার joinবা inner join, onশর্ত ঐচ্ছিক। এটি এএনএসআই স্ট্যান্ডার্ড থেকে আলাদা এবং প্রায় কোনও অন্য ডাটাবেস থেকে পৃথক। এর প্রভাব ক cross join। একইভাবে, আপনি এর onসাথে একটি ধারা ব্যবহার করতে পারেন cross join, এটি স্ট্যান্ডার্ড এসকিউএল থেকেও পৃথক।

ক্রস জোড় একটি কার্টেসিয়ান পণ্য তৈরি করে - এটি হ'ল প্রথম টেবিল থেকে 1 সারি এবং দ্বিতীয় থেকে 1 সারির প্রতিটি সম্ভাব্য সংমিশ্রণ। তিনটি সারি ('a', 'b' এবং 'c') সহ একটি টেবিলের জন্য ক্রস জোড় এবং চারটি সারি সহ একটি টেবিলের জন্য (বলুন 1, 2, 3, 4) 12 টি সারি থাকবে।

অনুশীলনে, আপনি যদি ক্রস জয়েন করতে চান তবে ব্যবহার করুন cross join:

from A cross join B

এর থেকে অনেক ভাল:

from A, B

এবং:

from A join B -- with no on clause

onডান বা বাম বাহ্যিক যোগদানের জন্য এই ধারাটি প্রয়োজনীয়, সুতরাং আলোচনাটি তাদের জন্য প্রাসঙ্গিক নয়।

আপনার যদি বিভিন্ন ধরণের যোগদানের বিষয়টি বুঝতে হয় তবে আপনার কিছু সম্পর্কিত ডেটাবেজে অধ্যয়ন করতে হবে। স্ট্যাকওভারফ্লো সেই স্তরের আলোচনার জন্য উপযুক্ত জায়গা নয়।


1
ক্রস যোগ দেওয়ার কথা শুনেনি বা এর প্রয়োজন নেই ... আজ অবধি!
goos

11

Http://www.sitepPoint.com / বোঝাপড়া- sql- joins- mysql- database/ এ কিছু উদাহরণ দেখুন

আপনি ক্যোয়ারির মতো 'চালু' এর পরিবর্তে 'ইউএসিং' ব্যবহার করতে পারেন

SELECT * FROM table1 LEFT JOIN table2 USING (id);

3
অতিরিক্ত স্পষ্টতার জন্য, উভয় টেবিলের যোগদানের কলামটি একইভাবে কাজ করতে ব্যবহারের জন্য নামকরণ করতে হবে
rmirabelle
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.