বিষয়সূচী

01

কেন BETWEEN — আগে গল্প

১৫ মিনিট

মূল প্রশ্ন: কোনো value একটি নির্দিষ্ট range-এর মধ্যে আছে কিনা কীভাবে খুঁজব?

জিজ্ঞেস করো

যেসব student-এর marks 70 থেকে 80-এর মধ্যে, তাদের কীভাবে খুঁজব?

যেসব employee-এর salary 50,000 থেকে 80,000-এর মধ্যে?

January থেকে March-এর মধ্যে হওয়া orders?

গল্প ১ — School (৫,০০০ student)

Teacher: “marks 70 থেকে 80-এর মধ্যে list দাও।”

45 52 67 70 72 75 78 80 83 91
ক্লাসকে জিজ্ঞেস

70, 71, 72… 80 manually লিখে search করা কি practical?

কঠিন কিন্তু কাজ করে

WHERE marks >= 70 AND marks <= 80;

একই কাজ সহজভাবে: BETWEEN

গল্প ২ — Employee Salary

50,000 ─────────────── 80,000 Salary Range → BETWEEN

গল্প ৩ — E-commerce Price

500 ↓ [ Products we want ] ↓ 2000

গল্প ৪ — Bank Balance

balance 10,000 থেকে 100,000 — range-based filtering।

গল্প ৫ — Date Range

2026-এর January 1 থেকে January 31-এর orders — BETWEEN শুধু number নয়, date-এও।

অনেকগুলো individual value ↓ একটি range ↓ BETWEEN ↓ Matching records
WHERE ↓ Range Condition ↓ BETWEEN ↓ Lower Value … Upper Value ↓ Matching Records
মনে রাখো: BETWEEN = “এই value থেকে ওই value-এর মধ্যে”
02

BETWEEN কী?

১০ মিনিট

BETWEEN = SQL operator যা বলে: column-এর value কি দুই সীমার মধ্যে?

  • কেন: range লেখা ছোট ও পড়া সহজ
  • কখন: marks, salary, price, date — continuous range
  • Range: শুরু থেকে শেষ পর্যন্ত ব্যবধান
  • Lower bound: ছোট/শুরুর সীমা
  • Upper bound: বড়/শেষ সীমা

শুধু number নয় — date (এবং অনেক সময় text order) ও ব্যবহার হয়।

Teacher Tip: “৫ থেকে ১০ নম্বরের student খুঁজে বের করো।” → Lower = 5, Upper = 10।
Lower Bound = 5 Upper Bound = 10
03

Basic BETWEEN সিনট্যাক্স

১০ মিনিট
SELECT * FROM students WHERE marks BETWEEN 70 AND 80;
SELECT → কী দেখতে চাই? FROM → কোন table? WHERE → কোন condition? marks → কোন column? BETWEEN → Range-এর মধ্যে 70 → শুরু / Lower 80 → শেষ / Upper
সবচেয়ে গুরুত্বপূর্ণ নিয়ম: BETWEEN সাধারণত দুই boundary-ই include করে।
70 ✅ 71 ✅ … 79 ✅ 80 ✅ 70 ================================= 80 ↑ ↑ Included Included
Common confusion: অনেকে ভেবে 71–79 শুধু — ভুল। 70 ও 80ও আসে।
04

BETWEEN vs >= AND <=

১৫ মিনিট

BETWEEN

WHERE marks BETWEEN 70 AND 80;

>= AND <=

WHERE marks >= 70 AND marks <= 80;

সাধারণ numeric comparison-এ দুটোই একই range logic।

BETWEENAND (>= <=)
marks BETWEEN 70 AND 80marks >= 70 AND marks <= 80
ShorterLonger
Easy to readMore explicit
Good for simple rangesUseful for complex / datetime control
Teacher Tip: BETWEEN মূলত range লেখাকে সহজ করে — magic নয়।
05

Numeric BETWEEN

২০ মিনিট

Sample students (১৮ rows):

