
Database Management System
Lesson – 15
Simple Select Query
এই লেসনে আমরা Simple Select Query সম্পর্কে পড়বো
SQL(Structured Query Language) কী ? এবং এর বৈশিষ্ট্য লেখ ।
এর সম্পূর্ণ নাম Structured Query Language। রিলেশননাল ডেটাবেস ম্যনেজমেন্ট সিস্টেম সফটওয়ার কম্পিউটার সিস্টেমে ইনস্টল করার পর ডেটাবেস সংক্রান্ত সব ধরনের কাজ পরিচালন করার জন্য SQL ব্যবহৃত হয় । এটি চতুর্থ প্রজন্মের ভাষা । 1970 সালে Dr. E.F. Codd প্রথম এর ব্যাবহার সুচনা করেন । পরে 1979 সালে বনিজ্যিক ভাবে Oracle Corporation সর্বপ্রথম Oracle V2 নামে RDBMS সফটওয়ার প্রবর্তন করেন । এরপর 1986 সালে ANSI এবং ISO – RDBMS এর Language হিসাবে SQL ব্যাবহার সুরু করেন ।
SQL(Structured Query Language) এর বৈশিষ্ট্য লেখ ।
- এটি সাধারণত ইংরেজি ভাষার কোয়্যারি ল্যাঙ্গুয়েজ । যার ফলে ব্যাবহা রকারীর কম্যান্ড মনে রাখতে সুবিধা হয় ।
- এটি Non Procedural কোয়্যারি ল্যাঙ্গুয়েজ অর্থাৎ প্রয়োজনীয় তথ্য দিলেই সঠিক ফলাফল পাওয়া যায় ।
- ডেটাবেস তৈরি এবং রক্ষনাবেক্ষনের সময় কম লাগে ।
- এটি ব্যাবহার করে ডেটাবেস সিস্টেমের টেবিল তৈরি করা, টেবিলে তথ্য প্রবেশ করান, তথ্য আপডেট করা, তথ্য মুছে ফেলা ইত্যাদি কাজ করা য়ায ।
- SQL এর প্রধান উপাদানগুলি হল – ডেটা ডেফিনেশন ল্যাঙ্গুয়েজ(DDL), ডেটা মেনিপুলেশন ল্যাঙ্গুয়েজ(DML), ডেটা কোয়্যারি ল্যাঙ্গুয়েজ(DQL) ।
SQL স্টেটমেন্ট কী ? কোয়্যারি কীভাবে গঠন করবে ?
SQL স্টেটমেন্ট সাধারণত কতগুলি কি-ওয়ার্ড বা ক্লজ নিয়ে তৈরি । যেমন- Select, From, Where ইত্যাদি ।
SQL এর গঠন ঃ-
SELECT <Column Name1>, <Column Name2> FROM <Table Name>;
SELECT <Column Name1>, <Column Name2> FROM <Table Name> WHERE <Condition>;
SELECT ক্লজঃ
এই ক্লজ প্রজেক্ট অপারেটরের কাজ করে, অর্থাৎ এই ক্লজের সাহায্যে কোনো টেবিলের কলাম বা অ্যাট্রিবিউটকে সিলেক্ট করে । সিলেক্টের
যেমন-SELECT <Column Name1>, <Column Name2> FROM <Table Name>;
অথবা
SELECT * FROM <Table Name>;
এখানে * মানে টেবিলের সব ফিল্ড বা অ্যট্রিবিউট ।
FROM ক্লজঃ
এই ক্লজ ক্লজের সাথে টেবিলের নাম উল্লেখ করা হয় । From এর সাথে যে টেবিলের নাম ব্যাবহার করা হয় সেই টেবিলের কলাম SELECT এর সাথে উল্লেখ করা হয় ।
যেমন-SELECT <Column Name1>, <Column Name2> FROM <Table Name>;
WHERE ক্লজঃ
এই ক্লজ ব্যাবহার করে টেবিল থেকে প্রয়োজনীয় রেকর্ডগুলি বের করা হয় । এই ক্লজ ব্যাবহার করে দুটি টেবিল JOIN করা যায় । WHERE এর সাথে >, <, =, <=, >=,<>(Not equal to), AND, OR, NOT, IN, NOT IN, BETWEEN, LIKE ইত্যাদি অপারেটর ব্যাবহার করা যায় ।
SELECT <Column Name1>, <Column Name2> FROM <Table Name> WHERE <Condition>;
DISTINCT স্টেটমেন্টঃ
এই স্টেটমেন্ট ব্যবহার করে কোনো টেবিলের এক বা একাধিক ডুল্পিকেট রো কে বাদ দিয়ে দেখানর জন্য Distinct ক্লজ ব্যবহার করা হয় ।
Roll | Name | Class | Address | Marks |
1 | Rina | XII | Jiaganj | 450 |
2 | Bina | XI | Lalbag | 400 |
3 | Tina | XII | Jiaganj | 425 |
4 | Dona | XI | Lalbag | 400 |
5 | Mona | XII | Berhampore | 421 |
যেমন – উপরের Student টেবিল থেকে জানতে চাই যে টেবিলে কোন কোন শহরের নাম আছে ।
SELECT DISTINCT Address FROM Student;
তাহলে উত্তর পাওয়া যাবে
Address |
Jiaganj |
Lalbag |
Berhampore |
AND স্টেটমেন্টঃ
একাধিক শর্ত যুক্ত করার জন্য এই স্টেটমেন্ট ব্যবহার করা হয় । এখানে সব শর্ত সত্য হলেই টেবিল থেকে নির্দিষ্ট রেকর্ড দেখাবে ।
Roll | Name | Class | Address | Marks |
1 | Rina | XII | Jiaganj | 450 |
2 | Bina | XI | Lalbag | 400 |
3 | Tina | XII | Jiaganj | 425 |
4 | Dona | XI | Lalbag | 400 |
5 | Mona | XII | Berhampore | 421 |
যেমন – উপরের Student টেবিল থেকে যে সব ছাত্রের বাড়ি জিয়াগঞ্জ এবং মার্কস 400 এর উপর পেয়ছে সেই সমস্ত রেকর্ড জানতে চাওয়ার কমান্ড হল ।
SELECT * FROM student WHERE Address=‘Jiaganj’ AND Marks>400;
OR স্টেটমেন্টঃ
একাধিক শর্ত যুক্ত করার জন্য এই স্টেটমেন্ট ব্যবহার করা হয় । এখানে শর্ত গুলির মধ্যে কোন একটি সত্য হলেই টেবিল থেকে নির্দিষ্ট রেকর্ড দেখাবে ।
Roll | Name | Class | Address | Marks |
1 | Rina | XII | Jiaganj | 450 |
2 | Bina | XI | Lalbag | 400 |
3 | Tina | XII | Jiaganj | 425 |
4 | Dona | XI | Lalbag | 400 |
5 | Mona | XII | Berhampore | 421 |
যেমন – উপরের Student টেবিল থেকে যে সব ছাত্রের বাড়ি জিয়াগঞ্জ অথবা লালবাগ সেই সমস্ত রেকর্ড জানতে চাওয়ার কমান্ড হল ।
SELECT * FROM student WHERE Address=‘Jiaganj’ OR Address=‘Lalbag’;
Ans:
Roll | Name | Class | Address | Marks |
1 | Rina | XII | Jiaganj | 450 |
2 | Bina | XI | Lalbag | 400 |
3 | Tina | XII | Jiaganj | 425 |
4 | Dona | XI | Lalbag | 400 |
