MySQL-এ দুটি টেবিল জয়িন করে এক টেবিলের ID দিয়ে অন্য টেবিল থেকে username বের করা যায়।
উদাহরণ
টেবিল ১ (demo77) - ইউজার ইনফো:
CREATE TABLE demo77 (
userid INT NOT NULL PRIMARY KEY,
username VARCHAR(20)
);
INSERT INTO demo77 VALUES (1, 'John'), (2, 'Bob'), (3, 'Mike');
টেবিল ২ (demo78) - কান্ট্রি ইনফো (FK):
CREATE TABLE demo78 (
id INT NOT NULL PRIMARY KEY,
countryname VARCHAR(20),
CONSTRAINT fk_id FOREIGN KEY (id) REFERENCES demo77(userid)
);
INSERT INTO demo78 VALUES (1, 'US'), (2, 'AUS');
কোয়েরি
জয়িন করে username বের করা:
SELECT username FROM demo77 JOIN demo78 ON demo77.userid = demo78.id;
আউটপুট
+----------+ | username | +----------+ | John | | Bob | +----------+
ব্যাখ্যা:
JOIN(INNER JOIN) - দুটি টেবিলে মিলে যাওয়া ID 가진 রোগুলোই ফেরত দেয়।- demo77-এ userid=3 (Mike) আছে, কিন্তু demo78-এ id=3 নেই -> Mike আউটপুটে নেই।
LEFT JOINব্যবহার করলে Mike-ও আসত (countryname = NULL)।- ফরেন কী কনস্ট্রেইন্ট (
fk_id) নিশ্চিত করে demo78-এ শুধু demo77-এ থাকা userid ইনসার্ট হয়।
সিলেক্টে কলাম স্পেসিফাই: SELECT demo77.username, demo78.countryname ... যাতে অ্যাম্বিগুইটি না হয়।