idnamedeptmarksage
1RahimCSE7219
2KarimEEE6521
3SaraCSE8018
4NilaBBA7020
5JamalCSE5522
6AyeshaEEE7819
7HasanBBA9123
8MituCSE7418
9RafiEEE6820
10LinaBBA8321
11OmarCSE7619
12TaniaEEE6024
13ImranBBA7922
14FarahCSE4517
15SabbirEEE8820
16RinaBBA7118
17KabirCSE6725
18MeenaEEE7519

Example 1 — Marks 70–80

SELECT * FROM students WHERE marks BETWEEN 70 AND 80;
70 ===== INCLUDE ===== 80
Rahim 72, Sara 80, Nila 70, Ayesha 78, Mitu 74, Omar 76, Imran 79, Rina 71, Meena 75 (65/68/67/55/45/83/91 বাদ)

লাইন বাই লাইন: WHERE marks filter → BETWEEN inclusive → matching rows।

Beginner mistake: 80 বাদ ভেবে নেওয়া।

Example 2 — Age 18–22

SELECT * FROM students WHERE age BETWEEN 18 AND 22;
age 17 ও 23–25 বাদ; 18…22 include

Example 3 — Salary

SELECT * FROM employees WHERE salary BETWEEN 50000 AND 80000;

Example 4 — Product price

SELECT * FROM products WHERE price BETWEEN 500 AND 2000;
Remember: number-এ সাধারণত quotes লাগে না: BETWEEN 500 AND 2000
06

NOT BETWEEN

১০ মিনিট
SELECT * FROM products WHERE price NOT BETWEEN 500 AND 2000;
BETWEEN → Range-এর ভিতরে NOT BETWEEN → Range-এর বাইরে 0 ---- 499 | 500 ========= 2000 | 2001 ---- ∞ INCLUDE (BETWEEN) বাইরের অংশই NOT BETWEEN

499 ও 2001 আসে; 500–2000 আসে না।

07

BETWEEN with Dates / DATETIME

২০ মিনিট
January 1 ↓ January 31

Business: “January মাসের সব orders বের করো।”

SELECT * FROM orders WHERE order_date BETWEEN '2026-01-01' AND '2026-01-31';

Monthly / Quarterly / Joining year

-- Q1 2026 WHERE order_date BETWEEN '2026-01-01' AND '2026-03-31'; -- Joined in 2025 WHERE joining_date BETWEEN '2025-01-01' AND '2025-12-31';

DATETIME সতর্কতা (বিগিনার → প্রো অভ্যাস)

যদি column-এ time থাকে, যেমন 2026-01-31 18:30:00, তাহলে end boundary '2026-01-31' অনেক engine-এ midnight (00:00:00) বোঝায় — সন্ধ্যার row বাদ যেতে পারে।

Safer half-open range (professional)

WHERE order_date >= '2026-01-01' AND order_date < '2026-02-01';
পুরো January (time সহ) ধরতে: start inclusive, next month exclusive।
08

BETWEEN + AND / OR

১৫ মিনিট

BETWEEN + AND

SELECT * FROM employees WHERE salary BETWEEN 50000 AND 80000 AND department = 'IT';
Salary Range + IT Department → Final Result

BETWEEN + OR (দুই range)

SELECT * FROM products WHERE price BETWEEN 500 AND 1000 OR price BETWEEN 5000 AND 10000;
500 ───── 1000 5000 ───── 10000
OR দিয়ে দুই আলাদা ব্যান্ড যোগ করা যায়।
09

BETWEEN + ORDER BY + LIMIT

১০ মিনিট

Business: “500 থেকে 5,000 টাকার মধ্যে সবচেয়ে দামি 10টি product দেখাও।”

SELECT * FROM products WHERE price BETWEEN 500 AND 5000 ORDER BY price DESC LIMIT 10;
Products ↓ Price Range Filter (500–5000) ↓ Sort Highest → Lowest ↓ Take Top 10
10

BETWEEN + GROUP BY

১০ মিনিট

“50,000–80,000 salary range-এর employees department অনুযায়ী count করো।”

SELECT department, COUNT(*) AS employee_count FROM employees WHERE salary BETWEEN 50000 AND 80000 GROUP BY department;
FROM → WHERE + BETWEEN → GROUP BY → COUNT → Result
আগে শেখা GROUP BY-এর সাথে range filter মিলিয়ে দাও।
11

