SQL সার্ভারে EXCEPT অপারেটরটি প্রথম SELECT স্টেটমেন্টের সারিগুলি ফেরাতে ব্যবহৃত হয় যা দ্বিতীয় SELECT স্টেটমেন্টে ফেরত দেওয়া হয় না। প্রতিটি SELECT স্টেটমেন্টে একটি ডেটা সেট থাকবে। ব্যতীত অপারেটর 1ম সেট থেকে রেকর্ড নেয় এবং সেট 2 থেকে ফলাফলগুলি সরিয়ে দেয়৷
কোয়েরি ছাড়া
৷
কোয়েরি ইলাস্ট্রেশন ছাড়া
ব্যাখ্যা: ব্যতীত ক্যোয়ারী নীল এলাকায় রেকর্ড ফেরত দেয়, শুধুমাত্র ডেটা সেট 1 এ এবং ডেটা সেট 2 এ নয়।
ব্যতীত ক্যোয়ারীতে প্রতিটি SELECT স্টেটমেন্টে একই ডেটা টাইপের সাথে সেট করা ফলাফলে একই সংখ্যক ফিল্ড থাকতে হবে।
অপারেটর সিনট্যাক্স ছাড়া
SELECT bieu_thuc1thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kien]
EXCEPT
SELECT bieu_thuc1, bieu_thuc2, … bieu_thucn
FROM bang
[WHERE dieu_kie
n];
ভেরিয়েবল নাম বা পরিবর্তনশীল মান
bieu_thuc
আপনি যে কলাম বা মানটি SELECT স্টেটমেন্টের মধ্যে তুলনা করতে চান৷ প্রতিটি SELECT বিবৃতিতে তাদের একই তথ্য ক্ষেত্রে থাকা দরকার নেই তবে সংশ্লিষ্ট কলামগুলিতে অবশ্যই একই ডেটা থাকতে হবে৷
state
টেবিল সেখান থেকে রেকর্ড পেতে চায়৷ FROM ক্লজে কমপক্ষে 1টি টেবিল থাকতে হবে।
WHERE dieu_kien
বিকল্প৷ নির্বাচিত রেকর্ডের জন্য শর্ত অবশ্যই পূরণ করতে হবে।
দ্রষ্টব্য:
- দুটি SELECT স্টেটমেন্টে অবশ্যই একই সংখ্যক এক্সপ্রেশন থাকতে হবে।
- প্রতিটি SELECT স্টেটমেন্টের সংশ্লিষ্ট কলামে একই ডেটা টাইপ থাকতে হবে।
- ব্যতীত অপারেটর প্রথম সিলেক্ট স্টেটমেন্ট থেকে সমস্ত রেকর্ড ফেরত দেয় এবং দ্বিতীয় সিলেক্ট স্টেটমেন্টে নয়।
- এসকিউএল সার্ভারে অপারেটর ছাড়া ওরাকলের MINUS অপারেটরের সমতুল্য।
উদাহরণস্বরূপ - 1টি অভিব্যক্তি সহ
SELECTsanpham_id
FROM sanpham
EXCEPT
SELECT sanpham_id
FROM hang
tonkho;
এই EXCEPT অপারেটরের উদাহরণে, ফলাফলটি ভ্যারিয়েবলের টেবিলে সমস্ত sanpham_id মান প্রদান করে এবং হ্যাংটনখো টেবিলে নয়। এর মানে হল যে যদি sanpham_id মান উভয় টেবিলে উপলব্ধ থাকে, তাহলে এটি ফেরত দেওয়া হবে না।
উদাহরণস্বরূপ - একাধিক অভিব্যক্তি সহ
SELECT danhba_id, ho, ten
FROM danhba
WHERE ho = 'Anderson'
EXCEPT
SELECT nhanvien_id, ho, ten
FROM nhanvien
;
এই উদাহরণে, ক্যোয়ারীটি যোগাযোগ আইডি সহ নম্বা টেবিলে রেকর্ডগুলি ফেরত দেয়, প্রথম এবং শেষ নামগুলি কর্মচারীর আইডি, পদবি এবং প্রথম নামের সাথে মেলে না টেবিল।
উদাহরণস্বরূপ - ORDER BY ধারাটি ব্যবহার করুন
SELECT nhacung_id, nhacung_ten
FROM nhacung
WHERE bang = 'Florida'
EXCEPT
SELECT congty_id, congty_ten
FROM congty
WHERE congty_id <= 400
ORDER BY 2;
এই উদাহরণে, যেহেতু দুটি SELECT স্টেটমেন্টে কলামের নাম আলাদা, তাই ফলাফল সেটে অবস্থানের মাধ্যমে ORDER BY ধারা দ্বারা কলামটি উল্লেখ করা সহজ। উপরের উদাহরণে, আমরা 2 এর মাধ্যমে ORDER BY বাক্যাংশের মাধ্যমে nhacung_ten / congty_ten ফলাফলটিকে আরোহী ক্রমে ফিল্টার করি।
কারণ nhacung_ten / congty_ten ফলাফল সেটে ২য়।