এসকিউয়েল ইনার জয়েন টিউটোরিয়ালঃ SQL INNER JOIN Keyword

এসকিউয়েল ইনার জয়েন টিউটোরিয়ালঃ

SQL INNER JOIN Keyword

দুটি সম্পর্কযুক্ত টেবিল থেকে ডেটা তোলার জন্য এসকিউয়েলে কিছু জয়েন (join) ব্যবহার করা হয়। বেশির ভাগ সময়েই ৩টি জয়েন ব্যবহার হয়ে থাকে। যেমনঃ
১. ইনার জয়েন (INNER JOIN),
২. লেফট জয়েন (LEFT JOIN),
৩. রাইট জয়েন (RIGHT JOIN)

এই টিউটোরিয়ালে ইনার জয়েন নিয়ে আলোচনা করা হলঃ
ইনার জয়েনঃ
প্রথমে দুটি টেবিল তৈরী করা যাক যাদের মধ্যে রিলেশন আছে।
এর আগে "users" টেবিল তৈরী করে সেটার সাথে one-to-one রিলেশন করে আরেকটা "profiles" টেবিল তৈরীর কোড নিচে দেয়া হলঃ

01.CREATE TABLE IF NOT EXISTS `profiles` (
02.`profile_id` int(11) NOT NULL AUTO_INCREMENT,
03.`about_me` text NOT NULL,
04.`favorite_color` varchar(200) NOT NULL,
05.`user_id` int(11) NOT NULL,
06.PRIMARY KEY (`profile_id`),
07.KEY `user_id` (`user_id`)
08.) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=7 ;
09.
10.
11.INSERT INTO `profiles` (`profile_id`, `about_me`, `favorite_color`, `user_id`) VALUES
12.(4, 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis ...', 'black', 1),
13.(5, 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis ...', 'green', 2),
14.(6, 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis ...', 'maroon', 3);

এই কোয়েরিটি চালান দেখবেন ডেটাসহ একটা টেবিল তৈরী হবে।
INNER JOIN দিয়ে ঐসব ডেটাগুলি (সারিগুলি) তুলে আনা যায় (দুই টেবিল থেকেই) যেগুলির মধ্যে রিলেশন বিদ্যমান। উপরের টেবিলদুটি থেকে ডেটা তুলে আনার জন্য নিচের কোয়েরিটি রান করান-

1.SELECT username, age, favorite_color FROM users INNER JOIN profiles ON users.user_id = profiles.user_id;

এর আউটপুট ৩টি সারি আসবে। কারন "profiles" টেবিলে "user_id" কলামটি দেখুন যেটা এই টেবিলের ফরেন কি, এখানে ১, ২ এবং ৩ নম্বর ইউজারের জন্য একটি করে সারি আছে। যদি এখানে কোন সারিই না থাকত তাহলে কোন আউটপুটই আসত না, একটা সারি থাকলে একটা আউটপুট আসত। আরও একভাবে এই কোয়েরিটি করা যায়ঃ

view source
print?
1.SELECT username, age, favorite_color FROM users INNER JOIN profiles USING(user_id)

USING কিওয়ার্ডটি তখনি ব্যবহার করা যাবে যখন দুটো টেবিলেই "user_id" কলামটির নাম একই হবে। এই "user_id" কলামটি দিয়ে টেবিল দুটি সংযোগ হয়েছে, এটার নাম দিলাম ধরুন ব্রিজ কলাম।

ধন্যবাদ।

Permanent link to this article: http://bangla.sitestree.com/%e0%a6%8f%e0%a6%b8%e0%a6%95%e0%a6%bf%e0%a6%89%e0%a7%9f%e0%a7%87%e0%a6%b2-%e0%a6%87%e0%a6%a8%e0%a6%be%e0%a6%b0-%e0%a6%9c%e0%a7%9f%e0%a7%87%e0%a6%a8-%e0%a6%9f%e0%a6%bf%e0%a6%89%e0%a6%9f%e0%a7%8b/