= / IN / BETWEEN / LIKE / REGEXP

১৫ মিনিট
OperatorMain PurposeExample
=Exact valueage = 20
INSpecific valuesage IN (18,20,22)
BETWEENRangeage BETWEEN 18 AND 22
LIKESimple text patternname LIKE 'A%'
REGEXPComplex text patternname REGEXP '^A'

Specific values → IN

WHERE age IN (18, 20, 22)

শুধু ১৮, ২০, ২২ — ১৯/২১ নেই।

Continuous range → BETWEEN

WHERE age BETWEEN 18 AND 22

১৮ থেকে ২২ সব বয়স।

12

BETWEEN vs WHERE >= <=

১০ মিনিট
RequirementBETWEEN>= <=
Simple rangeExcellentGood
ReadabilityHighHigh
Complex conditionsLimitedMore flexible
DateTime handlingRequires careOften clearer

BETWEEN inclusive; explicit inequalities দিয়ে datetime boundary নিয়ন্ত্রণ সহজ।

13

E-commerce Business Case Study

২০ মিনিট

Products (নমুনা)

idnamecategorybrandpricestock
P01USB CableAccessoriesAnker450120
P02MouseAccessoriesLogitech85080
P03KeyboardAccessoriesLogitech180045
P04SSD 500GBStorageSamsung420030
P05HDD 1TBStorageWD350025
P06Monitor 24DisplayDell1450012
P07WebcamAccessoriesLogitech220040
P08HeadsetAudioSony320035
P09Power BankAccessoriesXiaomi150060
P10RouterNetworkTP-Link280022
P11Phone CaseAccessoriesSpigen600200
P12Laptop StandAccessoriesGeneric120050

Orders (নমুনা)

order_idcustomer_idorder_datetotal_amountcity
O01C12026-01-0512000Dhaka
O02C22026-01-1845000Chittagong
O03C32026-02-028000Dhaka
O04C42026-03-1032000Sylhet
O05C52026-01-3155000Dhaka
O06C62026-04-0115000Khulna
O07C72026-02-2021000Rajshahi
O08C82026-03-289500Dhaka

Employees (নমুনা)

idnamedeptsalaryjoining_date
E01ArifIT550002025-03-01
E02BelaSales420002024-06-15
E03ChayanIT780002025-11-20
E04DipaHR600002025-01-10
E05EmonSales900002023-08-01
E06FariaIT500002025-07-07
E07GaziFinance700002024-12-01
E08HenaHR480002025-09-15

সমাধান (১১টি প্রশ্ন)

  1. WHERE price BETWEEN 500 AND 2000 → Mouse, Keyboard, Power Bank, Phone Case, Laptop Stand…
  2. WHERE price BETWEEN 2000 AND 5000 → SSD, HDD, Webcam, Headset, Router…
  3. WHERE price NOT BETWEEN 500 AND 2000
  4. WHERE price BETWEEN 500 AND 5000 ORDER BY price DESC LIMIT 10
  5. WHERE total_amount BETWEEN 10000 AND 50000
  6. WHERE order_date BETWEEN '2026-01-01' AND '2026-01-31' (DATE) / half-open যদি DATETIME
  7. Q1: BETWEEN '2026-01-01' AND '2026-03-31'
  8. Date range + ORDER BY total_amount DESC
  9. salary BETWEEN 50000 AND 80000
  10. joining_date BETWEEN '2025-01-01' AND '2025-12-31'
  11. WHERE salary BETWEEN 50000 AND 80000 GROUP BY department + COUNT
14

MySQL Workbench Practical

২০ মিনিট

Step 1–3: DB + table + data

CREATE DATABASE between_lab; USE between_lab; CREATE TABLE products ( product_id INT PRIMARY KEY, product_name VARCHAR(80), category VARCHAR(40), brand VARCHAR(40), price DECIMAL(10,2), stock INT ); INSERT INTO products VALUES (1,'USB Cable','Accessories','Anker',450,120), (2,'Mouse','Accessories','Logitech',850,80), (3,'Keyboard','Accessories','Logitech',1800,45), (4,'SSD 500GB','Storage','Samsung',4200,30), (5,'HDD 1TB','Storage','WD',3500,25), (6,'Monitor 24','Display','Dell',14500,12), (7,'Webcam','Accessories','Logitech',2200,40), (8,'Headset','Audio','Sony',3200,35), (9,'Power Bank','Accessories','Xiaomi',1500,60), (10,'Router','Network','TP-Link',2800,22), (11,'Phone Case','Accessories','Spigen',600,200), (12,'Laptop Stand','Accessories','Generic',1200,50);

