Subqueries এবং Complex SQL Queries

SAS SQL (PROC SQL) - স্যাস (SAS) - Big Data and Analytics

404

SAS-এ SQL Queries ব্যবহৃত হয় ডেটাবেস বা ডেটাসেট থেকে তথ্য রিট্রিভ (retrieve) করার জন্য। Subqueries এবং Complex SQL Queries ব্যবহার করে আপনি আরও জটিল বিশ্লেষণ এবং ডেটার মধ্যে সম্পর্ক খুঁজে বের করতে পারেন। সেক্ষেত্রে, Subqueries একটি SQL কুয়েরি এর ভিতরে অন্য SQL কুয়েরি ব্যবহার করার পদ্ধতি এবং Complex SQL Queries-এর মাধ্যমে একাধিক কুয়েরি একত্রে ব্যবহার করা হয়।


Subqueries in SAS

Subqueries হল একটি SQL কুয়েরির মধ্যে অন্য একটি কুয়েরি যা SELECT, INSERT, UPDATE, বা DELETE কুয়েরির অংশ হিসেবে কাজ করে। একটি Subquery মূল কুয়েরির মান বা ফলাফল প্রদান করে, যা পরে প্রধান কুয়েরির মধ্যে ব্যবহার করা হয়।

Subquery এর গঠন:

SELECT column1, column2
FROM table_name
WHERE column_name = (SELECT column_name FROM another_table WHERE condition);

এখানে:

  • প্রথম কুয়েরি মূল ডেটাসেট বা টেবিল থেকে ডেটা নির্বাচন করবে।
  • দ্বিতীয় কুয়েরি (Subquery) থেকে মান নির্বাচন করবে এবং এটি মূল কুয়েরির শর্ত হিসাবে ব্যবহৃত হবে।

উদাহরণ: Subquery ব্যবহার করে সেলের দাম নির্বাচন

proc sql;
   select product_name, price
   from products
   where price = (select max(price) from products);
quit;

এখানে:

  • প্রথম কুয়েরিটি products টেবিল থেকে product_name এবং price নির্বাচন করবে।
  • Subquery (যে অংশটি max(price) সিলেক্ট করছে) এই দামটি নির্বাচন করবে যেটি সব সেলের মধ্যে সর্বাধিক।

Complex SQL Queries in SAS

Complex SQL Queries হল SQL কুয়েরি যা একাধিক অংশ বা শর্ত নিয়ে গঠিত, যেমন JOIN, GROUP BY, HAVING, এবং ORDER BY। এই কুয়েরিগুলি ডেটার মধ্যে সম্পর্ক খুঁজে বের করতে এবং বিশ্লেষণ করতে ব্যবহৃত হয়।

১. JOIN (একাধিক টেবিল সংযুক্ত করা)

JOIN ব্যবহৃত হয় একাধিক টেবিলকে যুক্ত করার জন্য। এতে আপনি বিভিন্ন টেবিলের মধ্যে সম্পর্ক তৈরি করে একটি কম্বাইনড আউটপুট তৈরি করতে পারেন।

উদাহরণ: INNER JOIN ব্যবহার

proc sql;
   select a.product_name, b.category_name
   from products as a
   inner join categories as b
   on a.category_id = b.category_id;
quit;

এখানে:

  • INNER JOIN দুটি টেবিলকে যুক্ত করছে, যেখানে products টেবিল এবং categories টেবিলের মধ্যে category_id ফিল্ডের মাধ্যমে সম্পর্ক তৈরি হয়েছে।

২. GROUP BY (গ্রুপিং ডেটা)

GROUP BY ব্যবহার করা হয় ডেটাকে নির্দিষ্ট ভেরিয়েবলের ভিত্তিতে গ্রুপ করার জন্য, এবং গ্রুপিংয়ের পরে aggregate functions যেমন SUM, AVG, COUNT, MAX, MIN ইত্যাদি ব্যবহার করা হয়।

উদাহরণ: GROUP BY এবং SUM ব্যবহার

proc sql;
   select category_name, sum(price) as total_sales
   from products
   group by category_name;
quit;

এখানে:

  • GROUP BY category_namecategory_name এর ভিত্তিতে ডেটা গ্রুপ করা হয়েছে।
  • SUM(price) — প্রতিটি ক্যাটাগরির জন্য price এর যোগফল বের করা হয়েছে।

৩. HAVING (গ্রুপ করার পরে শর্ত প্রয়োগ)

HAVING ব্যবহার করা হয় GROUP BY এর পর শর্ত প্রয়োগ করার জন্য। এটি শুধুমাত্র গ্রুপের উপর শর্ত পরীক্ষা করে।

উদাহরণ: HAVING ব্যবহার

proc sql;
   select category_name, avg(price) as average_price
   from products
   group by category_name
   having avg(price) > 100;
quit;

এখানে:

  • HAVING avg(price) > 100 — গড় মূল্য ১০০ এর বেশি এমন গ্রুপগুলিই নির্বাচন করা হবে।

৪. ORDER BY (অর্ডারিং ডেটা)

ORDER BY ব্যবহার করা হয় ডেটা সাজানোর জন্য, যেমন আকারের (ascending) বা নিম্নলিখিত (descending) আকারে সাজানো।

উদাহরণ: ORDER BY ব্যবহার

proc sql;
   select product_name, price
   from products
   order by price desc;
quit;

এখানে:

  • ORDER BY price desc — দাম অনুসারে ডেটা কম থেকে বেশি (descending) অর্ডারে সাজানো হবে।

Complex SQL Query Example

একটি জটিল SQL কুয়েরি যা JOIN, GROUP BY, HAVING, এবং ORDER BY ব্যবহার করে:

proc sql;
   select c.category_name, p.product_name, sum(p.price) as total_sales
   from products as p
   inner join categories as c
   on p.category_id = c.category_id
   group by c.category_name, p.product_name
   having sum(p.price) > 500
   order by total_sales desc;
quit;

এখানে:

  • INNER JOIN দুটি টেবিলকে একত্রিত করেছে products এবং categories
  • GROUP BY ব্যবহার করে category_name এবং product_name ভিত্তিতে গ্রুপিং করা হয়েছে।
  • HAVING দ্বারা শুধুমাত্র সেই গ্রুপগুলি নির্বাচন করা হয়েছে, যেগুলোর মোট বিক্রয় ৫০০ এর বেশি।
  • ORDER BY total_sales desc দ্বারা মোট বিক্রয়ের ভিত্তিতে ডেটা ডাউন (descending) অর্ডারে সাজানো হয়েছে।

সারাংশ

SAS-এ Subqueries এবং Complex SQL Queries ব্যবহার করে আপনি ডেটা বিশ্লেষণ এবং সম্পর্কের মধ্যে বিভিন্ন গভীরতা অনুসন্ধান করতে পারেন:

  • Subqueries একটি কুয়েরির মধ্যে অন্য কুয়েরি ব্যবহার করে আরও বিস্তারিত ফলাফল প্রদান করে।
  • Complex SQL Queries যেমন JOIN, GROUP BY, HAVING, এবং ORDER BY একাধিক টেবিল এবং শর্তের মাধ্যমে ডেটার সঠিক বিশ্লেষণ তৈরি করে।

এই কুয়েরিগুলি ডেটার ভিতরে লুকানো সম্পর্ক খুঁজে বের করতে এবং জটিল বিশ্লেষণ সম্পাদন করতে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...