কম্পিউটার টিউটোরিয়াল

MySQL-এ JOIN ব্যবহার করে অন্য টেবিল থেকে ID দিয়ে Username বের করা

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 ... যাতে অ্যাম্বিগুইটি না হয়।

  1. MySQL Workbench-এ সার্ভার থেকে ER মডেল জেনারেট করা

  2. Java দিয়ে MySQL ডেটাবেস থেকে লাস্ট রেকর্ড পাওয়া

  3. MySQL-এ INSERT INTO SELECT ব্যবহার করে অন্য টেবিল থেকে স্ট্রিং মান নিয়ে রো যোগ করা

  4. Node.js ব্যবহার করে MySQL টেবিল তৈরি করা