Step 4–12 practice checklist

  1. SELECT * FROM products;
  2. Numeric BETWEEN 500–2000
  3. NOT BETWEEN
  4. Date BETWEEN (orders table তৈরি করে)
  5. BETWEEN + AND (category)
  6. BETWEEN + OR (দুই price band)
  7. ORDER BY price DESC
  8. LIMIT 5
  9. GROUP BY category with price range
SELECT * FROM products WHERE price BETWEEN 500 AND 2000 ORDER BY price DESC LIMIT 5;
Expected: Keyboard 1800, Power Bank 1500, Laptop Stand 1200, Mouse 850, Phone Case 600
Mistake: BETWEEN 2000 AND 500 (reverse) — empty/unexpected। Lower আগে লেখো।
Best practice: DATE vs DATETIME আলাদা করে ভাবো; month filter-এ half-open বিবেচনা করো।
15

Common Beginner Mistakes

১০ মিনিট

1 — Boundary confusion

BETWEEN 70 AND 80 মানে সাধারণত 70–80 inclusive — শুধু 71–79 নয়।

2 — Reversing values

-- Wrong habit WHERE price BETWEEN 2000 AND 500;

Lower → Upper ক্রম রাখো।

3 — Unrelated values

BETWEEN সবচেয়ে ভালো ordered/continuous range-এ। ছিটানো নির্দিষ্ট মান → IN।

4 — BETWEEN vs IN

age IN (18, 20, 22) -- only three ages age BETWEEN 18 AND 22 -- 18,19,20,21,22

5 — DATETIME

WHERE order_date >= '2026-01-01' AND order_date < '2026-02-01';

6 — Quotes

Numbers: BETWEEN 500 AND 2000 · Dates: BETWEEN '2026-01-01' AND '2026-01-31'

16

SQL Execution Flow (simplified)

৫ মিনিট
FROM ↓ WHERE ← BETWEEN এখানে কাজ করে ↓ GROUP BY ↓ HAVING ↓ SELECT ↓ DISTINCT ↓ ORDER BY ↓ LIMIT
এটি simplified teaching model — optimizer ভেতর থেকে আলাদা হতে পারে।
WHERE → Range Condition → BETWEEN → Rows inside range survive
17

Industry Use Cases

৮ মিনিট
  • Data Analyst: salary / sales / spending / age groups
  • Data Scientist: feature filter, explore ranges
  • BI: KPI date filters, sales periods
  • Finance: transaction amounts, revenue bands
  • HR: salary bands, joining years
  • E-commerce: price filters, order value, promo windows
18

Performance Tips (beginner)

৫ মিনিট
  • Range filter সাধারণ; সঠিক index থাকলে দ্রুত হতে পারে
  • বারবার BETWEEN করা column (price, order_date) index candidate
  • Indexed column-এর চারপাশে অপ্রয়োজনীয় function এড়াও
  • DATETIME-এ সঠিক boundary ব্যবহার করো
  • শুধু দরকারি range নাও — হাজার হাজার অপ্রয়োজনীয় row টানো না
19

Interactive Classroom Activities

১৫ মিনিট

কার্ডে ক্লিক করে উত্তর দেখো।

