কম্পিউটার

SQL সার্ভারে SUBQUERY চাইল্ডকে জিজ্ঞাসা করুন

নিম্নলিখিত নিবন্ধটি আপনাকে দেখাবে কিভাবে সিনট্যাক্স এবং উদাহরণ সহ SQL সার্ভারে সাব-কোয়েরি ব্যবহার করতে হয়৷

এসকিউএল (সাবকোয়েরি) এ সাবকোয়েরি কি?

SQL সার্ভারে, একটি সাবকোয়েরি হল একটি ক্যোয়ারী যা অন্য কোয়েরিতে থাকে। আপনি SQL কমান্ডে প্রশ্ন তৈরি করতে পারেন। এই সাবকোয়ারিগুলি WHERE, FROM বা SELECT ক্লজে রয়েছে৷

দ্রষ্টব্য:

  1. সাবকোয়েরিগুলিকে INNER QUERY বা INNER SELECTও বলা হয়৷
  2. প্রধান ক্যোয়ারী যেটিতে একটি সাবকোয়েরি থাকে তাকে বলা হয় OUTER QUERY বা OUTER SELECT.

WHERE ক্লজ

সাধারণত সাবকোয়েরি WHERE ক্লজে থাকে। এই সাবকোয়ারিগুলিকে নেস্টেড কোয়েরি বা সাবকোয়েরি বলা হয়।

  SELECT s.sanph am_id, s.sanpham_ten 
FROM sanpham s
WHERE s.sanpham_id IN
(SELECT htk.sanpham_id
FROM hangtonkho htk
WHERE htk.soluong > 10);

এটি উপরের SELECT বিবৃতিতে সাব-কোয়েরি সেগমেন্ট:

  (SELECT htk.sanp ham_id 
FROM hangtonkho htk
WHERE htk.soluong > 10);

সাবকোয়েরি হ্যাংটনখো টেবিল থেকে 10-এর বেশি সংখ্যা সহ sanpham_id মানগুলি খুঁজে বের করার অনুমতি দেয়৷ তারপর IN শর্ত ব্যবহার করে মূল ক্যোয়ারী থেকে ফলাফল ফিল্টার করতে সাবকোয়েরি ব্যবহার করা হয়৷ .

নীচের মতো সাবকোয়ারিগুলিকে INNER Join হিসাবে লেখা যেতে পারে৷

  SELECT s.sanpham_id, s. sanpham_ten 
FROM sanpham s
INNER JOIN hangtonkho htk
ON s.sanpham_id = htk.sanpham_id
WHERE htk.soluong > 10;

অভ্যন্তরীণ যোগদান মূল সাবকোয়েরির চেয়ে আরও দক্ষতার সাথে ফিরে আসবে৷ এটাও মনে রাখা গুরুত্বপূর্ণ যে JOIN দ্বারা কোন প্রশ্ন পুনরায় লেখা হয় না।

The FROM clause

  SELECT nhacu ng.nhacung_ten, truyvancon1.tong_sl 
FROM nhacung,
(SELECT nhacung_id, SUM(donhang.soluong) AS tong_sl
FROM donhang
GROUP BY nhacung_id) truyvancon1
WHERE truyvanco n1.nhacung_id = nhacung.nhacung_id;

এই উদাহরণে আমরা FROM ক্লজে নিম্নরূপ সাবকোয়েরি তৈরি করেছি:

  (SELECT nhacung _id, SUM(donhang.soluong) AS tong_sl 
FROM donhang
GROUP BY nhacung _id) truyvancon1

এই সাবকোয়েরিটিও অ্যালিয়াস truyvancon1 এর সাথে যুক্ত৷ এই সাবকোয়েরি বা এর যেকোনো তথ্য ক্ষেত্রের উল্লেখ করতে ব্যবহৃত নাম হবে।

ধারা নির্বাচন করুন

সাধারণত SUM, COUNT, MIN বা MAX এর মতো সমষ্টি ফাংশন দ্বারা গণনা করার জন্য সাবকোয়েরিটি SELECT ক্লজে সেট করা হয় কিন্তু মূল ক্যোয়ারীতে গণনা করতে চায় না৷ পি>

  SELECT n1.ho, n1 .ten, 
(SELECT MAX(luong)
FROM nhanvien n2
WHERE n1.nhanvien_id = n2.nhanvien_id) truyvancon2
FROM nhanvien n1 ;

নীচে উপরের উদাহরণে তৈরি করা সাবকোয়েরি রয়েছে

  (SELECT MAX ong) 
FROM nhanvien n2
WHERE n1.nhanvie n_id = n2.nhanvien_id) truyvancon2

এই সাবকোয়েরিটিও অ্যালিয়াস truyvancon2 এর সাথে যুক্ত৷ এই সাবকোয়েরি বা এর যেকোনো তথ্য ক্ষেত্রের উল্লেখ করতে ব্যবহৃত নাম হবে।

SELECT ক্লজে সাবকোয়েরি রাখার কৌশলটি ব্যবহার করা হয় কারণ সাবকোয়েরি একটি একক মান প্রদান করে৷ এই কারণেই SUM, COUNT, MIN বা MAX-এর মতো সমষ্টি ফাংশনগুলি প্রায়শই সাবকোয়েরিতে ব্যবহৃত হয়৷


  1. SQL সার্ভারে ইন্টারসেক্ট অপারেটর

  2. এমএস এসকিউএল সার্ভারে একটি ডাটাবেস কীভাবে চয়ন করবেন

  3. MS SQL সার্ভার কি?

  4. Microsoft SQL সার্ভার ক্যোয়ারী স্টোর