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

MySQL-এ নির্দিষ্ট শর্তের ভিত্তিতে কয়েকটি সারি সিলেক্ট করা

NOT IN এবং সাবকোয়েরি ব্যবহার করে নির্দিষ্ট শর্ত পূরণ না করা সারিগুলো সিলেক্ট করা যায়।

উদাহরণ:

টেবিল তৈরি:

CREATE TABLE DemoTable625 (
    StudentId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    StudentFirstName VARCHAR(100),
    StudentScore INT
);

রেকর্ড যোগ করা:

INSERT INTO DemoTable625(StudentFirstName, StudentScore) VALUES
('John', 98), ('Chris', 39), ('Bob', 41), ('David', 40), ('Robert', 52);

সব রেকর্ড দেখানো:

SELECT * FROM DemoTable625;

আউটপুট:

+-----------+------------------+--------------+
| StudentId | StudentFirstName | StudentScore |
+-----------+------------------+--------------+
| 1         | John             | 98           |
| 2         | Chris            | 39           |
| 3         | Bob              | 41           |
| 4         | David            | 40           |
| 5         | Robert           | 52           |
+-----------+------------------+--------------+

স্কোর ৫০-এর কম যাদের নয়, তাদের সিলেক্ট:

SELECT * FROM DemoTable625
WHERE StudentFirstName NOT IN (
    SELECT StudentFirstName FROM DemoTable625
    WHERE StudentScore < 50
);

ফলাফল:

+-----------+------------------+--------------+
| StudentId | StudentFirstName | StudentScore |
+-----------+------------------+--------------+
| 1         | John             | 98           |
| 5         | Robert           | 52           |
+-----------+------------------+--------------+

ব্যাখ্যা: ইনার কোয়েরি স্কোর < ৫০ যাদের (Chris, Bob, David) তাদের নাম রিটার্ন করে। আউটার কোয়েরি সেই নামগুলো বাদ দিয়ে বাকিগুলো সিলেক্ট করে। সরল পদ্ধতি: `WHERE StudentScore >= 50`। NOT IN সাবকোয়েরি নিয়ে কাজ করলে NULL ভ্যালু থাকলে অপ্রত্যাশিত ফলাফল দিতে পারে (NOT IN (..., NULL) সবসময় FALSE)।

  1. MySQL টেবিল থেকে শুধু ৩টি অর্ডার করা সারি কীভাবে বের করবেন?

  2. MySQL-এ শর্তের ভিত্তিতে নির্দিষ্ট রো ডিলিট করা (WHERE + LIMIT)

  3. MySQL에서 IS NOT NULL로 NULL 제외하고 NOT NULL 값만 다른 테이블로 복사하기

  4. MySQL-এ নির্দিষ্ট সারি মাত্র ডিলিট করার পদ্ধতি (NOT IN ব্যবহার)