Activity 1 — Predict: marks BETWEEN 70 AND 80 (45,52,67,70,72,75,78,80,83,91)
70,72,75,78,80 (67/83 বাদ)
Activity 2 — Is 70 included?
হ্যাঁ — inclusive lower bound
Activity 3 — Is 80 included?
হ্যাঁ — inclusive upper bound
Activity 4 — 18, 20 and 22 only: BETWEEN or IN?
IN (18,20,22) — specific values
Activity 5 — Price 500 to 1000: BETWEEN or LIKE?
BETWEEN — numeric range, LIKE text pattern
Activity 6 — Mistake? WHERE price BETWEEN 2000 AND 500
Bounds reversed — use BETWEEN 500 AND 2000
Activity 7 — Convert: salary >= 50000 AND salary <= 80000
salary BETWEEN 50000 AND 80000
Activity 8 — Convert back: age BETWEEN 18 AND 22
age >= 18 AND age <= 22
Activity 9 — January 2026 DATE filter
order_date BETWEEN '2026-01-01' AND '2026-01-31' (DATE)
Activity 10 — Products 500–5000 top 5 by price
WHERE price BETWEEN 500 AND 5000 ORDER BY price DESC LIMIT 5
Activity 11 — NOT BETWEEN 500 AND 2000: 450?
হ্যাঁ — range-এর বাইরে
Activity 12 — NL: IT + salary 50k–80k
WHERE salary BETWEEN 50000 AND 80000 AND department = 'IT'
20

Mini Project — E-commerce Sales Analysis

১৫ মিনিট

Part 13-এর tables ব্যবহার করে company analytics:

  1. Products 500–2000
  2. Products outside 500–2000
  3. Orders 10000–50000
  4. January 2026 orders
  5. Q1 2026 orders
  6. Employees 50000–80000
  7. Hired during 2025
  8. Top 10 products 500–5000
  9. Dept-wise count in salary range
  10. Dept-wise AVG(salary) in same range
SELECT department, AVG(salary) AS avg_salary FROM employees WHERE salary BETWEEN 50000 AND 80000 GROUP BY department;
21

BETWEEN Cheat Sheet

৫ মিনিট
BETWEEN number: price BETWEEN 500 AND 2000 date: order_date BETWEEN '2026-01-01' AND '2026-01-31' NOT BETWEEN: price NOT BETWEEN 500 AND 2000 multiple: salary BETWEEN 50000 AND 80000 AND department = 'IT' DATETIME month (safer): order_date >= '2026-01-01' AND order_date < '2026-02-01' BETWEEN = inclusive range 10 ✅ … 20 ✅
শেষে মনে রাখো: Need filtering → WHERE → Need a range → BETWEEN → salary BETWEEN 50000 AND 80000
22

MCQ (২০+)

১৫ মিনিট
MCQ 1. BETWEEN মানে? A) exact B) range C) pattern D) sort
B — নির্দিষ্ট range
MCQ 2. BETWEEN 70 AND 80-এ 70? A) না B) হ্যাঁ C) শুধু MySQL D) error
B — সাধারণত include
MCQ 3. 80 include? A) না B) হ্যাঁ C) কখনো না D) শুধু DATE
B
MCQ 4. Equivalent? A) >70 AND <80 B) >=70 AND <=80 C) =70 OR =80 D) IN(70,80)
B
MCQ 5. NOT BETWEEN করে? A) ভিতরে B) বাইরে C) sort D) group
B
MCQ 6. Date-এ quotes? A) না B) হ্যাঁ সাধারণত C) শুধু number D) কখনো না
B
MCQ 7. Number-এ quotes? A) সাধারণত না B) অবশ্যই C) শুধু BETWEEN D) error
A
MCQ 8. age IN(18,20,22) vs BETWEEN 18 AND 22
IN = নির্দিষ্ট; BETWEEN = সব বয়স ১৮–২২
MCQ 9. BETWEEN + AND মানে? A) দুই range B) range + অন্য condition C) OR D) LIMIT
B
MCQ 10. দুই price band? A) AND B) OR দুই BETWEEN C) LIKE D) REGEXP
B
MCQ 11. Top 10 in range? A) HAVING B) ORDER BY + LIMIT C) DISTINCT D) JOIN
B
MCQ 12. Dept count in salary band? A) GROUP BY B) LIKE C) REGEXP D) UNION
A
MCQ 13. DATETIME Jan end risk? A) কোনো সমস্যা নেই B) midnight end miss করতে পারে C) সবসময় error D) শুধু Oracle
B
MCQ 14. Safer month pattern?
>= '2026-01-01' AND < '2026-02-01'
MCQ 15. BETWEEN vs LIKE
BETWEEN range; LIKE text pattern
MCQ 16. BETWEEN vs REGEXP
BETWEEN range; REGEXP complex text
MCQ 17. Lower/Upper reverse?
Unexpected/empty — সঠিক ক্রম লেখো
MCQ 18. Inclusive মানে?
দুই boundary সহ
MCQ 19. salary BETWEEN 50000 AND 80000-এ 50000?
হ্যাঁ
MCQ 20. Q1 2026 DATE?
BETWEEN '2026-01-01' AND '2026-03-31'
MCQ 21. Best for continuous ages 18–22?
BETWEEN
MCQ 22. Best for only 18,20,22?
IN
23

