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)।