কম্পিউটার টিউটোরিয়াল

SQL Server-এ SELECT কমান্ড

এই টিউটোরিয়াল আপনাকে SQL Server SELECT স্টেটমেন্ট (T-SQL) সিনট্যাক্স এবং উদাহরণসহ ব্যবহার করতে সাহায্য করবে।

SELECT হলো এক বা একাধিক টেবিল থেকে ফলাফল রিট্রিভ করার জন্য ব্যবহৃত কমান্ড SQL Server ডেটাবেসে।

SELECT স্টেটমেন্টের সিনট্যাক্স

সিম্পল ফর্মে, SELECT স্টেটমেন্টের সিনট্যাক্স নিম্নরূপ:

 SELECT 'এক্সপ্রেশন' 
FROM 'টেবিল'
[WHERE 'কন্ডিশন'];

পূর্ণ ফর্মে, SQL Server-এ SELECT কমান্ডের সিনট্যাক্স হবে:

 SELECT [ALL | DISTINCT] 
[TOP (প্রথম_মান) [PERCENT] [WITH TIES]]
'এক্সপ্রেশন'
FROM 'টেবিল'
[WHERE 'কন্ডিশন']
[GROUP BY 'এক্সপ্রেশন']
[HAVING 'কন্ডিশন']
[ORDER BY 'এক্সপ্রেশন' [ASC | DESC]];

ভেরিয়েবল নাম বা ভেরিয়েবল ভ্যালু

ALL - অপশনাল, সব ম্যাচিং আইটেম রিটার্ন করে।

DISTINCT - অপশনাল। রिजাল্ট সেট থেকে সব ডুপ্লিকেট ভ্যালু সরিয়ে দেয়।

TOP (প্রথম_মান) - অপশনাল। যদি স্পেসিফাই করা হয়, তবে সিলেক্টেড প্রথম_মান অনুযায়ী রিজাল্ট সেটের প্রথম মানগুলো রিটার্ন করবে। উদাহরণস্বরূপ, TOP (10) রিজাল্ট সেটের প্রথম ১০ রো রিটার্ন করবে।

PERCENT - অপশনাল। যদি স্পেসিফাই করা হয়, তবে প্রথম রোগুলো রিজাল্ট সেটের পর্সেন্টেজের ভিত্তিতে হবে (ইনডিকেটড বাই প্রথম_মান)। উদাহরণস্বরূপ TOP (10) PERCENT রিজাল্ট সেটের শীর্ষ ১০% ফলাফল রিটার্ন করবে।

WITH TIES - অপশনাল। যদি স্পেসিফাই করা হয়, তবে লিমিটেড রিজাল্টের শেষে টাই করা রোগুলো রিটার্ন করবে। এতে TOP-এর অনুমতির চেয়ে বেশি রো রিটার্ন হতে পারে।

এক্সপ্রেশন - যে কলাম বা ক্যালকুলেটেড ভ্যালু আপনি রিট্রিভ করতে চান। * ব্যবহার করুন যদি সব কলাম চান।

টেবিল - যে টেবিল থেকে আপনি ফলাফল পেতে চান। FROM কমান্ডে কমপক্ষে ১ টেবিল লিস্টেড থাকতে হবে।

WHERE 'কন্ডিশন' - অপশনাল। ফেরত আসা ফলাফল যে কন্ডিশন মেট করবে।

GROUP BY 'এক্সপ্রেশন' - অপশনাল। একাধিক রেকর্ড থেকে ডেটা সংগ্রহ করে এক বা একাধিক কলামে গ্রুপ করে ফলাফল দেয়।

HAVING 'কন্ডিশন' - অপশনাল। GROUP BY-এর সাথে সমন্বয়ে ব্যবহার হয় কন্ডিশন TRUE হলে রিটার্ন হওয়া রো গ্রুপ লিমিট করতে।

ORDER BY 'এক্সপ্রেশন' - অপশনাল। রিজাল্ট সেট সাজাতে ব্যবহৃত হয়। ASC অ্যাসেন্ডিং অর্ডারে এবং DESC ডিসেন্ডিং অর্ডারে সাজাবে।

উদাহরণ - একটি টেবিলের সব ফিল্ড সিলেক্ট

 SELECT * 
FROM hangtonkho
WHERE soluong> 5
ORDER BY hangtonkho_id ASC;

এই উদাহরণে, * ব্যবহার করা হয়েছে ইন্ডিকেট করতে যে hangtonkho টেবিলের সব ফিল্ড যেগুলো ৫ এর চেয়ে বড় soluong। রিজাল্ট সেট hangtonkho_id-এর অ্যাসেন্ডিং অর্ডারে সাজানো।

উদাহরণ - টেবিলের কিছু ফিল্ড সিলেক্ট

 SELECT hangtonkho_id, hangtonkho_type, soluong 
FROM hangtonkho
WHERE hangtonkho_id> = 555
AND hangtonkho_type = 'phanmem'
ORDER BY soluong DESC, hangtonkho_id ASC;

উপরোক্ত উদাহরণে, ফেরত আসা ফলাফল শুধু ID, টাইপ এবং পরিমাণ (hangtonkho_id, hangtonkho_type এবং soluong) অন্তর্ভুক্ত করবে hangtonkho টেবিল থেকে শর্ত হলো ID ৫৫৫-এর চেয়ে বড় বা সমান, ইনভেন্টরি টাইপ 'phanmem'। ফলাফল সোলুং ডিসেন্ডিং এবং ইনভেন্টরি ID অ্যাসেন্ডিং অনুযায়ী সাজানো।

উদাহরণ - একাধিক টেবিল থেকে সিলেক্ট

 SELECT hangtonkhi.hangtonkho_id, sanpham.sanpham_ten, hangtonkho.soluong 
FROM hangtonkho
INNER JOIN sanpham
ON hangtonkho.sanpham_id = sanpham.sanpham_id
ORDER BY hangtonkho_id;

এই উদাহরণে, রিজাল্ট সেট দুটি টেবিল থেকে নেওয়া হয়েছে hangtonkho_id, sanpham_ten এবং soluong প্রোডিউস করতে, sanpham_id hangtonkho টেবিলে এবং প্যানেল অবশ্যই একই হতে হবে। ফলাফল hangtonkho_id-এর অ্যাসেন্ডিং অর্ডারে সাজানো।

উদাহরণ - TOP কীওয়ার্ড ব্যবহার

 SELECT TOP (3) 
hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_type = 'phanmem'
ORDER BY hangtonkho_id ASC;

এই উদাহরণে, ফলাফল hangtonkho টেবিল থেকে প্রথম ৩ মান রিটার্ন করবে যাদের ইনভেন্টরি টাইপ 'phanmem'। যদি অন্যান্য মান থাকে যা রিকোয়ারমেন্ট মেট করে, সেগুলো রিটার্ন হবেন না।

উদাহরণ - TOP PERCENT কীওয়ার্ড ব্যবহার

 SELECT TOP (10) PERCENT 
hangtonkho_id, hangtonkho_type, soluong
FROM hangtonkho
WHERE hangtonkho_type = 'phanmem'
ORDER BY hangtonkho_id ASC;

ফেরত আসা ফলাফল hangtonkho টেবিলে 'phanmem' ইনভেন্টরির প্রথম ১০% ভ্যালু থেকে গঠিত হবে। বাকি ৯০% ফলাফল রিটার্ন হবেন না।


  1. SQL Server-এ INTERSECT অপারেটর

  2. SQL Server-এ UNION ALL অপারেটর

  3. SQL Server-এ WHERE ক্লজ

  4. SQL Server-এ তুলনা অপারেটর