Viva Questions

১০ মিনিট
Viva 1. BETWEEN কী?
Range-এর মধ্যে value খোঁজার operator
Viva 2. কেন ব্যবহার?
Range লেখা সহজ ও পড়া যায়
Viva 3. Boundary include?
সাধারণত হ্যাঁ — দুই দিক
Viva 4. Number-এ ব্যবহার?
হ্যাঁ
Viva 5. Date-এ ব্যবহার?
হ্যাঁ
Viva 6. NOT BETWEEN?
Range-এর বাইরে
Viva 7. BETWEEN vs IN?
Range vs নির্দিষ্ট list
Viva 8. BETWEEN vs >= <=?
একই numeric logic; BETWEEN ছোট
Viva 9. AND সাথে?
হ্যাঁ — অতিরিক্ত filter
Viva 10. OR সাথে?
হ্যাঁ — একাধিক range
Viva 11. GROUP BY সাথে?
হ্যাঁ — আগে WHERE filter
Viva 12. ORDER BY সাথে?
হ্যাঁ — filter পর sort
Viva 13. DATETIME issue?
End date midnight — time miss হতে পারে
Viva 14. Safer datetime?
>= start AND < next day/month
Viva 15. Quotes numbers?
সাধারণত লাগে না
Viva 16. Quotes dates?
লাগে
Viva 17. Reverse bounds?
এড়াও — lower first
Viva 18. LIKE কখন?
Text pattern — price range নয়
Viva 19. Teaching flow-এ BETWEEN কোথায়?
WHERE-এর ভিতরে
Viva 20. Core memory?
BETWEEN = inclusive range filter
Viva 21. Half-open মানে?
Start include, end exclusive
Viva 22. Industry use?
Salary band, sales period, price filter
24

Interview Top 30

