আপনি যখন একটি ডাটাবেস অনুসন্ধান করছেন, তখন আপনি দুটি বা তার বেশি ফলাফল একত্রিত করতে চাইতে পারেন SELECT
বিবৃতি উদাহরণ স্বরূপ, আপনি যে শহরগুলিতে আপনার গ্রাহকরা ভিত্তিক এবং যে শহরে আপনার ব্যবসার শাখা রয়েছে তার একটি তালিকা পেতে চাইতে পারেন৷ আপনি এই লক্ষ্য অর্জনের জন্য দুটি প্রশ্ন চালাতে পারেন, কিন্তু আপনি একটি প্রশ্নের ফলাফল পেতে চাইতে পারেন।
সেখানেই SQL UNION
অপারেটর আসে। UNION
দুই বা ততোধিক SELECT
-এর ফলাফল একত্রিত করতে ক্লজ ব্যবহার করা যেতে পারে একটি একক ফলাফল সেটে প্রশ্ন।
এই টিউটোরিয়ালে, আমরা SQL UNION
-এর মূল বিষয়গুলি ভেঙে দিতে যাচ্ছি অপারেটর এবং আলোচনা করুন যেখানে আপনি একটি ডাটাবেসের সাথে কাজ করার সময় এই কমান্ডটি ব্যবহার করতে চান।
কোয়েরি রিফ্রেসার
প্রোগ্রামাররা একটি ডাটাবেস থেকে তথ্য পুনরুদ্ধার করতে প্রশ্ন ব্যবহার করে। প্রশ্নগুলি প্রায় সবসময়ই SQL SELECT
দিয়ে শুরু হয় বিবৃতি এবং মানদণ্ডের সেটের উপর ভিত্তি করে ডেটা পুনরুদ্ধার করতে ব্যবহৃত হয়। প্রশ্নে সাধারণত FROM
অন্তর্ভুক্ত থাকে অপারেটর, যা বলে যে কোন টেবিলটি জিজ্ঞাসা করা হবে, অন্যান্য অপারেটরদের মধ্যে যা ফলাফল ডেটা ফিল্টার করতে পারে৷
এখানে একটি SQL
-এর সাধারণ সিনট্যাক্স রয়েছে প্রশ্ন:
SELECT column_name FROM table_name WHERE your_condititions_are_met;
এখানে একটি SQL
এর একটি উদাহরণ কোয়েরি যা সমস্ত কর্মচারীর নামের তালিকা প্রদান করে:
SELECT name FROM employees;
আমাদের ক্যোয়ারী থেকে আউটপুট নিম্নরূপ:
নাম |
লুক মাইক হান্না জিওফ অ্যালেক্সিস এমা জোনাহ |
(৭ সারি)
81% অংশগ্রহণকারী বলেছেন যে তারা বুটক্যাম্পে যোগ দেওয়ার পরে তাদের প্রযুক্তিগত কাজের সম্ভাবনা সম্পর্কে আরও আত্মবিশ্বাসী বোধ করেছেন। আজই একটি বুটক্যাম্পের সাথে মিলিত হন৷
৷গড় বুটক্যাম্প গ্র্যাড একটি বুটক্যাম্প শুরু করা থেকে শুরু করে তাদের প্রথম চাকরি খোঁজা পর্যন্ত ক্যারিয়ারের পরিবর্তনে ছয় মাসেরও কম সময় কাটিয়েছে।
আপনি যদি একাধিক কলাম থেকে তথ্য পুনরুদ্ধার করতে চান, তাহলে আপনি কমা দিয়ে কলামের নাম আলাদা করে তা করতে পারেন। আপনি যদি প্রতিটি কলাম থেকে ডেটা পেতে চান তবে আপনি একটি তারকাচিহ্ন ব্যবহার করতে পারেন (*
) পরিবর্তে, যা একটি টেবিলের প্রতিটি কলাম প্রতিনিধিত্ব করে।
SQL ইউনিয়ন
SQL UNION
অপারেটর ব্যবহার করা যেতে পারে দুই বা ততোধিক প্রশ্নের ফলাফলকে একটি একক প্রতিক্রিয়াতে একত্রিত করতে যার ফলাফল একটি টেবিলে।
UNION
ব্যবহার করার জন্য অপারেটর, দুটি শর্ত পূরণ করতে হবে। প্রথমত, নতুন কলামগুলির ডেটা প্রকারগুলি সামঞ্জস্যপূর্ণ হওয়া উচিত - যদি একটি সারণীতে বেতন একটি পূর্ণসংখ্যা হয় এবং অন্যটিতে একটি ফ্লোট হয় তবে ইউনিয়নটি কাজ করবে না৷ দ্বিতীয়ত, আপনার প্রশ্নে কলামের সংখ্যা এবং ক্রম অবশ্যই একই হতে হবে।
এখানে একটি SQL UNION
এর সিনট্যাক্স রয়েছে প্রশ্ন:
SELECT column_name FROM table1_name UNION SELECT column_name FROM table2_name;
কিভাবে SQL UNION
ব্যাখ্যা করার জন্য একটি উদাহরণ ব্যবহার করা যাক অপারেটর কাজ করে। ধরা যাক যে আমরা এমন একটি ব্যবসা যা আমাদের সমস্ত গ্রাহকদের কাছে একটি ঘোষণা পাঠাতে হবে। আমরা চাই যে সমস্ত কর্মচারীদের এই ঘোষণাটি পাঠানো হোক যাতে তারা কী ঘটছে সে সম্পর্কে সচেতন থাকে৷
আমরা নিম্নলিখিত SQL
ব্যবহার করতে পারি আমাদের গ্রাহক এবং আমাদের কর্মচারী উভয়ের ইমেলের একটি তালিকা পেতে প্রশ্ন করুন যাতে আমরা তাদের সমস্ত ঘোষণা পাঠাতে পারি:
SELECT name, email FROM employees UNION SELECT name, email FROM customers;
এখানে আমাদের প্রশ্ন থেকে আউটপুট:
নাম | ইমেল |
এমা | [email protected] |
জোনা | [email protected] |
হানা | [email protected] |
লুক | [email protected] |
জন | [email protected] |
জিওফ | [email protected] |
অ্যালেক্সিস | [email protected] |
ফ্রেড | [email protected] |
ইরিন | [email protected] |
ক্যাটি | [email protected] |
অ্যান | [email protected] |
টম | [email protected] |
মাইক | [email protected] |
হানা | [email protected] |
(14 সারি)
আপনি দেখতে পাচ্ছেন, আমাদের UNION
ক্যোয়ারী আমাদের গ্রাহক এবং আমাদের কর্মচারী উভয়ের জন্য সমস্ত নাম এবং ইমেল ঠিকানার একটি তালিকা ফিরিয়ে দিয়েছে৷
এটা লক্ষণীয় যে UNION
অপারেটর সম্মিলিত চূড়ান্ত ফলাফল থেকে ডুপ্লিকেট সারিগুলি সরিয়ে দেয়। এর মানে হল যে যদি আমাদের কর্মচারীদের মধ্যে একজন গ্রাহকও হন, তাহলে আমরা শুধুমাত্র একবার তাদের তথ্য দেখতে পেতাম।
উপরের উদাহরণে এটি কাজ করার সময়, আপনি যদি ডুপ্লিকেট সারি সহ একটি ফলাফল ফেরত দিতে চান তবে আপনাকে ALL
যোগ করতে হবে আপনার প্রশ্নের কীওয়ার্ড। এখানে একটি উদাহরণ:
SELECT name, email FROM employees UNION ALL SELECT name, email FROM customers;
উপসংহার
এই টিউটোরিয়ালে আমরা UNION
কীভাবে ব্যবহার করতে হয় তা ভেঙে দিয়েছি একটি SQL
-এ অপারেটর সার্ভার আমরা যেমন আলোচনা করেছি, UNION
দুটি টেবিল থেকে তথ্য পেতে এবং একটি একক টেবিলে প্রতিক্রিয়া একত্রিত করতে ব্যবহার করা যেতে পারে। উদাহরণস্বরূপ, আপনি যদি আপনার সরবরাহকারীদের এবং পরিবেশকদের ঠিকানাগুলির একটি তালিকা পেতে চান—যা উভয়ই আলাদা টেবিলে সংরক্ষিত ছিল—আপনি একটি UNION
ব্যবহার করতে পারেন প্রশ্ন।