Class 12 Modern Computer Application এর Database Management System Chapter টি West Bengal Council এর Syllabus অনুসারে এমন ভাবে সাজানো হলো যাতে ছাত্ররা সহজেই পড়ে বুঝতে পারে। এখানে Database Management System Chapter টির প্রত্যেকটি Term কে সুন্দর ভাবে বোঝোনো হয়েছে ।Section wise কিছু ভিডিও দেওয়া হলো তোমাদের বোঝার সুবিধাৰ্থে । এই Chapter এর শেষে কিছু Previous Year Question Paper নিয়ে আলোচনা করা হলো । অসুবিধা থাকলে নিচে comment section এ Comments করো ।Answer দেওয়ার চেষ্টা করবো ।
Table Of contents:
ডেটাবেস (Database ) কি?
ডেটাকে যেখানে সুসংহত ও সুসজ্জিত ভাবে সংগ্রহ করে রাখা হয় তাকে ডেটাবেস বলে|
ডেটাবেস ম্যানেজমেন্ট(Database Management System) কি?
যে সফটওয়্যার দ্বারা পারস্পরিক সম্পর্ক যুক্ত তথ্যকে দক্ষতার সাথে সংরক্ষণ করা হয়, পরিবর্তন করা হয় এবং এবং প্রয়োজনে মুছে ফেলা যায় ,তাকে ডেটাবেস ম্যানেজমেন্ট সিস্টেম বলে |
ডাটাবেসের ভাষাসমূহ( Language In database)
1.DDL 2. DML. 3.DCL
ডাটা ডেফিনেশন ল্যাঙ্গুয়েজ(DDL):
এই ল্যাঙ্গুয়েজ এর সাহায্যে ডাটাবেসের টেবিল বা স্কিমা নির্ধারণ করা যায় |
উদাহরণ:CREATE ,Alter,Drop,Rename
CREATE: কমান্ডের সাহায্যে ডাটাবেসের টেবিল তৈরি করা যায় |
ALTER: কমান্ডের সাহায্যে ডাটাবেসের টেবিলের পরিবর্তন করা যায় |
DROP: এই কমান্ডের সাহায্যে ডেটাবেস মুছে ফেলা যায় |
RENAME: ডাটাবেসের টেবিলের নাম পরিবর্তন করা যায়|
ডেটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ(DML):
এই ল্যাঙ্গুয়েজ এর সাহায্যে ডেটাবেস থেকে তথ্য তুলে আনা ,নতুন তথ্য সংযোজন, বিশ্লেষণ ও অপ্রয়োজনীয় তথ্য মুছে ফেলা যায় |
উদাহরণ:SELECT,DELETE,INSERT,UPDATE
SELECT: এই কমান্ডের সাহায্যে ডাটাবেসের টেবিল থেকে ডেটাকে নির্বাচন করা যায় |
INSERT: এই কমান্ডের সাহায্যে ডাটাবেসের টেবিলে ভ্যালু ইনসার্ট করা যায় |
DELETE: এই কমান্ডের সাহায্যে ডাটাবেসের টেবিলে তথ্য মুছে ফেলা যায় |
UPDATE: এই কমান্ডের সাহায্যে ডাটাবেসের টেবিলে কোন তথ্যকে পরিবর্তন করা যায় |
ডাটা কন্ট্রোল ল্যাঙ্গুয়েজ(DCL):
এই ল্যাঙ্গুয়েজ এর মাধ্যমে ডেটার ব্যবহার নিয়ন্ত্রণ করা যায় | মূলত দুই ধরনের ডাটা কন্ট্রোল ল্যাঙ্গুয়েজ কমান্ড ব্যবহার করা হয় |
- GRANT: এর মাধ্যমে ডেটা ব্যবহারের অধিকার প্রদান করা হয় |
- REVOKE: এর মাধ্যমে ডেটা ব্যবহারের অধিকার তুলে নেয়া হয় |
ডাটা ডিকশনারি (Data Dictionary):
ডাটা ডিকশনারি হলো এমন একটি ফাইল যেখানে বইয়ের সূচিপত্রের আকারে বিভিন্ন ফাইল নাম ও ধরন ,রেকর্ড সংখ্যা ইত্যাদি সঞ্চিত থাকে |
মেটাডেটা(Metadata):
এখানে ডাটা সম্বন্ধে কিছু তথ্য সংজ্ঞায়িত করা থাকে | এখানে ডেটার বর্ণনা ও ডাটা কি প্রসঙ্গে ব্যবহার করা হয়েছে তার ব্যাখ্যা দেয়া থাকে |
উদাহরণ: যখন আমরা ইউটিউবে ভিডিও দেখি তখন আমরা দেখতে পাই কোন ভিডিও সম্বন্ধে কিছু শর্ট ডেসক্রিপশন নিচে দেয়া থাকে যেমন ভিডিওটি কি বিষয়ে ,ভিডিওটি কোন ডেটে পাবলিশ করা হয়েছিল এবং সাবস্ক্রাইবার কত এই সমস্ত ইনফরমেশন দেয়া থাকে |এইগুলি মেটাডেটা নামে পরিচিত |
ডেটাবেস স্কিমা(Database schema):
ডেটাবেস স্কিমা বলতে ডেটাবেস স্ট্রাকচার কে বোঝায় |কোন ডাটাবেস তৈরি করার পূর্বে ওই ডেটাবেসের স্ট্রাকচার তৈরি করা হয়ে থাকে এই স্ট্রাকচার টি. ডেটাবেস স্কিমা নামে পরিচিত |
উদাহরণ: স্টুডেন্ট ডাটাবেসের স্কিমা টি হলো
Student(Name,roll,phoneNumber,Address)
ডাটাবেস অ্যাডমিনিস্ট্রেটর(Database Administrator):
অ্যাডমিনিস্ট্রেটর হলো এমন একজন ব্যক্তি যিনি কেন্দ্রীয়ভাবে ডেটাবেস গুলিকে ও ডাটাবেসের সঙ্গে যুক্ত সফটওয়্যারগুলোকে কন্ট্রোল করতে পারে |
এন্টিটি (Entity):
এমন কিছু বৈশিষ্ট্য যা দিয়ে কোন অবজেক্টকে এককভাবে চিহ্নিত করা যায় |
উদাহরণ: টিচার - স্টুডেন্ট entity-relationship|
(Entity Relationship Model)এন্টিটি রেলেশনশিপ মডেল:
দুটি বা ততোধিক এন্টিটির মধ্যে যে রিলেশনশিপ তাই এন্টিটি রিলেশনশিপ নামে পরিচিত|
এন্টিটি রেলেশনশিপ তৈরি করার কিছু চিহ্ন বা প্রতীক
Teacher- Student Entity Relationship Model
রিলেশনাল মডেল
রিলেশনাল ডেটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS)ডেটাকে টেবিলের মধ্যে সঞ্চিত রাখা হয় |
1.Tuple: RDBMS এ একটি টেবিলের ROW গুলিকে Tuple বলা হয় |
2.Attribute: টেবিল বা রিলেশনের প্রতিটি কালামের নামগুলি কে Attributes বলে |
3.Domain:টেবিল বা রিলেশনের প্রতিটি কালামের বা field গুলি র মধ্যে যে সমস্ত ভ্যালু থাকে তার রেঞ্জ গুলিকে Domain বলা হয় |
4.Degree:একটি টেবিল বা রিলেশন গুলি এর মধ্যে যতগুলি এট্রিবিউট থাকে সেই সংখ্যাকে ডিগ্রী বলে |
5. Cardinality: একটি টেবিল বা রিলেশনে যতগুলি row বা tuple থাকে, সেই সংখ্যাকে cardinality বলে |
উদাহরণ: Student(Name,Roll,Address,Age)
Name |
Roll |
Address |
Age |
A.Sarkar |
2 |
Burdwan |
25 |
B.sen |
4 |
Hooghly |
26 |
S.ghosh |
5 |
Kolkata |
23 |
D.Ali |
7 |
Nadia |
29 |
Tuple: 4(row number)
Attributes: Name,Roll,Address,Age
Domain: Domain of Name Characters ,Domain of Roll Integer
Degree: 4 (Field Number)
Cardinality: 4(row number)
কি(key) এর ধারণা
ডাটাবেসের যে সমস্ত এট্রিবিউটস থাকে সেই এট্রিবিউটস গুলোর মধ্যে এমন কিছু এট্রিবিউটস কে নির্বাচন করা হয় যার দ্বারা ডাটাবেসের টেবিলের কোন row একক ভাবে চিহ্নিত করতে পারা যায় সেই এট্রিবিউটস গুলোকে কি(key) বলা হয় |
উদাহরণ: স্টুডেন্ট ডাটাবেসের রোল নাম্বার টি key হিসাবে নির্বাচন করা হয় কারণ এই রোল নাম্বার টি প্রত্যেকটি স্টুডেন্টদের ক্ষেত্রে আলাদা হয় বাকি attributes গুলো এক হতেও পারে আবার নাও হতে পারে |
Super Key:
সুপার কি হলো এক বা একাধিক Attributes এর সমন্বয় যা দিয়ে একটি table এর row বা Tuple কে আমরা একক ভাবে চিহ্নিত করতে পারি |
উদাহরণ : student(Name,rollNumber)
স্টুডেন্ট ডেটাবেসের rollNumber দিয়ে একটি row কে এককভাবে আইডেন্টিফাই করা যায়| আবার (Name,rollNumber) দিয়েও একটি row কে এককভাবে আইডেন্টিফাই করা যায় | সুতরাং rollNumber ও (Name,rollNumber) গুলি সুপার কি |
Candidate Key:
Candidate কি হলো এক বা একাধিক Attributes এর সমন্বয় যা দিয়ে একটি table এর row বা Tuple কে আমরা একক ভাবে চিহ্নিত করতে পারি | একটি ডেটাবেসে একাধিক সুপার কি থাকতে পারে কিন্তু মিনিমাম(minimum) এট্রিবিউট নিয়ে তৈরি Super Key গুলিই হল ক্যান্ডিডেট key.
উদাহরণ : student(Name,rollNumber)
এখানে রোল নাম্বারটি হল সুপার কি |
Primary Key:
অনেকগুলি ক্যান্ডিডেট key এর মধ্যে একটিকে আমরা প্রাইমারি কী হিসেবে সিলেক্ট করে নিই |
Alternate key:
ডেটাবেসে অনেকগুলি ক্যান্ডিডেট এর মধ্যে একটিকে প্রাইমারি কী হিসেবে সিলেক্ট করে নিলে বাকি key গুলোকে অল্টারনেট কি বলা হয় |
Type of Relationship:
One to one (1:1):
যখন আমরা দুটি সত্তার মধ্যে এমনভাবে সম্পর্ক স্থাপন করি যেন কোনও সত্তার একটি উপাদান অন্য সত্তার উপাদানের সাথে মিলে যায়।
One to many(1:N)
যখন আমরা দুটি সত্তার মধ্যে এমনভাবে সম্পর্ক স্থাপন করি যেন কোনও সত্তার একটি উপাদান অন্য সত্তা সংস্থার অনেক উপাদানের সাথে মিলে যায়।
Many to many(M:N)
যখন আমরা দুটি সত্তার মধ্যে এমনভাবে সম্পর্ক স্থাপন করি যেন কোনও সত্তার অনেক উপাদান অন্য সত্তা সংস্থার অনেক উপাদানের সাথে মিল রাখে।
Database Constraints:
ডেটাবেসে কিছু বাধা রয়েছে, যা ডাটাবেস সীমাবদ্ধতা হিসাবে পরিচিত। ডেটাবেস ডিজাইনারগণ ডেটা বৈধতা পরীক্ষা করতে বিধিনিষেধ প্রয়োগ করে |
Entity Integrity Constraints:
Primary key কখনোই খালি রাখা যাবে না।
Domain Constraints:
ডোমেনগুলিতে কিছু বিধিনিষেধ রয়েছে |যেমন সঞ্চয়ী ব্যাঙ্ক অ্যাকাউন্ট অ্যাকাউন্টের ডাটাবেসে অ্যাকাউন্টের সর্বনিম্ন Rs. 500 ব্যয়ে রক্ষণাবেক্ষণ করা উচিত।.
Referential Integrity Constraint:
দুটি বা ততোধিক ডাটাবেসের মধ্যে সম্পর্ক থাকলে রেফারেন্সিয়াল অখণ্ডতা প্রযোজ্য।এই ক্ষেত্রে ডাটাবেস ডিজাইনার সীমাবদ্ধতা প্রয়োগ করতে Foreign key ব্যবহার করে। দুটি ডাটাবেস কমপক্ষে একটি একই বৈশিষ্ট্য বজায় রাখে। একটি টেবিলের প্রাথমিক key অন্য টেবিলের নন-কী(non-key) হতে পারে। এক্ষেত্রে বৈশিষ্ট্যটি প্রাথমিক কী(primary key) নয় এমন সারণী থেকে ডেটা সন্নিবেশ (Insertion) এবং মুছে ফেলা সম্ভব নয়।
Relational Algebra:
- Selection Operation
- Projection Operation
- Set Operations.
- Cartesian Product Operation.
Conditional Operators:
Operator Name | Description |
> | Greater than |
≥ | Greater than or Equal to |
< | Less than |
≤ | Less than or Equal to |
≠ | Not equal to |
Selection Operations: সিলেকশন অপারেশনের কাজ হল কোন টেবিলের row কে সিলেকশন করা | সিলেকশন অপারেশন কে σ চিহ্ন দ্বারা প্রকাশ করা হয় | নিচে সিনটেক্স টি লেখা হলো-
σ <Conditions>(Database Name)
উদাহরণ :
Student Table
S.Name | Sec | Roll | Marks |
U | A | 1 | 100 |
V | B | 2 | 85 |
W | A | 3 | 65 |
X | A | 4 | 60 |
Y | B | 5 | 45 |
Z | A | 6 | 35 |
Query 1: যে সমস্ত স্টুডেন্ট 60 বা তার বেশি marks পেয়েছে তাদের রেকর্ড প্রকাশ করো |
σ Marks≥60(Student)
Output:
S.Name | Sec | Roll | Marks |
U | A | 1 | 100 |
V | B | 2 | 85 |
W | A | 3 | 65 |
X | A | 4 | 60 |
Query 2:যে সমস্ত স্টুডেন্ট 60 এর কমmarks পেয়েছে তাদের রেকর্ড প্রকাশ করো |
σ Marks<60(Student)
Output:
S.Name | Sec | Roll | Marks |
Y | B | 5 | 45 |
Z | A | 6 | 35 |
Query 3: যে সমস্ত স্টুডেন্ট 100 marks পেয়েছে তাদের রেকর্ড প্রকাশ করো |
σ Marks=100(Student)
Output:
S.Name | Sec | Roll | Marks |
U | A | 1 | 100 |
Query 4: যে সমস্ত স্টুডেন্ট section B তে পরে তাদের রেকর্ড প্রকাশ করো |
σ Sec=’B’(Student)
Output:
S.Name | Sec | Roll | Marks |
V | B | 2 | 85 |
Y | B | 5 | 45 |
Projection Operation: প্রজেকশন অপারেশন এর দ্বারা কোন টেবিল থেকে Column সিলেকশন করা হয় | প্রজেকশন অপারেশন কে 𝝥 চিহ্ন দ্বারা প্রকাশ করা হয় |
এর সিনটেক্স টি হল -
𝝥<Conditons>(Database Name)
উদাহরণ :
Student Table
S.Name | Sec | Roll | Marks |
U | A | 1 | 100 |
V | B | 2 | 85 |
W | A | 3 | 65 |
X | A | 4 | 60 |
Y | B | 5 | 45 |
Z | A | 6 | 35 |
Query 1: স্টুডেন্ট গুলির নাম ও রোল নাম্বার প্রকাশ করো |
𝝥S.Name,Roll(Student)
Output:
S.Name | Roll |
U | 1 |
V | 2 |
W | 3 |
X | 4 |
Y | 5 |
Z | 6 |
Query 2: যে সমস্ত স্টুডেন্ট 100 marks পেয়েছে তাদের নাম ও রোলনাম্বার প্রকাশ করো |
𝝥S.Name,Roll(σ Marks=100(Student))
S.Name | Roll |
U | 1 |
Union Operation: এই অপারেশনের জন্য কম পক্ষে দুটি টেবিলের দরকার হয়ে পড়ে | এই অপারেশনের ধারা যে সমস্ত রেকর্ড গুলি Table Aঅথবা Table B তে আছে তাদের তালিকা প্রকাশ করে | একে U চিহ্ন দ্বারা প্রকাশ করা হয় |
Syntax: A U B
XYZ Bank
Branch Kolkata
Cust_Name | Cust_ID |
A | 123 |
B | 345 |
C | 456 |
Branch Hooghly
Cust_Name | Cust_ID |
A | 123 |
D | 789 |
B | 345 |
Query 1: যে সমস্ত কাস্টমারের একাউন্ট কলকাতা অথবা হুগলি ব্রাঞ্চে আছে তাদের তালিকা(Cust_Name & Cust_ID) প্রকাশ করো |
𝝥Cust_Name,Cust_ID (Kolkata U Hooghly)
Output:
Cust_Name | Cust_ID |
A | 123 |
B | 345 |
C | 456 |
D | 789 |
Intersection Operation: এই অপারেশনের জন্য কম পক্ষে দুটি টেবিলের দরকার হয়ে পড়ে | এই অপারেশনের মাধ্যমে যে সমস্ত রেকর্ড গুলি Table A এবং Table B তে আছে তাদের তালিকা প্রকাশ করে | একে ∩ চিহ্ন দ্বারা প্রকাশ করা হয় |
Syntax : A ∩ B
Query 1: যে সমস্ত কাস্টমারের একাউন্ট কলকাতা এবংহুগলি ব্রাঞ্চে আছে তাদের তালিকা(Cust_Name & Cust_ID) প্রকাশ করো |
𝝥Cust_Name,Cust_ID (Kolkata ∩ Hooghly)
Output:
Cust_Name | Cust_ID |
A | 123 |
B | 345 |
Set Difference:
এই অপারেশনের জন্য কম পক্ষে দুটি টেবিলের দরকার হয়ে পড়ে | এই অপারেশনের মাধ্যমে কোন একটি এলিমেন্ট A সেটে অবস্থিত কিন্তু B সেটে অবস্থিত নয় এই অবস্থাকে বোঝায় |
Syntax: A - B
Query 1: যে সমস্ত কাস্টমারের অ্যাকাউন্ট কলকাতার ব্রাঞ্চে আছে কিন্তু হুগলি ব্রাঞ্চ নেই তাদের নামের তালিকা প্রস্তুত করো |
𝝥Cust_Name (Kolkata - Hooghly)
Output:
Cust_Name | Cust_ID |
A | 123 |
C | 456 |
Cartesian product:
এই অপারেশনের জন্য কম পক্ষে দুটি টেবিলের দরকার হয়ে পড়ে | এই ধরনের অপারেশনের মাধ্যমে দুটি টেবিলের মধ্যে সমস্ত রকমের রেকর্ডের কম্বিনেশন কে বোঝায় | একে ╳ চিহ্ন দ্বারা প্রকাশ করা হয় |
Syntax: A ╳ B
Table :Student
Student_name | Student_ID |
X | 001 |
Y | 002 |
Table : Marks
Roll_No | Marks |
001 | 85 |
003 | 96 |
Student ╳ Marks
Student_name | Student_ID | Roll_No | Marks |
X | 001 | 001 | 85 |
X | 001 | 003 | 96 |
Y | 002 | 001 | 85 |
Y | 002 | 003 | 96 |
Natural Join Operation:
এই অপারেশনটি অনেকটি Cartesian Product এর মতনই কিন্তু দুটি টেবিলের মধ্যে কমপক্ষে একটি Field Common থাকে | কে ⨝ চিহ্ন দ্বারা প্রকাশ করা হয় |
Syntax : A ⨝<Conditions> B
Student ⨝Student.Student_ID=Marks.Roll_No Marks
এখানে Student টেবিলের Student_ID এবং Marks টেবিলের Roll_No একই Field কে বোঝায় |
Output:
Student_name | Student_ID | Roll_No | Marks |
X | 001 | 001 | 85 |
SQL(Structured Query language):
এই ল্যাঙ্গুয়েজ ব্যবহার করে টেবিল তৈরি করা যায়, টেবিলে Data insert করা যায় , টেবিল আপডেট করা যায় , টেবিল থেকে ডাটা তোলা যায় ও প্রয়োজনে টেবিল মুছে ফেলা যায় |
DDL(Data Definition Language):
1. Create: এই কমান্ডের সাহায্যে টেবিল তৈরি করা যায় |
2. Alter : এই কমান্ডের সাহায্যে টেবিলের স্ট্রাকচার পরিবর্তন করা যায় |
3. Drop: এই কমান্ডের সাহায্যে টেবিল স্ট্রাকচার মুছে ফেলা যায় |
DML(Data Manipulation Language):
- Insert: কমান্ডের সাহায্যে টেবিলে ডাটা ভর্তি করা যায় |
- Update : এই কমান্ডের সাহায্যে টেবিলের কোন রেকর্ডকে আপডেট করা যায় |
- Delete: এই কমান্ডের সাহায্যে কোন রেকর্ড ডিলিট করা যায় |
DCL(Data Control Language):
- Grant :এই কমান্ডের সাহায্যে ডেটাবেস ব্যবহারকারীকে ডেটা ব্যবহারের অধিকার প্রদান করা হয়|
- Revoke : এই কমান্ডের সাহায্যে ডেটাবেস ব্যবহারকারীকে ডেটা ব্যবহারের অধিকার তুলে নেয়া হয় |
DQL(Data Query Language):
Select: এই কমান্ডের সাহায্যে কোন টেবিল থেকে রেকর্ড নির্বাচন করা হয় |
Select Command:
Syntax 1:
Select field1,field2,…………..,field n from Table name
Syntax 2:
Select field1,field2,…………..,field n from Table name where Condition
এখানে field 1, field 2,......field n হচ্ছে টেবিলের Column name অথবা Field name. Table name হল টেবিলের নাম অথবা ডেটাবেসের নাম | কন্ডিশন হলো কিছু রুলস বা নিয়ম |
Conditional Operator:
Operator | Description |
= | Equal to |
> | Greater than |
< | Less than |
>= | Greater than or equal to |
<= | Less than or equal to |
<> | Not equal to |
Logical Operator:
Operator | Description |
AND | TRUE if all the conditions separated by AND is TRUE |
BETWEEN | TRUE if the operand is within the range of comparisons |
EXISTS | TRUE if the subquery returns one or more records |
IN | TRUE if the operand is equal to one of a list of expressions |
LIKE | TRUE if the operand matches a pattern |
NOT | Displays a record if the condition(s) is NOT TRUE |
OR | TRUE if any of the conditions separated by OR is TRUE |
Table:Student
Name | Roll | Sec | Marks |
U | 5 | A | 75 |
V | 6 | A | 85 |
X | 7 | B | 96 |
U | 8 | B | 100 |
Query 1: Student table এর প্রত্যেকটা ফিল্ড সিলেক্ট করো |
Select * From Student
Output:
Name | Roll | Sec | Marks |
U | 5 | A | 75 |
V | 6 | A | 85 |
X | 7 | B | 96 |
U | 8 | B | 100 |
Query 2: Student table এর Name এবং Roll ফিল্ড গুলি সিলেক্ট করো |
Select Name, Roll From Student
Output:
Name | Roll |
U | 5 |
V | 6 |
X | 7 |
U | 8 |
DISTINCT Statement
এই কমান্ডের সাহায্যে ডুপ্লিকেট রেকর্ডগুলি বাদ দেয়া যায় |
Query 3:
Select DISTINCT Name From Student;
Output:
Name |
U |
V |
X |
Where Statement
এই কমান্ডের সাহায্যে কন্ডিশন ব্যবহার করা যায় |
Query 4:
যে সমস্ত স্টুডেন্ট Section B তে পড়ে তাদের Name, Roll, sec এর তালিকা তৈরি করো |
Select Name, Roll, Sec From Student Where Sec = ‘B’
Output:
Name | Roll | Sec |
X | 7 | B |
U | 8 | B |
AND Statement
এই কমান্ডের সাহায্যে দুটি কন্ডিশন কে একসাথে ব্যবহার করা যায় | এক্ষেত্রে দুটি কন্ডিশন একসাথে সত্যি হলে তবেই তার তালিকা নির্বাচন করা যাবে |
Query 5:
যে সমস্ত স্টুডেন্ট Section A তে পড়ে এবং যাদের Marks 70 এর বেশি তাদের Name, Marks এর তালিকা নির্বাচন করো |
Select Name ,Marks From Student Where Sec = ‘A’ AND Marks > 70
Output:
Name | Marks |
U | 75 |
V | 85 |
OR Statement
এই কমান্ডের সাহায্যে দুটি কন্ডিশন কে একসাথে ব্যবহার করা যায় | এক্ষেত্রে দুটি কন্ডিশন এর মধ্যে একটি কন্ডিশন সত্যি হলেই তবেই তার তালিকা নির্বাচন করা যাবে |
Query 6:
যে সমস্ত স্টুডেন্ট Section A তে পড়ে অথবা যাদের Marks 70 এর বেশি তাদের Name, Marks এর তালিকা নির্বাচন করো |
Select Name,Marks From Student Where Sec = ‘A’ OR Marks > 70
Output:
Name | Marks |
U | 75 |
V | 85 |
X | 65 |
Z | 78 |
IN Statement
যে সমস্ত স্টুডেন্ট A শ্রেণীতে পড়ে তাদের Name,Roll Sec এর তালিকা প্রকাশ করো
Select Name,Roll,Sec From Student Where Sec IN ’A’;
Output:
Name | Roll | Sec |
U | 5 | A |
V | 6 | A |
NOT IN statement
যে সমস্ত স্টুডেন্ট A শ্রেণীতে পড়ে না তাদের Name,Roll Sec এর তালিকা প্রকাশ করো |
Select Name,Roll,Sec From Student Where Sec NOT IN ’A’;
Name | Roll | Sec |
X | 7 | B |
U | 8 | B |
BETWEEN Statement
যে সমস্ত স্টুডেন্ট এর Marks 60 এবং 90 এর মধ্যে তাদের Name,Roll Marksএর তালিকা প্রকাশ করো |
Select Name,Roll,Marks From Student Where Marks BETWEEN 60 AND 90;
Name | Roll | Marks |
U | 5 | 75 |
V | 6 | 85 |
Like Statement
যে সমস্ত স্টুডেন্ট এর নাম U দিয়ে শুরু তাদের Name,Roll এর তালিকা প্রকাশ
Select Name,Roll From Student Where Name Like ‘U%’;
Output:
Name | Roll |
U | 5 |
Select Name,Roll From Student Where Name Like ‘%X’;
যে সমস্ত স্টুডেন্ট এর নাম U দিয়ে শেষ তাদের Name,Roll এর তালিকা প্রকাশ |
Name | Roll |
X | 7 |
ORDER BY Statement
স্টুডেন্টদের Marks(ছোট থেকে বড় Ascending Order) অনুযায়ী Name, Roll, Marks সাজাও |
Select Name,Roll,Marks From Student ORDER BY Marks;
Output:
Name | Roll | Marks |
U | 5 | 75 |
V | 6 | 85 |
X | 7 | 96 |
U | 8 | 100 |
স্টুডেন্টদের Marks( বড় থেকে ছোট Descending order) অনুযায়ী Name, Roll, Marks সাজাও |
Select Name,Roll,Marks From Student ORDER BY Marks DESC;
Output:
Name | Roll | Marks |
U | 8 | 100 |
X | 7 | 96 |
V | 6 | 85 |
U | 5 | 75 |
0 Comments