১৫ মিনিট
IV 1. Employees salary 50k–80k
WHERE salary BETWEEN 50000 AND 80000 · ভুল: exclusive ভাবা · ফলো: IT only? · ইউজ: HR
IV 2. Products two prices
price BETWEEN a AND b · ভুল: reverse · ফলো: NOT BETWEEN? · ইউজ: catalog
IV 3. Orders two dates
order_date BETWEEN d1 AND d2 · ভুল: quotes ভুলে · ফলো: DATETIME? · ইউজ: sales
IV 4. Inclusive?
সাধারণত হ্যাঁ · ভুল: 71–79 · ফলো: docs? · ইউজ: reporting
IV 5. BETWEEN vs IN
range vs list · ভুল: একই ভাবা · ফলো: ages example · ইউজ: filters
IV 6. BETWEEN vs >= <=
readable vs flexible · ভুল: সবসময় এক · ফলো: datetime · ইউজ: code review
IV 7. NOT BETWEEN
outside range · ভুল: != · ফলো: price bands · ইউজ: outliers
IV 8. DATETIME BETWEEN
midnight end risk · ভুল: ignore time · ফলো: half-open · ইউজ: logs
IV 9. Entire month
>= m1 AND < next month · ভুল: only day 1–31 DATE ধরে DATETIME · ফলো: timezone? · ইউজ: BI
IV 10. GROUP BY + BETWEEN
WHERE band then GROUP · ভুল: HAVING-এ BETWEEN অপ্রয়োজনীয় · ফলো: COUNT · ইউজ: HR dashboards
IV 11. ORDER BY + LIMIT
filter→sort→limit · ভুল: LIMIT first · ফলো: top N · ইউজ: UI
IV 12. Two ranges OR
BETWEEN … OR BETWEEN … · ভুল: AND · ফলো: three bands · ইউজ: promos
IV 13. Quotes mistake
dates quoted, numbers usually not · ভুল: '500' always · ফলো: cast? · ইউজ: debugging
IV 14. Reverse BETWEEN
unexpected · ভুল: hope auto-swap · ফলো: engine? · ইউজ: QA
IV 15. Index tip
range columns index candidate · ভুল: function on column · ফলো: EXPLAIN · ইউজ: DBA
IV 16. Q1 filter
Jan1–Mar31 or half-open to Apr1 · ভুল: month=1 OR 2 only · ফলো: fiscal Q · ইউজ: finance
IV 17. Joining year 2025
joining BETWEEN '2025-01-01' AND '2025-12-31' · ভুল: YEAR() always · ফলো: index · ইউজ: HR
IV 18. Price NOT BETWEEN
outside · ভুল: NULL surprise · ফলো: NULL handling later · ইউজ: cleansing
IV 19. Combine dept
BETWEEN AND dept= · ভুল: OR · ফলো: multiple depts IN · ইউজ: payroll
IV 20. Teaching model flow
WHERE hosts BETWEEN · ভুল: after LIMIT · ফলো: HAVING vs WHERE · ইউজ: interviews
IV 21. Age groups
BETWEEN for bands · ভুল: LIKE · ফলো: CASE bands · ইউজ: analytics
IV 22. Sales amount band
total_amount BETWEEN · ভুল: REGEXP · ফলো: currency · ইউজ: BI
IV 23. Top products in band
BETWEEN + ORDER + LIMIT · ভুল: GROUP without need · ফলো: pagination · ইউজ: merchandising
IV 24. Equivalent rewrite
show >= AND <= · ভুল: > AND < · ফলো: prove with data · ইউজ: mentoring
IV 25. When avoid BETWEEN
non-contiguous lists · ভুল: force BETWEEN · ফলো: IN · ইউজ: code quality
IV 26. Bank balance range
balance BETWEEN · ভুল: string compare · ফলো: DECIMAL · ইউজ: banking
IV 27. Performance beginner
index + selective range · ভুল: SELECT * always · ফলো: covering index · ইউজ: large tables
IV 28. Half-open explain
start include end exclude · ভুল: both exclusive · ফলো: day ranges · ইউজ: event logs
IV 29. Common bug quotes on numbers
prefer unquoted numbers · ভুল: always string · ফলো: collation · ইউজ: debugging
IV 30. Final rule
BETWEEN = inclusive range tool · ভুল: regex substitute · ফলো: choose operator · ইউজ: daily SQL
25

Homework

বাড়ি

প্রশ্ন (আগে নিজে সমাধান করো):

  1. Products priced 500–2000
  2. Products priced 2000–5000
  3. Products outside 500–2000
  4. Orders amount 10000–50000
  5. Orders January 2026
  6. Orders Q1 2026
  7. Employees salary 50000–80000
  8. Employees hired in 2025
  9. Top 5 products price 500–5000
  10. Dept-wise count for salary 50000–80000

উত্তর (ক্লিক করে দেখো):

উত্তর ১
SELECT * FROM products WHERE price BETWEEN 500 AND 2000;
উত্তর ২
SELECT * FROM products WHERE price BETWEEN 2000 AND 5000;
উত্তর ৩
SELECT * FROM products WHERE price NOT BETWEEN 500 AND 2000;
উত্তর ৪
SELECT * FROM orders WHERE total_amount BETWEEN 10000 AND 50000;
উত্তর ৫
WHERE order_date BETWEEN '2026-01-01' AND '2026-01-31'; (DATE) / half-open যদি DATETIME
উত্তর ৬
WHERE order_date BETWEEN '2026-01-01' AND '2026-03-31';
উত্তর ৭
WHERE salary BETWEEN 50000 AND 80000;
উত্তর ৮
WHERE joining_date BETWEEN '2025-01-01' AND '2025-12-31';
উত্তর ৯
WHERE price BETWEEN 500 AND 5000 ORDER BY price DESC LIMIT 5;
উত্তর ১০
SELECT department, COUNT(*) FROM employees WHERE salary BETWEEN 50000 AND 80000 GROUP BY department;