An open API service indexing awesome lists of open source software.

https://github.com/rakibul263/mysql-database

📌 SQL-āĻāϰ āϖ⧁āρāϟāĻŋāύāĻžāϟāĻŋ (MySQL āϏāĻš) āĻāχ đŸ—‚ī¸ āϰ⧇āĻĒā§‹āϜāĻŋāϟāϰāĻŋāϤ⧇ SQL-āĻāϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϖ⧁āρāϟāĻŋāύāĻžāϟāĻŋ āĻŦāĻŋāώ⧟ āĻŦāĻžāĻ‚āϞāĻž āĻ­āĻžāώāĻžā§Ÿ 📖 āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ đŸ›ĸī¸ MySQL-āĻāϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻ•ā§‹ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇ ✅
https://github.com/rakibul263/mysql-database

database mysql-database sql

Last synced: 8 months ago
JSON representation

📌 SQL-āĻāϰ āϖ⧁āρāϟāĻŋāύāĻžāϟāĻŋ (MySQL āϏāĻš) āĻāχ đŸ—‚ī¸ āϰ⧇āĻĒā§‹āϜāĻŋāϟāϰāĻŋāϤ⧇ SQL-āĻāϰ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āϖ⧁āρāϟāĻŋāύāĻžāϟāĻŋ āĻŦāĻŋāώ⧟ āĻŦāĻžāĻ‚āϞāĻž āĻ­āĻžāώāĻžā§Ÿ 📖 āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇āĨ¤ āĻāĻ–āĻžāύ⧇ đŸ›ĸī¸ MySQL-āĻāϰ āĻĒā§āĻ°ā§Ÿā§‹āϜāĻ¨ā§€ā§Ÿ āĻ•ā§‹ā§Ÿā§‡āϰāĻŋāϗ⧁āϞ⧋ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇ ✅

Awesome Lists containing this project

README

          

All About MySQL

### **`CREATE TABLE` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `CREATE TABLE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ **āĻāĻ•āϟāĻŋ āύāϤ⧁āύ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇**āĨ¤

---

## **✅ `CREATE TABLE` āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
CREATE TABLE table_name (
column1 datatype constraints,
column2 datatype constraints,
column3 datatype constraints,
...
);
```
🔹 **`table_name`** → āύāϤ⧁āύ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āύāĻžāĻŽ
🔹 **`column1, column2, ...`** → āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ
🔹 **`datatype`** → āĻ•āϞāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻĄāĻžāϟāĻž āϟāĻžāχāĻĒ (āϝ⧇āĻŽāύ: `INT`, `VARCHAR`, `DATE`, `DECIMAL` āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)
🔹 **`constraints`** → āĻ•āϞāĻžāĻŽā§‡āϰ āϰ⧁āϞ (āϝ⧇āĻŽāύ: `PRIMARY KEY`, `NOT NULL`, `UNIQUE` āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)

---

## **✅ `employees` āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻž**
```sql
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
department VARCHAR(30),
age INT CHECK (age >= 18),
salary DECIMAL(10,2),
join_date DATE
);
```
🔹 **`id`** → Primary Key (āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ ā§§, ⧍, ā§Š... āĻšāĻŦ⧇)
🔹 **`name`** → āύāĻžāĻŽ (`VARCHAR(50)`, āĻ–āĻžāϞāĻŋ āϰāĻžāĻ–āĻž āϝāĻžāĻŦ⧇ āύāĻž)
🔹 **`department`** → āĻŦāĻŋāĻ­āĻžāĻ— (`VARCHAR(30)`, āĻ–āĻžāϞāĻŋ āϰāĻžāĻ–āĻž āϝāĻžāĻŦ⧇)
🔹 **`age`** → āĻŦ⧟āϏ (āĻ•āĻŽāĻĒāĻ•ā§āώ⧇ ā§§ā§Ž āĻšāϤ⧇ āĻšāĻŦ⧇)
🔹 **`salary`** → āĻŦ⧇āϤāύ (`DECIMAL(10,2)` āĻ…āĻ°ā§āĻĨāĻžā§Ž, ā§§ā§Ļ āĻĄāĻŋāϜāĻŋāĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ ⧍ āĻĄāĻŋāϜāĻŋāϟ āĻĻāĻļāĻŽāĻŋāϕ⧇āϰ āĻĒāϰ)
🔹 **`join_date`** → āϝ⧋āĻ—āĻĻāĻžāύ⧇āϰ āϤāĻžāϰāĻŋāĻ–

---

## **✅ `CREATE TABLE`-āĻāϰ āϏāĻžāĻĨ⧇ āĻ•āĻ¨ā§āĻĄāĻŋāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž**
### **ā§§. āϝāĻĻāĻŋ āĻŸā§‡āĻŦāĻŋāϞāϟāĻŋ āφāϗ⧇ āĻĨ⧇āϕ⧇āχ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧇ āύāϤ⧁āύ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇**
```sql
DROP TABLE IF EXISTS employees;
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
department VARCHAR(30),
age INT CHECK (age >= 18),
salary DECIMAL(10,2),
join_date DATE
);
```
🔹 **`DROP TABLE IF EXISTS employees;`** → āϝāĻĻāĻŋ `employees` āĻŸā§‡āĻŦāĻŋāϞ āφāϗ⧇ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āĻŽā§āϛ⧇ āĻĢ⧇āϞ⧇ āύāϤ⧁āύ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇

---

### **⧍. āϝāĻĻāĻŋ āĻŸā§‡āĻŦāĻŋāϞāϟāĻŋ āφāϗ⧇ āĻĨ⧇āϕ⧇ āύāĻž āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āύāϤ⧁āύ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇**
```sql
CREATE TABLE IF NOT EXISTS employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
department VARCHAR(30),
age INT CHECK (age >= 18),
salary DECIMAL(10,2),
join_date DATE
);
```
🔹 **`IF NOT EXISTS`** → āϝāĻĻāĻŋ `employees` āĻŸā§‡āĻŦāĻŋāϞ āύāĻž āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ āύāϤ⧁āύ āĻ•āϰ⧇ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦ⧇

---

### **`INSERT INTO` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `INSERT INTO` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ **āĻŸā§‡āĻŦāĻŋāϞ⧇ āύāϤ⧁āύ āĻĄāĻžāϟāĻž āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāϤ⧇**āĨ¤

---

## **✅ `INSERT INTO` āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
```
🔹 **`table_name`** → āϝ⧇ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĄāĻžāϟāĻž āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻž āĻšāĻŦ⧇
🔹 **`column1, column2, ...`** → āϝ⧇ āĻ•āϞāĻžāĻŽāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ āĻĄāĻžāϟāĻž āĻĻ⧇āĻ“ā§ŸāĻž āĻšāĻŦ⧇
🔹 **`value1, value2, ...`** → āϝ⧇ āĻŽāĻžāύāϗ⧁āϞ⧋ āχāύāϏāĻžāĻ°ā§āϟ āĻšāĻŦ⧇

---

## **✅ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ ⧍ā§Ļ āϜāύ āĻ•āĻ°ā§āĻŽā§€āϰ āĻĄāĻžāϟāĻž āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻž**
```sql
INSERT INTO employees (name, department, age, salary, join_date) VALUES
('Samiul', 'IT', 25, 50000.00, '2022-03-15'),
('Fahim', 'HR', 30, 45000.50, '2021-07-10'),
('Ayesha', 'Finance', 28, 55000.75, '2022-10-05'),
('Rifat', 'IT', 27, 48000.00, '2023-01-12'),
('Tanjim', 'Marketing', 29, 47000.00, '2022-06-20'),
('Nabila', 'HR', 26, 42000.00, '2023-04-11'),
('Hasib', 'IT', 31, 52000.50, '2021-09-14'),
('Jannat', 'Finance', 24, 51000.00, '2022-02-07'),
('Rakib', 'IT', 28, 50000.00, '2023-03-18'),
('Mou', 'Marketing', 27, 46000.00, '2022-12-05'),
('Sabbir', 'Finance', 29, 53000.00, '2021-08-25'),
('Raihan', 'HR', 32, 41000.00, '2022-07-17'),
('Shamim', 'IT', 26, 47000.50, '2023-05-21'),
('Jui', 'Marketing', 30, 49000.00, '2022-11-09'),
('Tarek', 'Finance', 28, 52000.00, '2021-06-30'),
('Afia', 'HR', 25, 43000.00, '2023-08-14'),
('Mamun', 'IT', 33, 54000.75, '2022-09-19'),
('Tanvir', 'Marketing', 27, 48000.00, '2023-02-22'),
('Faria', 'Finance', 26, 51000.00, '2022-04-16'),
('Mehedi', 'HR', 29, 45000.00, '2023-07-29');
```
🔹 āĻāĻ–āĻžāύ⧇ **⧍ā§Ļ āϜāύ āĻ•āĻ°ā§āĻŽā§€āϰ āϤāĻĨā§āϝ āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻž āĻšā§Ÿā§‡āϛ⧇**
🔹 **`id` āĻ•āϞāĻžāĻŽ `AUTO_INCREMENT` āĻĨāĻžāĻ•āϞ⧇** āϏ⧇āϟāĻŋ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧāĻ­āĻžāĻŦ⧇ āϏāĻ‚āĻ–ā§āϝāĻž āĻ…ā§āϝāĻžāϏāĻžāχāύ āĻ•āϰāĻŦ⧇

---

## **✅ āϏāĻŦ āĻ•āϞāĻžāĻŽā§‡ āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻž (āϕ⧋āύ⧋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϞāĻžāĻŽ āωāĻ˛ā§āϞ⧇āĻ– āύāĻž āĻ•āϰ⧇)**
```sql
INSERT INTO employees VALUES
(21, 'Kamal', 'IT', 30, 52000.00, '2023-06-12');
```
🔹 **āϏāĻŦ āĻ•āϞāĻžāĻŽā§‡āϰ āϜāĻ¨ā§āϝ āĻŽāĻžāύ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇**
🔹 **`id` āĻ•āϞāĻžāĻŽā§‡ āĻ¸ā§āĻŦāϝāĻŧāĻ‚āĻ•ā§āϰāĻŋāϝāĻŧ āϏāĻ‚āĻ–ā§āϝāĻž āϝ⧁āĻ•ā§āϤ āĻšāϞ⧇ āĻĒā§āϰāĻĨāĻŽ āĻ•āϞāĻžāĻŽ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āωāϚāĻŋāϤ**

---

## **✅ āĻāĻ•āĻžāϧāĻŋāĻ• `INSERT` āĻāĻ•āϏāĻžāĻĨ⧇ āϚāĻžāϞāĻžāύ⧋ (Bulk Insert)**
```sql
INSERT INTO employees (name, department, age, salary, join_date) VALUES
('Arif', 'IT', 28, 49000.00, '2023-01-05'),
('Mahin', 'Finance', 27, 53000.00, '2022-08-23'),
('Saima', 'HR', 26, 44000.00, '2023-10-10');
```
🔹 **āĻāĻ•āϟāĻŋ `INSERT INTO` āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻāĻ•āĻžāϧāĻŋāĻ• āϰ⧋ āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻž āϝāĻžā§Ÿ**

---

## **✅ `INSERT` + `SELECT` (āĻ…āĻ¨ā§āϝ āĻŸā§‡āĻŦāĻŋāϞ āĻĨ⧇āϕ⧇ āĻĄāĻžāϟāĻž āĻ•āĻĒāĻŋ āĻ•āϰāĻž)**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻŸā§‡āĻŦāĻŋāϞ āĻĨ⧇āϕ⧇ āĻĄāĻžāϟāĻž āĻ•āĻĒāĻŋ āĻ•āϰ⧇ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ āϰāĻžāĻ–āϤ⧇ āϚāĻžāχ**:
```sql
INSERT INTO employees (name, department, age, salary, join_date)
SELECT full_name, dept, years, pay, start_date FROM old_employees;
```
🔹 āĻāϟāĻŋ **`old_employees` āĻŸā§‡āĻŦāĻŋāϞ āĻĨ⧇āϕ⧇ āĻĄāĻžāϟāĻž āύāĻŋā§Ÿā§‡ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ āϏāĻ‚āϝ⧁āĻ•ā§āϤ āĻ•āϰāĻŦ⧇**

---

## **✅ āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻžāϰ āĻĒāϰ āĻĄāĻžāϟāĻž āĻšā§‡āĻ• āĻ•āϰāĻž (`SELECT` āĻĻāĻŋā§Ÿā§‡)**
```sql
SELECT * FROM employees;
```
🔹 **`employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ āύāϤ⧁āύ āϝ⧋āĻ— āĻ•āϰāĻž āĻĄāĻžāϟāĻž āĻĻ⧇āĻ–āĻžāĻŦ⧇**

---

### **`UPDATE` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `UPDATE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ **āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ⧇ āĻĨāĻžāĻ•āĻž āĻĄāĻžāϟāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇**āĨ¤

---

## **✅ `UPDATE` āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
```

🔹 **`table_name`** → āϝ⧇ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻĄāĻžāϟāĻž āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻŦ⧇āύ
🔹 **`SET`** → āϝ⧇āϏāĻŦ āĻ•āϞāĻžāĻŽā§‡āϰ āĻŽāĻžāύ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āϚāĻžāύ
🔹 **`WHERE`** → āϕ⧋āύ āϰ⧋ (row) āφāĻĒāĻĄā§‡āϟ āĻšāĻŦ⧇, āϏ⧇āϟāĻž āĻ āĻŋāĻ• āĻ•āϰāϤ⧇

âš ī¸ **IMPORTANT:**
**`WHERE` āύāĻž āĻĻāĻŋāϞ⧇ āĻĒ⧁āϰ⧋ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻĄāĻžāϟāĻž āφāĻĒāĻĄā§‡āϟ āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇!** āϏāĻžāĻŦāϧāĻžāύ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύāĨ¤

---

## **✅ ā§§. āĻāĻ• āĻ•āϞāĻžāĻŽ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž**
āϧāϰāĻŋ, āφāĻŽāϰāĻž **ID ā§§** āύāĻŽā§āĻŦāϰ āĻ•āĻ°ā§āĻŽā§€āϰ āĻŦ⧇āϤāύ āĻŦāĻžā§œāĻŋā§Ÿā§‡ **ā§Ŧā§Ļā§Ļā§Ļā§Ļ** āĻ•āϰāϤ⧇ āϚāĻžāχ:
```sql
UPDATE employees
SET salary = 60000
WHERE id = 1;
```

🔹 **Result:** `id = 1` āĻāϰ **`salary` 60000** āĻ āφāĻĒāĻĄā§‡āϟ āĻšāĻŦ⧇āĨ¤

---

## **✅ ⧍. āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **ID ⧍** āύāĻŽā§āĻŦāϰ āĻ•āĻ°ā§āĻŽā§€āϰ **āĻŦ⧇āϤāύ āĻ“ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ** āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāϤ⧇ āϚāĻžāχ:
```sql
UPDATE employees
SET salary = 48000, department = 'Marketing'
WHERE id = 2;
```

🔹 **Result:** `id = 2` āĻāϰ **āĻŦ⧇āϤāύ** āĻāĻŦāĻ‚ **āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ** āφāĻĒāĻĄā§‡āϟ āĻšāĻŦ⧇āĨ¤

---

## **✅ ā§Š. āĻļāĻ°ā§āϤ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϝāĻžāϰāĻž IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āφāϛ⧇āύ, āϤāĻžāĻĻ⧇āϰ āĻŦ⧇āϤāύ ā§§ā§Ļ% āĻŦāĻžā§œāĻžāϤ⧇ āϚāĻžāχ**:
```sql
UPDATE employees
SET salary = salary * 1.10
WHERE department = 'IT';
```

🔹 **Result:** **IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€āϰ āĻŦ⧇āϤāύ ā§§ā§Ļ% āĻŦāĻžā§œāĻŦ⧇āĨ¤**

---

## **✅ ā§Ē. āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϤāĻžāϰāĻŋāϖ⧇āϰ āωāĻĒāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋ āĻ•āϰ⧇ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϝāĻžāϰāĻž ⧍ā§Ļ⧍⧍ āϏāĻžāϞ⧇āϰ āφāϗ⧇ āĻœā§Ÿā§‡āύ āĻ•āϰ⧇āϛ⧇, āϤāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ 'Senior' āĻ•āϰāϤ⧇ āϚāĻžāχ**:
```sql
UPDATE employees
SET department = 'Senior'
WHERE join_date < '2022-01-01';
```

🔹 **Result:** **⧍ā§Ļ⧍⧍ āϏāĻžāϞ⧇āϰ āφāϗ⧇ āĻœā§Ÿā§‡āύ āĻ•āϰāĻž āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ 'Senior' āĻšāĻŦ⧇āĨ¤**

---

## **✅ ā§Ģ. `UPDATE` āĻ•āϰāĻžāϰ āĻĒāϰ āĻĄāĻžāϟāĻž āĻšā§‡āĻ• āĻ•āϰāĻž (`SELECT`)**
```sql
SELECT * FROM employees;
```

🔹 **āφāĻĒāĻĄā§‡āĻŸā§‡āĻĄ āĻĄāĻžāϟāĻž āĻĻ⧇āĻ–āĻžāύ⧋āϰ āϜāĻ¨ā§āϝ `SELECT` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤**

---

## **✅ ā§Ŧ. `UPDATE` + `LIMIT` (āϏ⧀āĻŽāĻŋāϤ āϰ⧋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž)**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āĻļ⧁āϧ⧁ āĻĒā§āϰāĻĨāĻŽ ā§Ģ āϜāύ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ 'Test' āĻ•āϰāϤ⧇ āϚāĻžāχ**:
```sql
UPDATE employees
SET department = 'Test'
LIMIT 5;
```

🔹 **Result:** **āĻĒā§āϰāĻĨāĻŽ ā§Ģ āϜāύ āĻ•āĻ°ā§āĻŽā§€āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ 'Test' āĻšāĻŦ⧇āĨ¤**

---

## **✅ ā§­. `UPDATE` + `ORDER BY` (āϏāĻžāϜāĻŋā§Ÿā§‡ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž)**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ āĻŦ⧇āϤāύ⧇āϰ āĻ•āĻ°ā§āĻŽā§€āϰ āĻŦ⧇āϤāύ ā§Ēā§Ģā§Ļā§Ļā§Ļ āĻ•āϰāϤ⧇ āϚāĻžāχ**:
```sql
UPDATE employees
SET salary = 45000
ORDER BY salary ASC
LIMIT 1;
```

🔹 **Result:** **āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻ•āĻŽ āĻŦ⧇āϤāύ āĻĒāĻžāĻ“ā§ŸāĻž āĻ•āĻ°ā§āĻŽā§€āϰ āĻŦ⧇āϤāύ ā§Ēā§Ģā§Ļā§Ļā§Ļ āĻšāĻŦ⧇āĨ¤**

---

## **✅ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `UPDATE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏ⧁āĻŦāĻŋāϧāĻž**
✔ **āĻĄāĻžāϟāĻž āϏāĻšāĻœā§‡ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϝāĻžā§Ÿ**
✔ **āĻļāĻ°ā§āϤ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϰ⧋ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āϝāĻžā§Ÿ**
✔ **āĻ—āĻžāĻŖāĻŋāϤāĻŋāĻ• āĻ…āĻĒāĻžāϰ⧇āĻļāύ (āϝ⧇āĻŽāύ: `salary * 1.10`) āĻ•āϰāĻž āϝāĻžā§Ÿ**

### **`WHERE` Clause āĻ•āĻŋ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
`WHERE` āĻ•ā§āϞāϜ SQL-āϤ⧇ **āĻļāĻ°ā§āϤ āύāĻŋāĻ°ā§āϧāĻžāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧ**āĨ¤ āϝāĻ–āύ āφāĻŽāϰāĻž āϕ⧋āύ⧋ āĻŸā§‡āĻŦāĻŋāϞ āĻĨ⧇āϕ⧇ **āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĄā§‡āϟāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ** āĻ•āϰāϤ⧇ āϚāĻžāχ, āϤāĻ–āύ `WHERE` āĻ•ā§āϞāϜ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāϟāĻŋ āĻŽā§‚āϞāϤ `SELECT`, `UPDATE`, `DELETE` āĻāĻŦāĻ‚ `INSERT` āĻ¸ā§āĻŸā§‡āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ā§§: āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāĻž**
āϧāϰāĻž āϝāĻžāĻ•, āφāĻŽāϰāĻž `IT` āĻŦāĻŋāĻ­āĻžāϗ⧇ āĻ•āĻ°ā§āĻŽāϰāϤ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχāĨ¤

```sql
SELECT * FROM Employees WHERE department = 'IT';
```
👉 āĻāχ āĻ•āĻŋāωāϰāĻŋāϟāĻŋ `Employees` āĻŸā§‡āĻŦāĻŋāϞ āĻĨ⧇āϕ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ `IT` āĻŦāĻŋāĻ­āĻžāϗ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϤāĻĨā§āϝ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ⧍: ā§Šā§Ļ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ āĻŦāϝāĻŧāϏ⧀ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϤāĻžāϞāĻŋāĻ•āĻž**
```sql
SELECT * FROM Employees WHERE age > 30;
```
👉 āĻāχ āĻ•āĻŋāωāϰāĻŋ āϏ⧇āχāϏāĻŦ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϤāĻĨā§āϝ āĻĻ⧇āĻ–āĻžāĻŦ⧇ āϝāĻžāĻĻ⧇āϰ āĻŦāϝāĻŧāϏ **ā§Šā§Ļ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ**āĨ¤

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ā§Š: āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦ⧇āϤāύāϏ⧀āĻŽāĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϤāĻžāϞāĻŋāĻ•āĻž**
āϧāϰāĻŋ, āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχ āϝāĻžāĻĻ⧇āϰ āĻŦ⧇āϤāύ **ā§Ēā§Ļā§Ļā§Ļā§Ļ āĻĨ⧇āϕ⧇ ā§Ģā§Ļā§Ļā§Ļā§Ļ** āĻāϰ āĻŽāĻ§ā§āϝ⧇āĨ¤

```sql
SELECT * FROM Employees WHERE salary BETWEEN 40000 AND 50000;
```
👉 āĻāχ āĻ•āĻŋāωāϰāĻŋ āĻļ⧁āϧ⧁ āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇ āϝāĻžāĻĻ⧇āϰ āĻŦ⧇āϤāύ ā§Ēā§Ļā§Ļā§Ļā§Ļ āĻĨ⧇āϕ⧇ ā§Ģā§Ļā§Ļā§Ļā§Ļ āϟāĻžāĻ•āĻžāϰ āĻŽāĻ§ā§āϝ⧇ āφāϛ⧇āĨ¤

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ā§Ē: `HR` āĻŦāĻŋāĻ­āĻžāĻ— āĻŦāĻžāĻĻ⧇ āĻ…āĻ¨ā§āϝāĻĻ⧇āϰ āϤāĻĨā§āϝ**
āφāĻŽāϰāĻž āϝāĻĻāĻŋ `HR` āĻŦāĻŋāĻ­āĻžāϗ⧇āϰ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āĻŦāĻžāĻĻ āĻĻāĻŋāϝāĻŧ⧇ āĻŦāĻžāĻ•āĻŋ āϏāĻ•āϞāϕ⧇ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχ:

```sql
SELECT * FROM Employees WHERE department <> 'HR';
```
(āĻāĻ–āĻžāύ⧇ `<>` āĻ…āĻ°ā§āĻĨ **"āϏāĻŽāĻžāύ āύāϝāĻŧ"**)

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ā§Ģ: ⧍ā§Ļ⧍⧧ āϏāĻžāϞ⧇āϰ āĻĒāϰ⧇ āϝ⧋āĻ— āĻĻ⧇āĻ“āϝāĻŧāĻž āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āϰāĻž**
```sql
SELECT * FROM Employees WHERE join_date > '2021-12-31';
```
👉 āĻāχ āĻ•āĻŋāωāϰāĻŋāϟāĻŋ **⧍ā§Ļ⧍⧍ āĻŦāĻž āĻāϰ āĻĒāϰ⧇** āϝ⧋āĻ— āĻĻ⧇āĻ“āϝāĻŧāĻž āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ā§Ŧ: āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āύāĻžāĻŽā§‡ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž `Rahim Islam` āύāĻžāĻŽā§‡āϰ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āϰ āϤāĻĨā§āϝ āϜāĻžāύāϤ⧇ āϚāĻžāχ:
```sql
SELECT * FROM Employees WHERE name = 'Rahim Islam';
```
👉 āĻāϟāĻŋ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ **Rahim Islam**-āĻāϰ āϤāĻĨā§āϝ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

### **āωāĻĻāĻžāĻšāϰāĻŖ ā§­: āĻāĻ•āĻžāϧāĻŋāĻ• āĻļāĻ°ā§āϤ āĻāĻ•āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž (`AND` āĻāĻŦāĻ‚ `OR`)**

✅ **āϝāĻĻāĻŋ āφāĻŽāϰāĻž `IT` āĻŦāĻŋāĻ­āĻžāϗ⧇āϰ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ āϝāĻžāĻĻ⧇āϰ āĻŦāϝāĻŧāϏ ⧍ā§Ģ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ:**
```sql
SELECT * FROM Employees WHERE department = 'IT' AND age > 25;
```
👉 āĻāϟāĻŋ āĻļ⧁āϧ⧁ `IT` āĻŦāĻŋāĻ­āĻžāϗ⧇āϰ **āϝāĻžāĻĻ⧇āϰ āĻŦāϝāĻŧāϏ ⧍ā§Ģ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ** āϤāĻžāĻĻ⧇āϰ āϤāĻĨā§āϝ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

✅ **āϝāĻĻāĻŋ āφāĻŽāϰāĻž `HR` āĻŦāĻž `Finance` āĻŦāĻŋāĻ­āĻžāϗ⧇āϰ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχ:**
```sql
SELECT * FROM Employees WHERE department = 'HR' OR department = 'Finance';
```
👉 āĻāϟāĻŋ `HR` āĻāĻŦāĻ‚ `Finance` āĻŦāĻŋāĻ­āĻžāϗ⧇ āĻ•āĻ°ā§āĻŽāϰāϤ āϏāĻ•āϞ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āϰ āϤāĻĨā§āϝ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

### **āωāĻĒāϏāĻ‚āĻšāĻžāϰ**
🔹 `WHERE` āĻ•ā§āϞāϜ **āĻĄāĻžāϟāĻžāĻŦ⧇āϜ āĻĨ⧇āϕ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻĄā§‡āϟāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇**āĨ¤
🔹 āĻāϟāĻŋ `=`, `>`, `<`, `>=`, `<=`, `<>`, `BETWEEN`, `AND`, `OR` āχāĻ¤ā§āϝāĻžāĻĻāĻŋ āĻ…āĻĒāĻžāϰ⧇āϟāϰ⧇āϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤
🔹 āφāĻŽāϰāĻž `WHERE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŦāĻŋāĻ­āĻžāĻ—, āĻŦāϝāĻŧāϏ, āĻŦ⧇āϤāύ, āϝ⧋āĻ—āĻĻāĻžāύ⧇āϰ āϤāĻžāϰāĻŋāĻ– āχāĻ¤ā§āϝāĻžāĻĻāĻŋāϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋāϤ⧇ āĻ•āĻ°ā§āĻŽāϚāĻžāϰ⧀āĻĻ⧇āϰ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŋāĨ¤

### **`BETWEEN` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
`BETWEEN` **āĻĻ⧁āϟāĻŋ āĻŽāĻžāύ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĄāĻžāϟāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāϤ⧇** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āĻāϟāĻŋ **inclusive**, āĻ…āĻ°ā§āĻĨāĻžā§Ž **āĻļ⧁āϰ⧁āϰ āĻŽāĻžāύ āĻ“ āĻļ⧇āώ⧇āϰ āĻŽāĻžāύ āĻĻ⧁āĻŸā§‹āχ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧇**āĨ¤

#### **āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
SELECT column_name FROM table_name
WHERE column_name BETWEEN value1 AND value2;
```
āĻāĻ–āĻžāύ⧇ `value1` āĻāĻŦāĻ‚ `value2` āĻāϰ āĻŽāĻ§ā§āϝ⧇ āĻĨāĻžāĻ•āĻž āϏāĻŦ āĻĄāĻžāϟāĻž **āϰāĻŋāϟāĻžāĻ°ā§āύ** āĻ•āϰāĻŦ⧇āĨ¤

---

### ***āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāĻ•ā§āϝāĻžāϞ āωāĻĻāĻžāĻšāϰāĻŖ***
āϧāϰāĻž āϝāĻžāĻ•, āφāĻŽāϰāĻž `Employees` āĻŸā§‡āĻŦāĻŋāϞ āĻĨ⧇āϕ⧇ **āϝāĻžāϰāĻž ā§Ēā§Ļ,ā§Ļā§Ļā§Ļ āĻĨ⧇āϕ⧇ ā§Ģā§Ļ,ā§Ļā§Ļā§Ļ āϟāĻžāĻ•āĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻŦ⧇āϤāύ āĻĒāĻžāϝāĻŧ āϤāĻžāĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
WHERE salary BETWEEN 40000 AND 50000;
```
āĻāϟāĻŋ **ā§Ēā§Ļ,ā§Ļā§Ļā§Ļ āĻĨ⧇āϕ⧇ ā§Ģā§Ļ,ā§Ļā§Ļā§Ļ āĻāϰ āĻŽāĻ§ā§āϝ⧇ āĻĨāĻžāĻ•āĻž āϏāĻ•āϞ salary** āϏāĻš employee āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

### **āϤāĻžāϰāĻŋāϖ⧇āϰ āϜāĻ¨ā§āϝ `BETWEEN` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
āϧāϰ⧁āύ, āφāĻŽāϰāĻž ⧍ā§Ļ⧍⧍ āϏāĻžāϞ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āϜāϝāĻŧ⧇āύ āĻ•āϰāĻž āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχ:
```sql
SELECT * FROM Employees
WHERE join_date BETWEEN '2022-01-01' AND '2022-12-31';
```
āĻāĻ–āĻžāύ⧇, **`join_date` āϝāĻĻāĻŋ ā§§āϞāĻž āϜāĻžāύ⧁āϝāĻŧāĻžāϰāĻŋ ⧍ā§Ļ⧍⧍ āĻĨ⧇āϕ⧇ ā§Šā§§āĻļ⧇ āĻĄāĻŋāϏ⧇āĻŽā§āĻŦāϰ ⧍ā§Ļ⧍⧍ āĻāϰ āĻŽāĻ§ā§āϝ⧇ āĻĒāĻĄāĻŧ⧇, āϤāĻžāĻšāϞ⧇ āϏ⧇āχ āϏāĻŦ āϰ⧋ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇**āĨ¤

---

### **`BETWEEN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏ⧁āĻŦāĻŋāϧāĻž:**
✅ **āϕ⧋āĻĄ āϛ⧋āϟ āĻšāϝāĻŧ** → `BETWEEN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϏāĻšāĻœā§‡āχ āϰ⧇āĻžā§āϜ āϏ⧇āϟ āĻ•āϰāĻž āϝāĻžāϝāĻŧ
✅ **āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ­āĻžāϞ⧋ āĻšāϝāĻŧ** → āĻāϟāĻŋ **āχāĻ¨ā§āĻĄā§‡āĻ•ā§āϏ** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻžāĻ°ā§āϝāĻ•āϰāĻ­āĻžāĻŦ⧇ āĻĄāĻžāϟāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰ⧇
✅ **āĻŦ⧁āĻāϤ⧇ āϏāĻšāϜ** → āĻāϟāĻŋ `>=` āĻāĻŦāĻ‚ `<=` āĻāϰ āϏāĻŽāϤ⧁āĻ˛ā§āϝ, āϤāĻŦ⧇ āĻ•āĻŽ āϜāϟāĻŋāϞ

---

### **`BETWEEN` āĻāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ (`>=` āĻāĻŦāĻ‚ `<=`)**
āωāĻĒāϰ⧇ āĻĻ⧇āĻ“āϝāĻŧāĻž query āύāĻŋāĻšā§‡āϰ āĻŽāϤ āĻ•āϰ⧇āĻ“ āϞ⧇āĻ–āĻž āϝāĻžāϝāĻŧ:
```sql
SELECT * FROM Employees
WHERE salary >= 40000 AND salary <= 50000;
```
āĻ•āĻŋāĻ¨ā§āϤ⧁ **`BETWEEN` āĻ•āĻŽāĻĒā§āϝāĻžāĻ•ā§āϟ āĻāĻŦāĻ‚ āϏāĻšāϜāĻŦā§‹āĻ§ā§āϝ**, āϤāĻžāχ āĻāϟāĻŋāχ āĻŦ⧇āĻļāĻŋ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšāϝāĻŧāĨ¤

### **`IN` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `IN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ **āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϤāĻžāϞāĻŋāĻ•āĻžāϰ āĻŽāĻ§ā§āϝ⧇ āĻĨāĻžāĻ•āĻž āĻŽāĻžāύāϗ⧁āϞ⧋āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞ āφāϛ⧇ āĻ•āĻŋāύāĻž āϤāĻž āĻšā§‡āĻ• āĻ•āϰāϤ⧇**āĨ¤ āĻāϟāĻŋ `OR` āĻ•āĻ¨ā§āĻĄāĻŋāĻļāύ⧇āϰ āϏāĻšāϜāϤāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒāĨ¤

---

### **āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
SELECT column_name FROM table_name
WHERE column_name IN (value1, value2, value3, ...);
```
āĻāϟāĻŋ **`column_name` āϝāĻĻāĻŋ `value1`, `value2`, āĻŦāĻž `value3` āĻāϰ āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋāϰ āϏāĻŽāĻžāύ āĻšāϝāĻŧ, āϤāĻžāĻšāϞ⧇ āϏ⧇āχ āϰ⧋ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇**āĨ¤

---

### **āĻĒā§āĻ°ā§āϝāĻžāĻ•āϟāĻŋāĻ•ā§āϝāĻžāϞ āωāĻĻāĻžāĻšāϰāĻŖ**
āϧāϰāĻž āϝāĻžāĻ•, āφāĻŽāϰāĻž **"HR", "IT", āĻāĻŦāĻ‚ "Finance"** āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχāĨ¤

✅ **`IN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇:**
```sql
SELECT * FROM Employees
WHERE department IN ('HR', 'IT', 'Finance');
```
āĻāϟāĻŋ **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ HR, IT, āĻāĻŦāĻ‚ Finance āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϰ⧇āĻ•āĻ°ā§āĻĄ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇**āĨ¤

❌ **`OR` āĻĻāĻŋāϝāĻŧ⧇ āĻ•āϰāϞ⧇:**
```sql
SELECT * FROM Employees
WHERE department = 'HR' OR department = 'IT' OR department = 'Finance';
```
`IN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ āϕ⧋āĻĄ āϛ⧋āϟ āĻāĻŦāĻ‚ āϏāĻšāϜ āĻšāϝāĻŧ⧇ āϝāĻžāϝāĻŧāĨ¤

---

### **`IN` āϏāĻ‚āĻ–ā§āϝāĻž āĻŦāĻž āϤāĻžāϰāĻŋāϖ⧇āϰ āϏāĻžāĻĨ⧇āĻ“ āĻ•āĻžāϜ āĻ•āϰ⧇**
āφāĻŽāϰāĻž āϝāĻĻāĻŋ **āϝāĻžāϰāĻž ⧍ā§Ģ, ā§Šā§Ļ, āĻ…āĻĨāĻŦāĻž ā§Šā§Ģ āĻŦāĻ›āϰ āĻŦāϝāĻŧāϏ⧀ āϤāĻžāĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ**, āϤāĻžāĻšāϞ⧇:
```sql
SELECT * FROM Employees
WHERE age IN (25, 30, 35);
```
āĻāϟāĻŋ **⧍ā§Ģ, ā§Šā§Ļ āĻŦāĻž ā§Šā§Ģ āĻŦāĻ›āϰ āĻŦāϝāĻŧāϏ⧀ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇**āĨ¤

āϤāĻžāϰāĻŋāϖ⧇āϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇āĻ“ āĻ•āĻžāϜ āĻ•āϰ⧇:
```sql
SELECT * FROM Employees
WHERE join_date IN ('2022-01-10', '2023-04-18', '2021-07-01');
```
āĻāϟāĻŋ āĻļ⧁āϧ⧁ **āĻāχ āϤāĻŋāύāϟāĻŋ āϤāĻžāϰāĻŋāϖ⧇ āϜāϝāĻŧ⧇āύ āĻ•āϰāĻž āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

---

### **`IN` āĻāĻŦāĻ‚ `NOT IN`**
#### ✅ **`IN` → āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŽāĻžāύāϗ⧁āϞ⧋āϕ⧇ āĻ…āĻ¨ā§āϤāĻ°ā§āϭ⧁āĻ•ā§āϤ āĻ•āϰ⧇**
```sql
SELECT * FROM Employees
WHERE department IN ('IT', 'Finance');
```
āĻāϟāĻŋ **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ IT āĻāĻŦāĻ‚ Finance āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

#### ❌ **`NOT IN` → āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŽāĻžāύāϗ⧁āϞ⧋ āĻŦāĻžāĻĻ āĻĻ⧇āϝāĻŧ**
```sql
SELECT * FROM Employees
WHERE department NOT IN ('IT', 'Finance');
```
āĻāϟāĻŋ **IT āĻāĻŦāĻ‚ Finance āĻŦāĻžāĻĻ āĻĻāĻŋāϝāĻŧ⧇ āĻŦāĻžāĻ•āĻŋ āϏāĻŦ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

---

### **`IN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻžāϰ āϏ⧁āĻŦāĻŋāϧāĻž**
✅ **āϕ⧋āĻĄ āϛ⧋āϟ āĻšāϝāĻŧ** → `IN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ `OR` āĻŦāĻžāϰāĻŦāĻžāϰ āϞāĻŋāĻ–āϤ⧇ āĻšāϝāĻŧ āύāĻž
✅ **āĻĒāĻžāϰāĻĢāϰāĻŽā§āϝāĻžāĻ¨ā§āϏ āĻ­āĻžāϞ⧋ āĻšāϤ⧇ āĻĒāĻžāϰ⧇** → āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŽāĻžāύāϗ⧁āϞ⧋āϰ āϜāĻ¨ā§āϝ **āχāύāĻĄā§‡āĻ•ā§āϏ** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĻā§āϰ⧁āϤ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻž āϝāĻžāϝāĻŧ
✅ **āĻŦā§‹āĻāĻž āϏāĻšāϜ** → āĻāĻ•āĻžāϧāĻŋāĻ• āĻŽāĻžāύ āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āϏāĻšāϜāϤāϰ āωāĻĒāĻžāϝāĻŧ

### **`LIKE` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `LIKE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ **āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻŽāĻŋāϞāĻŋāϝāĻŧ⧇ (pattern matching) āĻĄāĻžāϟāĻž āϖ⧁āρāϜāϤ⧇**āĨ¤ āĻāϟāĻŋ **`WHERE`-āĻāϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ** āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖāϤ **`%` āĻ“ `_` wildcard** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤

---

## **✅ `LIKE` āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
SELECT column_name FROM table_name
WHERE column_name LIKE 'pattern';
```
āĻāĻ–āĻžāύ⧇ **`pattern` āĻŽāĻžāύ⧇āϰ āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞāϞ⧇ āϏ⧇āχ āϰ⧋ āϗ⧁āϞ⧋ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻšāĻŦ⧇āĨ¤**

---

## **🔹 `LIKE`-āĻ Wildcard āϗ⧁āϞ⧋ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**

| Wildcard | āĻ•āĻžāϜ |
|----------|------------------------------------------------|
| `%` | **āĻļā§‚āĻ¨ā§āϝ āĻŦāĻž āϝ⧇āϕ⧋āύ⧋ āϏāĻ‚āĻ–ā§āϝāĻ• āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ** āϰāĻŋāĻĒā§āϰ⧇āĻœā§‡āĻ¨ā§āϟ āĻ•āϰ⧇ |
| `_` | **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ ā§§āϟāĻŋ āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ** āϰāĻŋāĻĒā§āϰ⧇āĻœā§‡āĻ¨ā§āϟ āĻ•āϰ⧇ |

---

## **🔸 `%` Wildcard āĻĻāĻŋāϝāĻŧ⧇ āωāĻĻāĻžāĻšāϰāĻŖ**
### **ā§§ī¸âƒŖ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻ•ā§āώāϰ āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āĻĄāĻžāϟāĻž āĻ–ā§‹āρāϜāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ **āϝāĻžāĻĻ⧇āϰ āύāĻžāĻŽ 'S' āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāϝāĻŧ⧇āϛ⧇**
```sql
SELECT * FROM Employees
WHERE name LIKE 'S%';
```
đŸŸĸ āĻāϟāĻŋ **S** āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āϏāĻŦ āύāĻžāĻŽ āĻĻ⧇āĻ–āĻžāĻŦ⧇ (āϝ⧇āĻŽāύ: **Samiul, Shamima, Shakila** āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)āĨ¤

---

### **ā§¨ī¸âƒŖ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻ•ā§āώāϰ āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧇āώ āĻšāĻ“āϝāĻŧāĻž āĻĄāĻžāϟāĻž āĻ–ā§‹āρāϜāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ **āϝāĻžāĻĻ⧇āϰ āύāĻžāĻŽ 'n' āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧇āώ āĻšāϝāĻŧ⧇āϛ⧇**
```sql
SELECT * FROM Employees
WHERE name LIKE '%n';
```
đŸŸĸ āĻāϟāĻŋ **n** āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧇āώ āĻšāĻ“āϝāĻŧāĻž āϏāĻŦ āύāĻžāĻŽ āĻĻ⧇āĻ–āĻžāĻŦ⧇ (āϝ⧇āĻŽāύ: **Jahan, Fahim, Rakibul** āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)āĨ¤

---

### **ā§Šī¸âƒŖ āύāĻžāĻŽā§‡āϰ āĻŽāĻžāĻāĻ–āĻžāύ⧇ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ āĻĨāĻžāĻ•āϞ⧇ āĻ–ā§‹āρāϜāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ **āϝāĻžāĻĻ⧇āϰ āύāĻžāĻŽā§‡āϰ āĻŽāĻžāĻā§‡ 'ah' āφāϛ⧇**
```sql
SELECT * FROM Employees
WHERE name LIKE '%ah%';
```
đŸŸĸ āĻāϟāĻŋ āĻāĻŽāύ āύāĻžāĻŽ āĻĻ⧇āĻ–āĻžāĻŦ⧇ **āϝ⧇āϗ⧁āϞ⧋āϰ āĻŽāĻžāĻā§‡ 'ah' āφāϛ⧇** (āϝ⧇āĻŽāύ: **Shamima, Mahmud, Fahim** āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)āĨ¤

---

## **🔹 `_` Wildcard āĻĻāĻŋāϝāĻŧ⧇ āωāĻĻāĻžāĻšāϰāĻŖ**
### **ā§§ī¸âƒŖ āĻ āĻŋāĻ• ā§§āϟāĻŋ āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ āϰāĻŋāĻĒā§āϞ⧇āϏ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ **āϝāĻžāĻĻ⧇āϰ āύāĻžāĻŽā§‡āϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ 'a'**
```sql
SELECT * FROM Employees
WHERE name LIKE '_a%';
```
đŸŸĸ āĻāϟāĻŋ āĻāĻŽāύ āύāĻžāĻŽ āĻĻ⧇āĻ–āĻžāĻŦ⧇ **āϝ⧇āϗ⧁āϞ⧋āϰ āĻĻā§āĻŦāĻŋāϤ⧀āϝāĻŧ āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ 'a'** (āϝ⧇āĻŽāύ: **Karim, Fahim, Samiul** āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)āĨ¤

---

### **ā§¨ī¸âƒŖ āĻļ⧇āώ⧇āϰ āĻāĻ• āĻ•ā§āϝāĻžāϰ⧇āĻ•ā§āϟāĻžāϰ āĻĢāĻŋāĻ•ā§āϏāĻĄ āϰ⧇āϖ⧇ āĻ–ā§‹āρāϜāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ **āϝāĻžāĻĻ⧇āϰ āύāĻžāĻŽā§‡āϰ āĻļ⧇āώ⧇āϰ āφāϗ⧇ 'a' āφāϛ⧇**
```sql
SELECT * FROM Employees
WHERE name LIKE '%a_';
```
đŸŸĸ āĻāϟāĻŋ āĻāĻŽāύ āύāĻžāĻŽ āĻĻ⧇āĻ–āĻžāĻŦ⧇ **āϝ⧇āϗ⧁āϞ⧋āϰ āĻļ⧇āώ⧇āϰ āφāϗ⧇ 'a' āφāϛ⧇** (āϝ⧇āĻŽāύ: **Ayesha, Sumaiya** āχāĻ¤ā§āϝāĻžāĻĻāĻŋ)āĨ¤

---

## **🔹 `NOT LIKE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž āĻāĻŽāύ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ **āϝāĻžāĻĻ⧇āϰ āύāĻžāĻŽ 'S' āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāϝāĻŧāύāĻŋ**
```sql
SELECT * FROM Employees
WHERE name NOT LIKE 'S%';
```
đŸŸĸ āĻāϟāĻŋ **S āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁ āĻšāĻ“āϝāĻŧāĻž āύāĻžāĻŽ āĻŦāĻžāĻĻ āĻĻāĻŋāϝāĻŧ⧇ āĻŦāĻžāĻ•āĻŋ āϏāĻŦ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

---

## **✅ `LIKE` āĻŦā§āϝāĻŦāĻšāĻžāϰ⧇āϰ āϏ⧁āĻŦāĻŋāϧāĻž**
✔ **Flexible search:** āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻ•ā§āώāϰ āĻĻāĻŋāϝāĻŧ⧇ āĻļ⧁āϰ⧁, āĻļ⧇āώ āĻŦāĻž āĻŽāĻžāĻā§‡ āĻ•āĻŋāϛ⧁ āĻĨāĻžāĻ•āϞ⧇ āϖ⧁āρāϜāϤ⧇ āĻĒāĻžāϰ⧇
✔ **Wildcards:** `%` āĻāĻŦāĻ‚ `_` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ•āĻžāĻ¸ā§āϟāĻŽ āĻĒā§āϝāĻžāϟāĻžāĻ°ā§āύ āĻŽāĻŋāϞāĻžāύ⧋ āϝāĻžāϝāĻŧ
✔ **Text filtering:** āύāĻžāĻŽ, āĻ āĻŋāĻ•āĻžāύāĻž āĻŦāĻž āĻ…āĻ¨ā§āϝ āĻ¸ā§āĻŸā§āϰāĻŋāĻ‚ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϖ⧁āĻŦāχ āĻĻāϰāĻ•āĻžāϰāĻŋ

---

### **`AND`, `OR`, āĻāĻŦāĻ‚ `NOT` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `AND`, `OR`, āĻāĻŦāĻ‚ `NOT` **āϞāϜāĻŋāĻ•ā§āϝāĻžāϞ āĻ…āĻĒāĻžāϰ⧇āϟāϰ** āĻšāĻŋāϏāĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻāĻŦāĻ‚ `WHERE` āĻ•ā§āϞāĻœā§‡āϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ **āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻ•āĻ¨ā§āĻĄāĻŋāĻļāύ āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ**āĨ¤

---

## **✅ ā§§. `AND` āĻ…āĻĒāĻžāϰ⧇āϟāϰ (āĻĻ⧁āϟāĻŋ āĻļāĻ°ā§āϤ āĻāĻ•āϏāĻžāĻĨ⧇ āĻĒā§‚āϰāĻŖ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇)**
- `AND` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ **āϏāĻŦ āĻļāĻ°ā§āϤ āĻāĻ•āϏāĻžāĻĨ⧇ āĻŽāĻŋāϞ⧇ āϗ⧇āϞ⧇ āϤāĻŦ⧇āχ āĻĄāĻžāϟāĻž āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇**āĨ¤
- āĻ…āĻ°ā§āĻĨāĻžā§Ž, **āωāϭ⧟ āĻļāĻ°ā§āϤāχ āϏāĻ¤ā§āϝ āĻšāϤ⧇ āĻšāĻŦ⧇**āĨ¤

### **āωāĻĻāĻžāĻšāϰāĻŖ:**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻžāϜ āĻ•āϰāĻž āĻāĻŦāĻ‚ ā§Šā§Ļ āĻŦāĻ›āϰ āĻŦāĻž āϤāĻžāϰ āĻŦ⧇āĻļāĻŋ āĻŦ⧟āϏ⧇āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
WHERE department = 'IT'
AND age >= 30;
```
🔹 **Result:** `department = 'IT'` āĻāĻŦāĻ‚ `age >= 30`—**āωāϭ⧟ āĻļāĻ°ā§āϤ āĻŽāĻŋāϞāϞ⧇** āϤāĻŦ⧇āχ āϰ⧋ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇āĨ¤

---

## **✅ ⧍. `OR` āĻ…āĻĒāĻžāϰ⧇āϟāϰ (āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϤ āĻŽāĻŋāϞāϞ⧇āχ āĻšāĻŦ⧇)**
- `OR` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϤ āĻŽāĻŋāϞāϞ⧇āχ** āĻĄāĻžāϟāĻž āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇āĨ¤
- āĻ…āĻ°ā§āĻĨāĻžā§Ž, **āϝ⧇ āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋāχ āϏāĻ¤ā§āϝ āĻšāϤ⧇ āĻšāĻŦ⧇**āĨ¤

### **āωāĻĻāĻžāĻšāϰāĻŖ:**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϝāĻžāϰāĻž HR āĻŦāĻž IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻžāĻĻ⧇āϰ āϖ⧁āρāϜāϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
WHERE department = 'HR'
OR department = 'IT';
```
🔹 **Result:** `HR` **āĻ…āĻĨāĻŦāĻž** `IT` āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϝ⧇āϕ⧋āύ⧋ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

## **✅ ā§Š. `NOT` āĻ…āĻĒāĻžāϰ⧇āϟāϰ (āĻļāĻ°ā§āϤ āύāĻž āĻŽāĻŋāϞāϞ⧇ āϰāĻŋāϟāĻžāĻ°ā§āύ āĻ•āϰāĻŦ⧇)**
- `NOT` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇ **āĻļāĻ°ā§āϤ⧇āϰ āωāĻ˛ā§āĻŸā§‹ āĻŽāĻžāύ āĻŦ⧇āϰ āĻ•āϰ⧇**āĨ¤
- āĻ…āĻ°ā§āĻĨāĻžā§Ž, **āϝ⧇ āĻļāĻ°ā§āϤ āϏāĻ¤ā§āϝ, āϏ⧇āϟāĻžāϕ⧇ āĻŽāĻŋāĻĨā§āϝāĻž āĻŦāĻžāύāĻŋā§Ÿā§‡ āĻĢ⧇āϞ⧇**āĨ¤

### **āωāĻĻāĻžāĻšāϰāĻŖ:**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϝāĻžāϰāĻž IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āύ⧇āχ, āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
WHERE NOT department = 'IT';
```
🔹 **Result:** `IT` āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ **āĻŦāĻžāĻ•āĻŋ āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

---

## **✅ `AND`, `OR`, āĻāĻŦāĻ‚ `NOT` āĻāĻ•āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž**
āφāĻŽāϰāĻž āϚāĻžāχ āϝ⧇ **āϝāĻžāϰāĻž IT āĻŦāĻž Finance āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇ āĻāĻŦāĻ‚ āϝāĻžāĻĻ⧇āϰ āĻŦ⧟āϏ ⧍ā§Ģ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ, āϤāĻžāϰāĻž āϝ⧇āύ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšā§Ÿ**:
```sql
SELECT * FROM Employees
WHERE (department = 'IT' OR department = 'Finance')
AND age > 25;
```
🔹 **Result:**
- `department = 'IT'` **āĻ…āĻĨāĻŦāĻž** `department = 'Finance'` → **āϝ⧇āϕ⧋āύ⧋ āĻāĻ•āϟāĻŋ āĻšāϤ⧇ āĻšāĻŦ⧇**
- **āĻāĻŦāĻ‚** `age > 25` → **āĻŦ⧟āϏ ⧍ā§Ģ-āĻāϰ āĻŦ⧇āĻļāĻŋ āĻšāϤ⧇ āĻšāĻŦ⧇**

---

## **✅ `NOT` āϏāĻš `AND` āĻāĻŦāĻ‚ `OR` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϝāĻžāϰāĻž HR āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āύ⧇āχ āĻāĻŦāĻ‚ āϝāĻžāĻĻ⧇āϰ āĻŦ⧟āϏ ā§Šā§Ļ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ, āĻļ⧁āϧ⧁ āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
WHERE NOT department = 'HR'
AND age > 30;
```
🔹 **Result:**
- **HR āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻŦāĻžāĻĻ āϝāĻžāĻŦ⧇**
- **āϝāĻžāĻĻ⧇āϰ āĻŦ⧟āϏ ā§Šā§Ļ āĻŦāĻ›āϰ⧇āϰ āĻŦ⧇āĻļāĻŋ āĻļ⧁āϧ⧁ āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**

---

## **✅ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ:**

| āĻ…āĻĒāĻžāϰ⧇āϟāϰ | āĻ•āĻžāϜ |
|----------|------------------------------------------------|
| `AND` | **āϏāĻŦ āĻļāĻ°ā§āϤ āϏāĻ¤ā§āϝ āĻšāϤ⧇ āĻšāĻŦ⧇** (āĻĻ⧁āϟāĻŋ āĻļāĻ°ā§āϤāχ āĻŽāĻŋāϞāϤ⧇ āĻšāĻŦ⧇) |
| `OR` | **āϝ⧇āϕ⧋āύ⧋ āĻāĻ• āĻļāĻ°ā§āϤ āϏāĻ¤ā§āϝ āĻšāϞ⧇āχ āĻšāĻŦ⧇** |
| `NOT` | **āĻļāĻ°ā§āϤ⧇āϰ āωāĻ˛ā§āĻŸā§‹ āĻŽāĻžāύ āĻŦ⧇āϰ āĻ•āϰ⧇** |

---

### **`ORDER BY` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ `ORDER BY` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ **āĻĄāĻžāϟāĻž āϏāĻžāϜāĻžāύ⧋āϰ āϜāĻ¨ā§āϝ**āĨ¤ āĻāϟāĻŋ **āĻŦ⧜ āĻĨ⧇āϕ⧇ āϛ⧋āϟ āĻŦāĻž āϛ⧋āϟ āĻĨ⧇āϕ⧇ āĻŦ⧜ āĻ•ā§āϰāĻŽā§‡ āϏāĻžāϜāĻžāϤ⧇ āĻĒāĻžāϰ⧇**āĨ¤

---

## **✅ `ORDER BY` āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻ—āĻ āύ (Syntax)**
```sql
SELECT column_name FROM table_name
ORDER BY column_name [ASC | DESC];
```
🔹 `ASC` (Ascending) → **āϛ⧋āϟ āĻĨ⧇āϕ⧇ āĻŦ⧜** (default)
🔹 `DESC` (Descending) → **āĻŦ⧜ āĻĨ⧇āϕ⧇ āϛ⧋āϟ**

---

## **✅ ā§§. `ORDER BY` āĻĻāĻŋā§Ÿā§‡ āύāĻžāĻŽ āĻ•ā§āϰāĻŽāĻžāύ⧁āϏāĻžāϰ⧇ āϏāĻžāϜāĻžāύ⧋**
āϧāϰāĻŋ, āφāĻŽāϰāĻž **āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āύāĻžāĻŽ āĻŦāĻ°ā§āĻŖāĻžāύ⧁āĻ•ā§āϰāĻŽāĻŋāĻ• (A-Z) āϏāĻžāϜāĻžāϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
ORDER BY name;
```
āĻāϟāĻŋ **`name` āĻ•āϞāĻžāĻŽā§‡āϰ āĻŽāĻžāύ A āĻĨ⧇āϕ⧇ Z āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϏāĻžāϜāĻžāĻŦ⧇**āĨ¤

---

## **✅ ⧍. `ORDER BY` āĻĻāĻŋā§Ÿā§‡ āĻŦ⧇āϤāύ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻžāϜāĻžāύ⧋ (Ascending & Descending)**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻŦ⧇āϤāύ (salary) āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϛ⧋āϟ āĻĨ⧇āϕ⧇ āĻŦ⧜ (Ascending)** āϏāĻžāϜāĻžāϤ⧇ āϚāĻžāχ:
```sql
SELECT * FROM Employees
ORDER BY salary ASC;
```
đŸŸĸ āĻāϟāĻŋ **āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻ•āĻŽ āĻŦ⧇āϤāύ āĻĨ⧇āϕ⧇ āĻŦ⧇āĻļāĻŋ āĻŦ⧇āϤāύ⧇āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

🔹 **āĻŦ⧜ āĻĨ⧇āϕ⧇ āϛ⧋āϟ (Descending) āϏāĻžāϜāĻžāϤ⧇:**
```sql
SELECT * FROM Employees
ORDER BY salary DESC;
```
đŸŸĸ āĻāϟāĻŋ **āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āĻŦ⧇āϤāύ āĻĒāĻžāĻ“ā§ŸāĻž āĻ•āĻ°ā§āĻŽā§€āϕ⧇ āϏāĻŦāĻžāϰ āωāĻĒāϰ⧇ āĻĻ⧇āĻ–āĻžāĻŦ⧇**āĨ¤

---

## **✅ ā§Š. āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽā§‡āϰ āωāĻĒāϰ `ORDER BY`**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻžāϜāĻžāϤ⧇ āϚāĻžāχ āĻāĻŦāĻ‚ āĻāĻ•āχ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϭ⧇āϤāϰ⧇ āĻŦ⧟āϏ āĻ…āύ⧁āϝāĻžā§Ÿā§€ (Ascending) āϏāĻžāϜāĻžāϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
ORDER BY department ASC, age ASC;
```
🔹 āĻāϟāĻŋ **āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻžāϜāĻžāĻŦ⧇ āĻāĻŦāĻ‚ āĻāĻ•āχ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻŽāĻ§ā§āϝ⧇ āĻŦ⧟āϏ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻžāϜāĻžāĻŦ⧇**āĨ¤

---

## **✅ ā§Ē. `ORDER BY` `WHERE` āĻāϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž**
āϝāĻĻāĻŋ āφāĻŽāϰāĻž **āϝāĻžāϰāĻž IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āĻ•āĻžāϜ āĻ•āϰ⧇, āĻļ⧁āϧ⧁ āϤāĻžāĻĻ⧇āϰ āĻŦ⧇āϤāύ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āϏāĻžāϜāĻžāϤ⧇ āϚāĻžāχ**:
```sql
SELECT * FROM Employees
WHERE department = 'IT'
ORDER BY salary DESC;
```
🔹 āĻāϟāĻŋ **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ IT āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇ āĻāĻŦāĻ‚ āϤāĻžāĻĻ⧇āϰ āĻŦ⧇āϤāύ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻŦ⧜ āĻĨ⧇āϕ⧇ āϛ⧋āϟ āϏāĻžāϜāĻžāĻŦ⧇**āĨ¤

---

## **✅ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `ORDER BY` āĻāϰ āϏ⧁āĻŦāĻŋāϧāĻž**
✔ **āĻĄāĻžāϟāĻž āϏāĻžāϜāĻžāύ⧋ āϏāĻšāϜ āĻšā§Ÿ**
✔ **Ascending āĻŦāĻž Descending āϝ⧇āϕ⧋āύ⧋āĻ­āĻžāĻŦ⧇ āϏāĻžāϜāĻžāύ⧋ āϝāĻžā§Ÿ**
✔ **āĻŦ⧜ āĻĄāĻžāϟāĻžāĻŦ⧇āĻœā§‡ āϰāĻŋāĻĒā§‹āĻ°ā§āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ**

---

### **`NULL` āĻāĻŦāĻ‚ `NOT NULL` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
SQL-āĻ **`NULL`** āĻŽāĻžāύ⧇ āĻšāϞ⧋ **āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āύ⧇āχ āĻŦāĻž āĻ…āϜāĻžāύāĻž āĻŽāĻžāύ**, āφāϰ **`NOT NULL`** āĻŽāĻžāύ⧇ āĻšāϞ⧋ **āϐ āĻ•āϞāĻžāĻŽā§‡ āĻ…āĻŦāĻļā§āϝāχ āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āϤ⧇ āĻšāĻŦ⧇**āĨ¤

---

## **✅ `NULL` āĻ“ `NOT NULL` āĻāϰ āϏāĻžāϧāĻžāϰāĻŖ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž**
- **`NULL`** → āϝāĻĻāĻŋ āϕ⧋āύ⧋ āĻ•āϞāĻžāĻŽā§‡ **āĻŽāĻžāύ āύāĻž āĻĨāĻžāϕ⧇**, āϤāĻžāĻšāϞ⧇ āϏ⧇āϟāĻŋ `NULL` āĻšāĻŦ⧇āĨ¤
- **`NOT NULL`** → āϝāĻĻāĻŋ āϕ⧋āύ⧋ āĻ•āϞāĻžāĻŽā§‡ `NOT NULL` āĻĻā§‡ā§ŸāĻž āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ **āϏ⧇āχ āĻ•āϞāĻžāĻŽā§‡ āĻ…āĻŦāĻļā§āϝāχ āĻĄāĻžāϟāĻž āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇**āĨ¤

---

## **✅ `NULL` āĻ“ `NOT NULL` āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋāϤ⧇ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ?**
```sql
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL, -- āĻāĻ–āĻžāύ⧇ āĻ…āĻŦāĻļā§āϝāχ āύāĻžāĻŽ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇
department VARCHAR(30) NULL, -- āĻāĻ–āĻžāύ⧇ āĻĄāĻžāϟāĻž āύāĻž āĻĻāĻŋāϞ⧇āĻ“ āĻšāĻŦ⧇
age INT CHECK (age >= 18),
salary DECIMAL(10,2) NOT NULL, -- āĻ…āĻŦāĻļā§āϝāχ āĻŦ⧇āϤāύ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇
join_date DATE NULL -- āϤāĻžāϰāĻŋāĻ– āĻĻ⧇āĻ“ā§ŸāĻž āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ• āύāĻž
);
```
🔹 **`NOT NULL` āĻĨāĻžāĻ•āĻž āĻŽāĻžāύ⧇** → āϐ āĻ•āϞāĻžāĻŽā§‡ āĻĄāĻžāϟāĻž **āĻ…āĻŦāĻļā§āϝāχ āĻĻāĻŋāϤ⧇ āĻšāĻŦ⧇**āĨ¤
🔹 **`NULL` āĻĨāĻžāĻ•āĻž āĻŽāĻžāύ⧇** → āϐ āĻ•āϞāĻžāĻŽā§‡ āĻĄāĻžāϟāĻž **āύāĻž āĻĻāĻŋāϞ⧇āĻ“ āϚāϞāĻŦ⧇**āĨ¤

---

## **✅ `NULL` āĻĄāĻžāϟāĻž āχāύāϏāĻžāĻ°ā§āϟ āĻ•āϰāĻž**
```sql
INSERT INTO employees (name, department, age, salary, join_date)
VALUES ('Samiul', NULL, 25, 50000.00, '2022-03-15');
```
🔹 āĻāĻ–āĻžāύ⧇ **`department` āĻ•āϞāĻžāĻŽā§‡ `NULL` āϰāĻžāĻ–āĻž āĻšā§Ÿā§‡āϛ⧇**āĨ¤

---

## **✅ `NOT NULL` āĻ•āϞāĻžāĻŽā§‡ `NULL` āĻĻāĻŋāϞ⧇ āϕ⧀ āĻšāĻŦ⧇?**
```sql
INSERT INTO employees (name, department, age, salary, join_date)
VALUES (NULL, 'IT', 25, 50000.00, '2022-03-15');
```
⚠ **Error: Column 'name' cannot be null**
🔹 āĻ•āĻžāϰāĻŖ **`name` āĻ•āϞāĻžāĻŽā§‡ `NOT NULL` āĻĻā§‡ā§ŸāĻž āφāϛ⧇**, āϤāĻžāχ `NULL` āĻĻ⧇āĻ“ā§ŸāĻž āϝāĻžāĻŦ⧇ āύāĻžāĨ¤

---

## **✅ `NULL` āĻšā§‡āĻ• āĻ•āϰāĻž (WHERE āϏāĻš)**
🔹 **`IS NULL` āĻĻāĻŋā§Ÿā§‡ āĻšā§‡āĻ• āĻ•āϰāĻž āĻšā§Ÿ āϕ⧋āύ āĻ•āϞāĻžāĻŽ `NULL` āφāϛ⧇ āĻ•āĻŋāύāĻž**
```sql
SELECT * FROM employees WHERE department IS NULL;
```
🔹 **āϝ⧇āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€āϰ `department` `NULL`, āĻļ⧁āϧ⧁ āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**

🔹 **`IS NOT NULL` āĻĻāĻŋā§Ÿā§‡ `NULL` āύāĻž āĻĨāĻžāĻ•āĻž āĻĄāĻžāϟāĻž āϖ⧁āρāϜāϤ⧇ āĻĒāĻžāϰāĻŋ**
```sql
SELECT * FROM employees WHERE department IS NOT NULL;
```
🔹 **āϝāĻžāĻĻ⧇āϰ `department` āĻ āĻŽāĻžāύ āφāϛ⧇, āĻļ⧁āϧ⧁ āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇**

---

## **✅ `NULL` āĻĢāĻŋāĻ˛ā§āĻĄ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž (`UPDATE` āϏāĻš)**
```sql
UPDATE employees
SET department = 'HR'
WHERE department IS NULL;
```
🔹 **āϝāĻžāĻĻ⧇āϰ `department` `NULL`, āϤāĻžāĻĻ⧇āϰ `HR` āϏ⧇āϟ āĻ•āϰāĻž āĻšāĻŦ⧇**

---

## **✅ `NULL` āϕ⧇ `DEFAULT` āĻŽāĻžāύ āϏ⧇āϟ āĻ•āϰāĻž**
```sql
CREATE TABLE employees (
id INT PRIMARY KEY AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
department VARCHAR(30) DEFAULT 'Unknown',
age INT CHECK (age >= 18),
salary DECIMAL(10,2) NOT NULL,
join_date DATE NULL
);
```
🔹 **āϝāĻĻāĻŋ `department`-āĻ āϕ⧋āύ⧋ āĻŽāĻžāύ āύāĻž āĻĻ⧇āĻ“ā§ŸāĻž āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟āĻ­āĻžāĻŦ⧇ 'Unknown' āĻšā§Ÿā§‡ āϝāĻžāĻŦ⧇**

---

### đŸ”Ĩ **āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `NULL` āĻāĻŦāĻ‚ `NOT NULL`**
✔ **`NULL`** → āĻ•āϞāĻžāĻŽā§‡ āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āύāĻž āĻĨāĻžāĻ•āϞ⧇ `NULL` āĻšāϤ⧇ āĻĒāĻžāϰ⧇
✔ **`NOT NULL`** → āĻ•āϞāĻžāĻŽā§‡ āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āĻž āĻŦāĻžāĻ§ā§āϝāϤāĻžāĻŽā§‚āϞāĻ•
✔ **`IS NULL`** → `NULL` āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ
✔ **`IS NOT NULL`** → `NULL` āύāĻž āĻĨāĻžāĻ•āĻž āĻšā§‡āĻ• āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ
✔ **`UPDATE` āĻĻāĻŋā§Ÿā§‡ `NULL` āĻĢāĻŋāĻ˛ā§āĻĄ āφāĻĒāĻĄā§‡āϟ āĻ•āϰāĻž āϝāĻžā§Ÿ**

---

### **🔹 `ON` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇? (āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āωāĻĻāĻžāĻšāϰāĻŖ)**

āφāĻŽāϰāĻž āĻĻ⧁āϟāĻŋ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦā§‹:
1. **`employees`** → āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϤāĻĨā§āϝ āĻĨāĻžāĻ•āĻŦ⧇
2. **`departments`** → āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϤāĻĨā§āϝ āĻĨāĻžāĻ•āĻŦ⧇

āĻāϰāĻĒāϰ āφāĻŽāϰāĻž **`ON` āϏāĻš `JOIN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇** āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āϤāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻŽāĻŋāϞāĻŋā§Ÿā§‡ āĻĻ⧇āĻ–āĻžāĻŦā§‹āĨ¤

---

### **✅ `CREATE TABLE` - āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻž**
```sql
CREATE TABLE departments (
id INT PRIMARY KEY,
department_name VARCHAR(50) NOT NULL
);

CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id)
);
```
🔹 **`departments` āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āύāĻžāĻŽ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤**
🔹 **`employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ `department_id` āĻĢāĻŋāĻ˛ā§āĻĄ āφāϛ⧇**, āϝāĻž `departments` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `id` āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤāĨ¤

---

### **✅ `INSERT INTO` - āĻĄāĻžāϟāĻž āϝ⧋āĻ— āĻ•āϰāĻž**
```sql
INSERT INTO departments (id, department_name) VALUES
(101, 'IT'),
(102, 'HR'),
(103, 'Marketing');

INSERT INTO employees (id, name, department_id) VALUES
(1, 'Arafat', 101),
(2, 'Samiul', 102),
(3, 'Shuvo', 103),
(4, 'Alex', NULL);
```
🔹 **`departments` āĻŸā§‡āĻŦāĻŋāϞ⧇ ā§ŠāϟāĻŋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϞ⧋āĨ¤**
🔹 **`employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ ā§Ē āϜāύ āĻ•āĻ°ā§āĻŽā§€ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϞ⧋āĨ¤**
🔹 **Alex-āĻāϰ `department_id` `NULL`, āĻŽāĻžāύ⧇ āϏ⧇ āϕ⧋āύ⧋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āύ⧇āχāĨ¤**

---

### **✅ `ON` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ `INNER JOIN`**
```sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
```
🔹 **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϝāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āφāϛ⧇, āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤**

#### **📌 Output:**
| name | department_name |
|--------|---------------|
| Arafat | IT |
| Samiul | HR |
| Shuvo | Marketing |

🔹 **Alex āύ⧇āχ, āĻ•āĻžāϰāĻŖ āϤāĻžāϰ `department_id` `NULL`āĨ¤**

---

### **✅ `ON` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ `LEFT JOIN`**
```sql
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;
```
🔹 **āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžāĻŦ⧇, āĻāĻŽāύāĻ•āĻŋ āϝāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύ⧇āχ āϤāĻžāĻĻ⧇āϰāĻ“āĨ¤**

#### **📌 Output:**
| name | department_name |
|--------|---------------|
| Arafat | IT |
| Samiul | HR |
| Shuvo | Marketing |
| Alex | NULL |

🔹 **Alex-āĻāϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύ⧇āχ, āϤāĻžāχ `NULL` āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤**

---

### **✅ `ON` āĻāĻŦāĻ‚ `USING` āĻāϰ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ**
🔹 **āϝāĻĻāĻŋ āωāϭ⧟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āφāϞāĻžāĻĻāĻž āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ `ON` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤**
🔹 **āϝāĻĻāĻŋ āωāϭ⧟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻāĻ•āχ āύāĻžāĻŽā§‡āϰ āĻ•āϞāĻžāĻŽ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ `USING` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤**

#### **`ON` āĻĻāĻŋā§Ÿā§‡ JOIN (āϝ⧇āĻšā§‡āϤ⧁ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āĻ­āĻŋāĻ¨ā§āύ)**
```sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
```

#### **`USING` āĻĻāĻŋā§Ÿā§‡ JOIN (āϝāĻĻāĻŋ āωāϭ⧟ āĻŸā§‡āĻŦāĻŋāϞ⧇ `department_id` āĻĨāĻžāϕ⧇)**
```sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
USING (department_id);
```

---

### đŸ”Ĩ **āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `ON`**
✔ **`ON` āĻŽā§‚āϞāϤ `JOIN` āĻāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšā§ŸāĨ¤**
✔ **`ON` āϝāĻ–āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšā§Ÿ?** → āϝāĻ–āύ āĻĻ⧁āχ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āĻ­āĻŋāĻ¨ā§āύ āĻšā§ŸāĨ¤
✔ **`INNER JOIN`** → āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϝāĻžāĻĻ⧇āϰ āĻŽāĻŋāϞ āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžā§Ÿ, āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤
✔ **`LEFT JOIN`** → āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžā§Ÿ, āĻāĻŽāύāĻ•āĻŋ āϝāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύ⧇āχ, āϤāĻžāĻĻ⧇āϰāĻ“āĨ¤
✔ **`USING` āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§Ÿ, āϝāĻ–āύ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āĻāĻ•āχ āĻšā§ŸāĨ¤**

---

### **🔹 `ON` āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇? (āĻĒā§‚āĻ°ā§āĻŖāĻžāĻ™ā§āĻ— āωāĻĻāĻžāĻšāϰāĻŖ)**

āφāĻŽāϰāĻž āĻĻ⧁āϟāĻŋ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻŦā§‹:
1. **`employees`** → āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϤāĻĨā§āϝ āĻĨāĻžāĻ•āĻŦ⧇
2. **`departments`** → āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϤāĻĨā§āϝ āĻĨāĻžāĻ•āĻŦ⧇

āĻāϰāĻĒāϰ āφāĻŽāϰāĻž **`ON` āϏāĻš `JOIN` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇** āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āϤāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻŽāĻŋāϞāĻŋā§Ÿā§‡ āĻĻ⧇āĻ–āĻžāĻŦā§‹āĨ¤

---

### **✅ `CREATE TABLE` - āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāĻž**
```sql
CREATE TABLE departments (
id INT PRIMARY KEY,
department_name VARCHAR(50) NOT NULL
);

CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50) NOT NULL,
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(id)
);
```
🔹 **`departments` āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āύāĻžāĻŽ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤**
🔹 **`employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ `department_id` āĻĢāĻŋāĻ˛ā§āĻĄ āφāϛ⧇**, āϝāĻž `departments` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `id` āĻāϰ āϏāĻžāĻĨ⧇ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤāĨ¤

---

### **✅ `INSERT INTO` - āĻĄāĻžāϟāĻž āϝ⧋āĻ— āĻ•āϰāĻž**
```sql
INSERT INTO departments (id, department_name) VALUES
(101, 'IT'),
(102, 'HR'),
(103, 'Marketing');

INSERT INTO employees (id, name, department_id) VALUES
(1, 'Arafat', 101),
(2, 'Samiul', 102),
(3, 'Shuvo', 103),
(4, 'Alex', NULL);
```
🔹 **`departments` āĻŸā§‡āĻŦāĻŋāϞ⧇ ā§ŠāϟāĻŋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϞ⧋āĨ¤**
🔹 **`employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ ā§Ē āϜāύ āĻ•āĻ°ā§āĻŽā§€ āϝ⧋āĻ— āĻ•āϰāĻž āĻšāϞ⧋āĨ¤**
🔹 **Alex-āĻāϰ `department_id` `NULL`, āĻŽāĻžāύ⧇ āϏ⧇ āϕ⧋āύ⧋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡ āύ⧇āχāĨ¤**

---

### **✅ `ON` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ `INNER JOIN`**
```sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
```
🔹 **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϝāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āφāϛ⧇, āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤**

#### **📌 Output:**
| name | department_name |
|--------|---------------|
| Arafat | IT |
| Samiul | HR |
| Shuvo | Marketing |

🔹 **Alex āύ⧇āχ, āĻ•āĻžāϰāĻŖ āϤāĻžāϰ `department_id` `NULL`āĨ¤**

---

### **✅ `ON` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ `LEFT JOIN`**
```sql
SELECT employees.name, departments.department_name
FROM employees
LEFT JOIN departments
ON employees.department_id = departments.id;
```
🔹 **āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžāĻŦ⧇, āĻāĻŽāύāĻ•āĻŋ āϝāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύ⧇āχ āϤāĻžāĻĻ⧇āϰāĻ“āĨ¤**

#### **📌 Output:**
| name | department_name |
|--------|---------------|
| Arafat | IT |
| Samiul | HR |
| Shuvo | Marketing |
| Alex | NULL |

🔹 **Alex-āĻāϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύ⧇āχ, āϤāĻžāχ `NULL` āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤**

---

### **✅ `ON` āĻāĻŦāĻ‚ `USING` āĻāϰ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āϝ**
🔹 **āϝāĻĻāĻŋ āωāϭ⧟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āφāϞāĻžāĻĻāĻž āĻšā§Ÿ, āϤāĻžāĻšāϞ⧇ `ON` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšā§ŸāĨ¤**
🔹 **āϝāĻĻāĻŋ āωāϭ⧟ āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻāĻ•āχ āύāĻžāĻŽā§‡āϰ āĻ•āϞāĻžāĻŽ āĻĨāĻžāϕ⧇, āϤāĻžāĻšāϞ⧇ `USING` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤**

#### **`ON` āĻĻāĻŋā§Ÿā§‡ JOIN (āϝ⧇āĻšā§‡āϤ⧁ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āĻ­āĻŋāĻ¨ā§āύ)**
```sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
ON employees.department_id = departments.id;
```

#### **`USING` āĻĻāĻŋā§Ÿā§‡ JOIN (āϝāĻĻāĻŋ āωāϭ⧟ āĻŸā§‡āĻŦāĻŋāϞ⧇ `department_id` āĻĨāĻžāϕ⧇)**
```sql
SELECT employees.name, departments.department_name
FROM employees
INNER JOIN departments
USING (department_id);
```

---

### đŸ”Ĩ **āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `ON`**
✔ **`ON` āĻŽā§‚āϞāϤ `JOIN` āĻāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšā§ŸāĨ¤**
✔ **`ON` āϝāĻ–āύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻšā§Ÿ?** → āϝāĻ–āύ āĻĻ⧁āχ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻŽā§āĻĒāĻ°ā§āĻ•āĻŋāϤ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āĻ­āĻŋāĻ¨ā§āύ āĻšā§ŸāĨ¤
✔ **`INNER JOIN`** → āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϝāĻžāĻĻ⧇āϰ āĻŽāĻŋāϞ āĻĒāĻžāĻ“ā§ŸāĻž āϝāĻžā§Ÿ, āϤāĻžāĻĻ⧇āϰ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤
✔ **`LEFT JOIN`** → āϏāĻŦ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžā§Ÿ, āĻāĻŽāύāĻ•āĻŋ āϝāĻžāĻĻ⧇āϰ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύ⧇āχ, āϤāĻžāĻĻ⧇āϰāĻ“āĨ¤
✔ **`USING` āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§Ÿ, āϝāĻ–āύ āĻ•āϞāĻžāĻŽā§‡āϰ āύāĻžāĻŽ āĻāĻ•āχ āĻšā§ŸāĨ¤**

---

### **🔹 SQL-āĻ `DUPLICATE TABLE` āϤ⧈āϰāĻŋ āĻ•āϰāĻžāϰ āωāĻĒāĻžā§Ÿ**

🔹 **āϕ⧋āύ⧋ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ“ āĻĄāĻžāϟāĻž āĻ•ā§āϞ⧋āύ (Copy) āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ `CREATE TABLE ... AS` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤**
🔹 **āϕ⧋āύ⧋ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•ā§āϞ⧋āύ āĻ•āϰāϤ⧇ `CREATE TABLE ... LIKE` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§ŸāĨ¤**

---

## **✅ ā§§. āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻŸā§‡āĻŦāĻŋāϞ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻ•āϰāĻž (`CREATE TABLE ... AS`)**
🔹 **āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻĻā§āϝāĻŽāĻžāύ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻ•āϞ āĻĄāĻžāϟāĻž āϏāĻš āύāϤ⧁āύ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇:**
```sql
CREATE TABLE employees_duplicate AS
SELECT * FROM employees;
```
🔹 **`employees_duplicate` āύāĻžāĻŽā§‡ āύāϤ⧁āύ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻšāĻŦ⧇, āϝ⧇āĻ–āĻžāύ⧇ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻŦ āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āĻŦ⧇āĨ¤**

#### **📌 Output (āύāϤ⧁āύ `employees_duplicate` āĻŸā§‡āĻŦāĻŋāϞ)**
| id | name | department | salary |
|----|------|-----------|--------|
| 1 | Arafat | IT | 50000 |
| 2 | Samiul | HR | 40000 |
| 3 | Shuvo | Marketing | 45000 |

---

## **✅ ⧍. āĻļ⧁āϧ⧁ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻ•āϰāĻž (`CREATE TABLE ... LIKE`)**
🔹 **āĻļ⧁āϧ⧁ āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•ā§āϞ⧋āύ āĻ•āϰāϤ⧇ āϚāĻžāχāϞ⧇:**
```sql
CREATE TABLE employees_structure LIKE employees;
```
🔹 **āĻāϤ⧇ āĻļ⧁āϧ⧁ āĻ•āϞāĻžāĻŽā§‡āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•āĻĒāĻŋ āĻšāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āĻŦ⧇ āύāĻžāĨ¤**

#### **📌 Output (āύāϤ⧁āύ `employees_structure` āĻŸā§‡āĻŦāĻŋāϞ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻ–āĻžāϞāĻŋ)**
| id | name | department | salary |
|----|------|-----------|--------|
| | | | |

🔹 **āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āύ⧇āχ, āĻ•āĻžāϰāĻŖ `LIKE` āĻļ⧁āϧ⧁ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•āĻĒāĻŋ āĻ•āϰ⧇, āĻĄāĻžāϟāĻž āύāĻžāĨ¤**

---

## **✅ ā§Š. āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āĻŋāϛ⧁ āĻ•āϞāĻžāĻŽā§‡āϰ āĻĄāĻžāϟāĻž āĻ•āĻĒāĻŋ āĻ•āϰāĻž**
🔹 **āϧāϰ⧁āύ, āĻļ⧁āϧ⧁ `name` āĻāĻŦāĻ‚ `salary` āĻĄāĻžāϟāĻž āϏāĻš āύāϤ⧁āύ āĻŸā§‡āĻŦāĻŋāϞ āϤ⧈āϰāĻŋ āĻ•āϰāϤ⧇ āϚāĻžāχ:**
```sql
CREATE TABLE high_salary_employees AS
SELECT name, salary FROM employees WHERE salary > 40000;
```
🔹 **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϝāĻžāĻĻ⧇āϰ `salary > 40000` āϤāĻžāϰāĻž `high_salary_employees` āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤**

#### **📌 Output (āύāϤ⧁āύ `high_salary_employees` āĻŸā§‡āĻŦāĻŋāϞ)**
| name | salary |
|--------|--------|
| Arafat | 50000 |
| Shuvo | 45000 |

---

## **✅ ā§Ē. āĻŸā§‡āĻŦāĻŋāϞ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻ•āϰāĻžāϰ āĻĒāϰ⧇ āύāϤ⧁āύ āĻĄāĻžāϟāĻž āϝ⧋āĻ— āĻ•āϰāĻž**
```sql
INSERT INTO employees_duplicate (id, name, department, salary)
VALUES (4, 'Alex', 'Finance', 42000);
```
🔹 **āĻāϤ⧇ `employees_duplicate` āĻŸā§‡āĻŦāĻŋāϞ⧇ āύāϤ⧁āύ āϰ⧋ āϝ⧋āĻ— āĻšāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ `employees` āĻŸā§‡āĻŦāĻŋāϞ āĻ…āĻ•ā§āώāϤ āĻĨāĻžāĻ•āĻŦ⧇āĨ¤**

---

## đŸ”Ĩ **āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `DUPLICATE TABLE`**
✔ **`CREATE TABLE new_table AS SELECT * FROM old_table;`** → āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ“ āĻĄāĻžāϟāĻž āĻ•āĻĒāĻŋ āĻ•āϰāĻŦ⧇āĨ¤
✔ **`CREATE TABLE new_table LIKE old_table;`** → āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•āĻĒāĻŋ āĻ•āϰāĻŦ⧇, āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āĻŦ⧇ āύāĻžāĨ¤
✔ **āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•āϞāĻžāĻŽā§‡āϰ āĻĄāĻžāϟāĻž āĻ•āĻĒāĻŋ āĻ•āϰāϤ⧇ `SELECT column1, column2 FROM table` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤**

---
### **🔹 `dummy_employee` āύāĻžāĻŽā§‡ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āϤ⧈āϰāĻŋ āĻ•āϰāĻž**

🔹 **āφāĻĒāύāĻŋ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻŦ āĻĄāĻžāϟāĻž āĻ“ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•āĻĒāĻŋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ āύāĻŋāĻšā§‡āϰ āĻĻ⧁āϟāĻŋ āĻĒāĻĻā§āϧāϤāĻŋāϤ⧇:**

---

### **✅ `CREATE TABLE ... AS SELECT * FROM` (āĻĄāĻžāϟāĻž āĻ“ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•āĻĒāĻŋ āĻ•āϰāĻŦ⧇)**
```sql
CREATE TABLE dummy_employee AS
SELECT * FROM employees;
```
🔹 **āĻāϟāĻŋ `employees` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻŦ āĻ•āϞāĻžāĻŽ āĻ“ āĻĄāĻžāϟāĻž `dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ•āĻĒāĻŋ āĻ•āϰāĻŦ⧇āĨ¤**

---

### **✅ `CREATE TABLE ... LIKE` (āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ¸ā§āĻŸā§āϰāĻžāĻ•āϚāĻžāϰ āĻ•āĻĒāĻŋ āĻ•āϰāĻŦ⧇, āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āĻŦ⧇ āύāĻž)**
```sql
CREATE TABLE dummy_employee LIKE employees;
```
🔹 **āĻāϤ⧇ `dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ `employees` āĻāϰ āĻŽāϤ⧋āχ āĻšāĻŦ⧇, āĻ•āĻŋāĻ¨ā§āϤ⧁ āϕ⧋āύ⧋ āĻĄāĻžāϟāĻž āĻĨāĻžāĻ•āĻŦ⧇ āύāĻžāĨ¤**
🔹 **āĻĄāĻžāϟāĻž āϝ⧋āĻ— āĻ•āϰāϤ⧇ āϚāĻžāχāϞ⧇:**
```sql
INSERT INTO dummy_employee SELECT * FROM employees;
```

---

### **✅ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ `SELECT` āĻ•āϰ⧇ āĻĻ⧇āϖ⧁āύ:**
```sql
SELECT * FROM dummy_employee;
```
🔹 **āĻāϤ⧇ `dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āϏāĻŦ āĻĄāĻžāϟāĻž āĻĻ⧇āĻ–āϤ⧇ āĻĒāĻžāĻŦ⧇āύāĨ¤**

---
### **🔹 `dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ `LIMIT` āĻŦ⧁āĻāĻŋā§Ÿā§‡ āĻĻ⧇āĻ“ā§ŸāĻž**

āĻāĻ–āύ āĻĨ⧇āϕ⧇ **`dummy_employee`** āĻŸā§‡āĻŦāĻŋāϞ āύāĻŋā§Ÿā§‡ āĻ•āĻžāϜ āĻ•āϰāĻŦā§‹ āĻāĻŦāĻ‚ `LIMIT` āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āĻŦāĻŋāĻ¸ā§āϤāĻžāϰāĻŋāϤ āĻĻ⧇āĻ–āĻžāĻŦā§‹āĨ¤

---

## **✅ `LIMIT` āĻĻāĻŋā§Ÿā§‡ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžāύ⧋**
🔹 āĻĒā§āϰāĻĨāĻŽ **ā§Ģ āϜāύ āĻ•āĻ°ā§āĻŽā§€** āĻĻ⧇āĻ–āĻžāϤ⧇ āϚāĻžāχāϞ⧇:
```sql
SELECT * FROM dummy_employee
LIMIT 5;
```
🔹 **📌 Output:**
| id | name | department | salary |
|----|------|-----------|--------|
| 1 | Arafat | IT | 50000 |
| 2 | Samiul | HR | 40000 |
| 3 | Shuvo | Marketing | 45000 |
| 4 | Alex | Finance | 42000 |
| 5 | John | IT | 46000 |

---

## **✅ `LIMIT` + `ORDER BY` (āϏāĻŦāĻšā§‡ā§Ÿā§‡ āĻŦ⧇āĻļāĻŋ āĻŦ⧇āϤāύ⧇āϰ ā§Š āϜāύ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžāύ⧋)**
```sql
SELECT * FROM dummy_employee
ORDER BY salary DESC
LIMIT 3;
```
🔹 **📌 Output:**
| id | name | department | salary |
|----|------|-----------|--------|
| 1 | Arafat | IT | 50000 |
| 5 | John | IT | 46000 |
| 3 | Shuvo | Marketing | 45000 |

---

## **✅ `LIMIT` + `OFFSET` (āĻĻā§āĻŦāĻŋāĻ¤ā§€ā§Ÿ āĻĒ⧃āĻˇā§āĻ āĻžāϰ āĻĄāĻžāϟāĻž āφāύāϤ⧇)**
🔹 āĻĒā§āϰāĻĨāĻŽ **ā§ĢāϟāĻŋ āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻĒāϰ⧇āϰ ā§ĢāϟāĻŋ āϰ⧋ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχāϞ⧇:**
```sql
SELECT * FROM dummy_employee
LIMIT 5 OFFSET 5;
```
🔹 **📌 Output:**
| id | name | department | salary |
|----|------|-----------|--------|
| 6 | Michael | HR | 39000 |
| 7 | Sarah | IT | 42000 |
| 8 | David | Finance | 41000 |
| 9 | Emma | HR | 43000 |
| 10 | James | IT | 40000 |

---

## **✅ `LIMIT` + `WHERE` (āĻļāĻ°ā§āϤ āĻĻāĻŋā§Ÿā§‡ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžāύ⧋)**
🔹 **āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ `IT` āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āĻĒā§āϰāĻĨāĻŽ ⧍ āϜāύ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχāϞ⧇:**
```sql
SELECT * FROM dummy_employee
WHERE department = 'IT'
LIMIT 2;
```
🔹 **📌 Output:**
| id | name | department | salary |
|----|------|-----------|--------|
| 1 | Arafat | IT | 50000 |
| 5 | John | IT | 46000 |

---

## **✅ `LIMIT` + `DELETE` (āĻļ⧁āϧ⧁ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻŽā§āĻ›āϤ⧇)**
🔹 āϝāĻĻāĻŋ **āĻļ⧁āϧ⧁ āĻĒā§āϰāĻĨāĻŽ ā§Š āϜāύ āĻ•āĻ°ā§āĻŽā§€ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāϤ⧇ āϚāĻžāχ:**
```sql
DELETE FROM dummy_employee
ORDER BY id ASC
LIMIT 3;
```
🔹 **📌 Result:** āĻĒā§āϰāĻĨāĻŽ ā§Š āϜāύ āĻ•āĻ°ā§āĻŽā§€ **āĻŽā§āϛ⧇ āϝāĻžāĻŦ⧇āĨ¤**

---

## **đŸ”Ĩ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `LIMIT`**
✔ **`LIMIT n`** → āĻĒā§āϰāĻĨāĻŽ `n` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤
✔ **`LIMIT n OFFSET m`** → āĻĒā§āϰāĻĨāĻŽ `m` āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻĒāϰ⧇āϰ `n` āϰ⧋ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤
✔ **`ORDER BY` + `LIMIT`** → āĻŦ⧜ āĻŦāĻž āϛ⧋āϟ āĻŽāĻžāύ⧇āϰ āĻļā§€āĻ°ā§āώ `n` āϟāĻž āϰ⧋ āĻĻ⧇āĻ–āĻžāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤
✔ **`WHERE` + `LIMIT`** → āĻļāĻ°ā§āϤ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰ⧇āĨ¤
✔ **`DELETE` + `LIMIT`** → āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰ⧇āĨ¤

---

### **🔹 SQL-āĻ `OFFSET` āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**
🔹 **`OFFSET` āϏāĻžāϧāĻžāϰāĻŖāϤ `LIMIT` āĻāϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻšā§Ÿ, āϝāĻž āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻ¸ā§āĻ•āĻŋāĻĒ (āĻŦāĻžāĻĻ) āĻ•āϰ⧇ āĻĒāϰ⧇āϰ āĻĄāĻžāϟāĻž āĻĻ⧇āĻ–āĻžāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤**
🔹 āĻāϟāĻŋ **āĻĒ⧇āϜāĻŋāύ⧇āĻļāύ (pagination)** āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻ…āύ⧇āĻ• āĻŦ⧇āĻļāĻŋ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§ŸāĨ¤

---

## **✅ `LIMIT` vs `LIMIT + OFFSET`**
📌 **āϕ⧇āĻŦāϞ `LIMIT` āĻĻāĻŋāϞ⧇:** āĻĒā§āϰāĻĨāĻŽ `n` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤
📌 **`LIMIT + OFFSET` āĻĻāĻŋāϞ⧇:** āĻĒā§āϰāĻĨāĻŽ `OFFSET` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ `LIMIT` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

## **✅ `OFFSET` āϏāĻš `dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ•āĻžāϜ āĻ•āϰāĻž**

### **ā§§ī¸âƒŖ āĻĒā§āϰāĻĨāĻŽ ā§Ģ āϜāύ āĻ•āĻ°ā§āĻŽā§€ āĻĻ⧇āĻ–āĻžāύ⧋ (`LIMIT` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇)**
```sql
SELECT * FROM dummy_employee
LIMIT 5;
```
🔹 **Result:**
| id | name | department | salary |
|----|------|-----------|--------|
| 1 | Arafat | IT | 50000 |
| 2 | Samiul | HR | 40000 |
| 3 | Shuvo | Marketing | 45000 |
| 4 | Alex | Finance | 42000 |
| 5 | John | IT | 46000 |

---

### **ā§¨ī¸âƒŖ āĻĒā§āϰāĻĨāĻŽ ā§ĢāϟāĻŋ āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ ā§ĢāϟāĻŋ āϰ⧋ āĻĻ⧇āĻ–āĻžāύ⧋ (`OFFSET` āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇)**
```sql
SELECT * FROM dummy_employee
LIMIT 5 OFFSET 5;
```
🔹 **Result:**
| id | name | department | salary |
|----|--------|-----------|--------|
| 6 | Michael | HR | 39000 |
| 7 | Sarah | IT | 42000 |
| 8 | David | Finance | 41000 |
| 9 | Emma | HR | 43000 |
| 10 | James | IT | 40000 |

📌 **āĻāĻ–āĻžāύ⧇ āĻĒā§āϰāĻĨāĻŽ ā§ĢāϟāĻŋ āϰ⧋ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āĻšā§Ÿā§‡āϛ⧇, āϤāĻžāχ āϰ⧇āϜāĻžāĻ˛ā§āϟ āĻļ⧁āϰ⧁ āĻšā§Ÿā§‡āϛ⧇ `id = 6` āĻĨ⧇āϕ⧇āĨ¤**

---

### **ā§Šī¸âƒŖ ā§§ā§ĻāϟāĻŋ āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ ā§ĢāϟāĻŋ āϰ⧋ āĻĻ⧇āĻ–āĻžāύ⧋**
```sql
SELECT * FROM dummy_employee
LIMIT 5 OFFSET 10;
```
🔹 **Result:**
| id | name | department | salary |
|----|------|-----------|--------|
| 11 | Robert | Finance | 45000 |
| 12 | Sophia | HR | 39000 |
| 13 | William | IT | 47000 |
| 14 | Olivia | Marketing | 41000 |
| 15 | Daniel | IT | 43000 |

📌 **āĻāĻŦāĻžāϰ āĻĒā§āϰāĻĨāĻŽ ā§§ā§ĻāϟāĻŋ āϰ⧋ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āĻšā§Ÿā§‡āϛ⧇, āϤāĻžāχ āϰ⧇āϜāĻžāĻ˛ā§āϟ āĻļ⧁āϰ⧁ āĻšā§Ÿā§‡āϛ⧇ `id = 11` āĻĨ⧇āϕ⧇āĨ¤**

---

## **✅ `ORDER BY` + `OFFSET` (āĻŦ⧇āĻļāĻŋ āĻŦ⧇āϤāύ⧇āϰ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻŽāĻ§ā§āϝ⧇ ā§Ģ-ā§§ā§Ļ āύāĻŽā§āĻŦāϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻžāύ⧇ āĻĨāĻžāĻ•āĻž āĻ•āĻ°ā§āĻŽā§€āϰāĻž)**
```sql
SELECT * FROM dummy_employee
ORDER BY salary DESC
LIMIT 5 OFFSET 5;
```
🔹 **Result:**
| id | name | department | salary |
|----|------|-----------|--------|
| 6 | Michael | HR | 39000 |
| 7 | Sarah | IT | 42000 |
| 8 | David | Finance | 41000 |
| 9 | Emma | HR | 43000 |
| 10 | James | IT | 40000 |

📌 **āĻāĻ–āĻžāύ⧇ āĻŦ⧇āĻļāĻŋ āĻŦ⧇āϤāύ⧇āϰ **āĻļā§€āĻ°ā§āώ ā§Ģ āϜāύ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ ā§Ģ āϜāύāϕ⧇ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšā§Ÿā§‡āϛ⧇āĨ¤**

---

## **✅ `DELETE` + `OFFSET` (āĻĒā§āϰāĻĨāĻŽ ā§Ģ āϜāύ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ ā§Š āϜāύ āĻ•āĻ°ā§āĻŽā§€ āĻĄāĻŋāϞāĻŋāϟ āĻ•āϰāĻž)**
```sql
DELETE FROM dummy_employee
ORDER BY id ASC
LIMIT 3 OFFSET 5;
```
📌 **āĻāϤ⧇ āĻĒā§āϰāĻĨāĻŽ ā§Ģ āϜāύ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ ā§Š āϜāύ āĻ•āĻ°ā§āĻŽā§€ āĻĄāĻŋāϞāĻŋāϟ āĻšāĻŦ⧇āĨ¤**

---

## **đŸ”Ĩ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `OFFSET`**
✔ **`LIMIT n`** → āĻĒā§āϰāĻĨāĻŽ `n` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤
✔ **`LIMIT n OFFSET m`** → āĻĒā§āϰāĻĨāĻŽ `m` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻĒāϰ⧇āϰ `n` āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤
✔ **`ORDER BY` + `OFFSET`** → āϕ⧋āύ⧋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ•ā§āϰāĻŽā§‡ (āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻŦāĻž āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ) āĻ•āĻŋāϛ⧁ āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻĻ⧇āĻ–āĻžāύ⧋ āϝāĻžā§ŸāĨ¤
✔ **`DELETE` + `OFFSET`** → āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āϏāĻ‚āĻ–ā§āϝāĻ• āϰ⧋ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻ•āĻŋāϛ⧁ āϰ⧋ āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻž āϝāĻžā§ŸāĨ¤

---

### **🔹 `GROUP BY` āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**

**`GROUP BY`** SQL-āĻāϰ āĻāĻ•āϟāĻŋ āĻļāĻ•ā§āϤāĻŋāĻļāĻžāϞ⧀ āĻ•ā§āϞāϜ āϝāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĄāĻžāϟāĻžāϕ⧇ āĻāĻ• āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽā§‡āϰ āĻ­āĻŋāĻ¤ā§āϤāĻŋāϤ⧇ **āĻ—ā§āϰ⧁āĻĒ** āĻ•āϰāĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āϏāĻžāϧāĻžāϰāĻŖāϤ **āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāϗ⧇āϟ āĻĢāĻžāĻ‚āĻļāύ** (āϝ⧇āĻŽāύ `SUM`, `AVG`, `COUNT`, `MIN`, `MAX`) āĻāϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§ŸāĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĄāĻžāϟāĻž āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧇ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ—ā§āϰ⧁āĻĒ⧇āϰ āωāĻĒāϰ āĻĢāĻžāĻ‚āĻļāύ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰāϤ⧇ āϏāĻžāĻšāĻžāĻ¯ā§āϝ āĻ•āϰ⧇āĨ¤

---

### **✅ `GROUP BY` āĻāϰ āϏ⧇āĻ—āĻŽā§‡āĻ¨ā§āϟ:**

1. **`GROUP BY` āĻāĻ•āϟāĻŋ āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽ āύāĻŋā§Ÿā§‡ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧇āĨ¤**
2. **āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāϗ⧇āϟ āĻĢāĻžāĻ‚āĻļāύ** āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ—ā§āϰ⧁āĻĒ⧇āϰ āωāĻĒāϰ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤
3. **`HAVING`** (āϝāĻž `WHERE` āĻāϰ āĻŽāϤ⧋) āĻ—ā§āϰ⧁āĻĒ⧇āϰ āωāĻĒāϰ āĻļāĻ°ā§āϤ āĻĻā§‡ā§Ÿ, āĻ•āĻŋāĻ¨ā§āϤ⧁ `WHERE` āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āϰ⧇āĻ•āĻ°ā§āĻĄāϗ⧁āϞ⧋āϰ āωāĻĒāϰ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

---

### **✅ āωāĻĻāĻžāĻšāϰāĻŖ ā§§: `GROUP BY` āĻāĻ• āĻ•āϞāĻžāĻŽ āĻĻāĻŋā§Ÿā§‡**

āϧāϰāĻž āϝāĻžāĻ• **`dummy_employee`** āĻŸā§‡āĻŦāĻŋāϞ⧇ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ āĻŦ⧇āϤāύ āĻĻ⧇āĻ–āĻžāύ⧋āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, **āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ—ā§œ āĻŦ⧇āϤāύ** āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχāĨ¤

#### **`GROUP BY` āĻĻāĻŋā§Ÿā§‡ `department` āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ—ā§œ āĻŦ⧇āϤāύ āĻŦ⧇āϰ āĻ•āϰāĻž:**
```sql
SELECT department, AVG(salary) AS avg_salary
FROM dummy_employee
GROUP BY department;
```

🔹 **Result:**
| department | avg_salary |
|------------|------------|
| IT | 47000.00 |
| HR | 42000.00 |
| Marketing | 43000.00 |
| Finance | 42000.00 |

---

### **✅ āωāĻĻāĻžāĻšāϰāĻŖ ⧍: `GROUP BY` āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽ āĻĻāĻŋā§Ÿā§‡**

āϧāϰāĻž āϝāĻžāĻ•, āφāĻĒāύāĻŋ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻŦ⧇āϤāύ āĻ…āύ⧁āϏāĻžāϰ⧇ āĻ•āĻ°ā§āĻŽā§€āĻĻ⧇āϰ **āĻ—āĻŖāύāĻž** āĻ•āϰāϤ⧇ āϚāĻžāύāĨ¤ āφāĻĒāύāĻŋ āĻĻ⧁āϟāĻŋ āĻ•āϞāĻžāĻŽ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύ — `department` āĻāĻŦāĻ‚ `salary`āĨ¤

#### **`GROUP BY` āĻĻāĻŋā§Ÿā§‡ `department` āĻāĻŦāĻ‚ `salary` āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻŽā§‹āϟ āĻ•āĻ°ā§āĻŽā§€ āĻ—āĻŖāύāĻž:**
```sql
SELECT department, salary, COUNT(*) AS total_employees
FROM dummy_employee
GROUP BY department, salary;
```

🔹 **Result:**
| department | salary | total_employees |
|------------|--------|-----------------|
| IT | 50000 | 2 |
| HR | 39000 | 1 |
| Marketing | 45000 | 1 |
| Finance | 42000 | 1 |
| IT | 46000 | 1 |
| HR | 43000 | 1 |
| Marketing | 41000 | 1 |

---

### **✅ `GROUP BY` + `HAVING`**

**`HAVING`** āĻšāϞ āĻāĻ•āϟāĻŋ āĻļāĻ°ā§āϤ āϝāĻž **`GROUP BY`** āĻāϰ āĻĒāϰ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§Ÿ, āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰāĻž āϰ⧇āĻ•āĻ°ā§āĻĄā§‡āϰ āωāĻĒāϰ āĻļāĻ°ā§āϤ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ **`WHERE`** āĻāϰ āĻŽāϤ⧋ āĻ•āĻžāϜ āĻ•āϰ⧇, āϤāĻŦ⧇ **`WHERE`** āϕ⧇āĻŦāϞ āϰ⧇āĻ•āĻ°ā§āĻĄā§‡āϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§Ÿ, āφāϰ **`HAVING`** āĻ—ā§āϰ⧁āĻĒ⧇āϰ āϜāĻ¨ā§āϝāĨ¤

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āϚāĻžāĻšā§āϛ⧇āύ, āĻāĻŽāύ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟāϗ⧁āϞ⧋ āĻĻ⧇āĻ–āĻžāϤ⧇ āϝ⧇āĻ–āĻžāύ⧇ āĻ—ā§œ āĻŦ⧇āϤāύ ā§Ēā§Ģā§Ļā§Ļā§Ļ āϟāĻžāĻ•āĻžāϰ āĻŦ⧇āĻļāĻŋ:

```sql
SELECT department, AVG(salary) AS avg_salary
FROM dummy_employee
GROUP BY department
HAVING AVG(salary) > 45000;
```

🔹 **Result:**
| department | avg_salary |
|------------|------------|
| IT | 47000.00 |

---

### **✅ `GROUP BY` + `ORDER BY`**

āφāĻĒāύāĻŋ **`GROUP BY`** āĻāϰ āϏāĻžāĻĨ⧇ **`ORDER BY`** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻ—ā§āϰ⧁āĻĒ⧇āϰ āϰ⧇āϜāĻžāĻ˛ā§āϟāϗ⧁āϞ⧋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻ…āĻ°ā§āĻĄāĻžāϰ⧇ āϏāĻžāϜāĻžāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
**`department` āĻ…āύ⧁āϝāĻžā§Ÿā§€ āĻ—ā§œ āĻŦ⧇āϤāύ āĻĻ⧇āĻ–āĻžāύ⧋āϰ āĻĒāĻžāĻļāĻžāĻĒāĻžāĻļāĻŋ, `avg_salary` āĻ…āύ⧁āϏāĻžāϰ⧇ āϏāĻžāϜāĻžāύ⧋:**

```sql
SELECT department, AVG(salary) AS avg_salary
FROM dummy_employee
GROUP BY department
ORDER BY avg_salary DESC;
```

🔹 **Result:**
| department | avg_salary |
|------------|------------|
| IT | 47000.00 |
| Marketing | 43000.00 |
| Finance | 42000.00 |
| HR | 42000.00 |

---

### **đŸ”Ĩ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ `GROUP BY`:**

- **`GROUP BY column`** → āĻāĻ•āϟāĻŋ āĻ•āϞāĻžāĻŽ (āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽ) āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āϰ⧇āĻ•āĻ°ā§āĻĄāϗ⧁āϞ⧋ āĻ—ā§āϰ⧁āĻĒ āĻ•āϰ⧇āĨ¤
- **`HAVING`** → `GROUP BY` āĻāϰ āĻĒāϰ⧇ āĻļāĻ°ā§āϤ āĻĻā§‡ā§Ÿ (āĻ—ā§āϰ⧁āĻĒ⧇āϰ āĻ“āĻĒāϰ)āĨ¤
- **`ORDER BY`** → āĻ—ā§āϰ⧁āĻĒāϗ⧁āϞāĻŋāϕ⧇ āϏāĻžāϜāĻžāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§ŸāĨ¤
- **āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāϗ⧇āϟ āĻĢāĻžāĻ‚āĻļāύ** (āϝ⧇āĻŽāύ `AVG`, `SUM`, `COUNT`, `MIN`, `MAX`) āĻ—ā§āϰ⧁āĻĒ⧇āϰ āωāĻĒāϰ āĻ•āĻžāϜ āĻ•āϰ⧇āĨ¤

---

### **🔹 SQL-āĻ `MIN`, `MAX`, `COUNT`, `AVG`, `SUM` āĻĢāĻžāĻ‚āĻļāύ**
āĻāχ āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞ⧋ SQL āĻ **āĻ…ā§āϝāĻžāĻ—ā§āϰāĻŋāϗ⧇āϟ āĻĢāĻžāĻ‚āĻļāύ** (Aggregate Functions) āĻšāĻŋāϏ⧇āĻŦ⧇ āĻĒāϰāĻŋāϚāĻŋāϤ, āϝ⧇āϗ⧁āϞāĻŋ āĻĄāĻžāϟāĻžāϰ āωāĻĒāϰ āĻ—āĻŖāύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§ŸāĨ¤ āĻāϗ⧁āϞ⧋ āϏāĻžāϧāĻžāϰāĻŖāϤ **`GROUP BY`** āĻāĻŦāĻ‚ **`WHERE`** āĻāϰ āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ•āĻ•āĻ­āĻžāĻŦ⧇ āĻĄāĻžāϟāĻžāϰ āĻŽā§‹āϟāĻžāĻŽā§āϟāĻŋ āĻāĻ•ā§āϏāĻŸā§āĻ°ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻž āϝāĻžā§ŸāĨ¤

---

### **✅ ā§§. `MIN` (āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ āĻŽāĻžāύ)**
🔹 **`MIN` āĻĢāĻžāĻ‚āĻļāύ āĻāĻ•āϟāĻŋ āĻ•āϞāĻžāĻŽā§‡ āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ āĻŽāĻžāύ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰ⧇āĨ¤**

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
**`dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `salary` āĻ•āϞāĻžāĻŽ āĻĨ⧇āϕ⧇ āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ āĻŦ⧇āϤāύ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāĻž:**
```sql
SELECT MIN(salary) AS min_salary FROM dummy_employee;
```
🔹 **Result:**
| min_salary |
|------------|
| 39000 |

---

### **✅ ⧍. `MAX` (āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻŽāĻžāύ)**
🔹 **`MAX` āĻĢāĻžāĻ‚āĻļāύ āĻāĻ•āϟāĻŋ āĻ•āϞāĻžāĻŽā§‡ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻŽāĻžāύ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰ⧇āĨ¤**

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
**`dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `salary` āĻ•āϞāĻžāĻŽ āĻĨ⧇āϕ⧇ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻŦ⧇āϤāύ āϖ⧁āρāĻœā§‡ āĻŦ⧇āϰ āĻ•āϰāĻž:**
```sql
SELECT MAX(salary) AS max_salary FROM dummy_employee;
```
🔹 **Result:**
| max_salary |
|------------|
| 50000 |

---

### **✅ ā§Š. `COUNT` (āĻĄāĻžāϟāĻž āϏāĻ‚āĻ–ā§āϝāĻž āĻ—ā§‹āύāĻž)**
🔹 **`COUNT` āĻĢāĻžāĻ‚āĻļāύ āϕ⧋āύ⧋ āĻ•āϞāĻžāĻŽā§‡ āĻŽā§‹āϟ āϰ⧇āĻ•āĻ°ā§āĻĄā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻž āĻ—āĻŖāύāĻž āĻ•āϰ⧇āĨ¤**

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
**`dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ āĻŽā§‹āϟ āĻ•āĻ°ā§āĻŽā§€āϰ āϏāĻ‚āĻ–ā§āϝāĻž āϜāĻžāύāĻžāϰ āϜāĻ¨ā§āϝ:**
```sql
SELECT COUNT(*) AS total_employees FROM dummy_employee;
```
🔹 **Result:**
| total_employees |
|-----------------|
| 15 |

---

### **✅ ā§Ē. `AVG` (āĻ—ā§œ āĻŽāĻžāύ)**
🔹 **`AVG` āĻĢāĻžāĻ‚āĻļāύ āϕ⧋āύ⧋ āĻ•āϞāĻžāĻŽā§‡āϰ āĻ—ā§œ āĻŽāĻžāύ āĻŦ⧇āϰ āĻ•āϰ⧇āĨ¤**

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
**`dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `salary` āĻ•āϞāĻžāĻŽā§‡āϰ āĻ—ā§œ āĻŦ⧇āϤāύ āĻŦ⧇āϰ āĻ•āϰāĻž:**
```sql
SELECT AVG(salary) AS avg_salary FROM dummy_employee;
```
🔹 **Result:**
| avg_salary |
|------------|
| 43500.00 |

---

### **✅ ā§Ģ. `SUM` (āĻŽā§‹āϟ āĻŽāĻžāύ)**
🔹 **`SUM` āĻĢāĻžāĻ‚āĻļāύ āϕ⧋āύ⧋ āĻ•āϞāĻžāĻŽā§‡ āϏāĻŦ āĻŽāĻžāύ⧇āϰ āϝ⧋āĻ—āĻĢāϞ āĻŦ⧇āϰ āĻ•āϰ⧇āĨ¤**

#### **āωāĻĻāĻžāĻšāϰāĻŖ:**
**`dummy_employee` āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `salary` āĻ•āϞāĻžāĻŽā§‡āϰ āĻŽā§‹āϟ āĻŦ⧇āϤāύ āĻŦ⧇āϰ āĻ•āϰāĻž:**
```sql
SELECT SUM(salary) AS total_salary FROM dummy_employee;
```
🔹 **Result:**
| total_salary |
|--------------|
| 652500 |

---

### **📌 āĻāĻ•āĻ¤ā§āϰ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ**
**āϝāĻĻāĻŋ āϏāĻŦ āĻĢāĻžāĻ‚āĻļāύ āĻāĻ•āϏāĻžāĻĨ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āϚāĻžāύ:**
```sql
SELECT
MIN(salary) AS min_salary,
MAX(salary) AS max_salary,
COUNT(*) AS total_employees,
AVG(salary) AS avg_salary,
SUM(salary) AS total_salary
FROM dummy_employee;
```

🔹 **Result:**
| min_salary | max_salary | total_employees | avg_salary | total_salary |
|------------|------------|-----------------|------------|--------------|
| 39000 | 50000 | 15 | 43500.00 | 652500 |

---

### **đŸ”Ĩ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇ āĻĢāĻžāĻ‚āĻļāύāϗ⧁āϞ⧋:**

- **`MIN(column)`** → āĻ•āϞāĻžāĻŽā§‡āϰ āϏāĻ°ā§āĻŦāύāĻŋāĻŽā§āύ āĻŽāĻžāύāĨ¤
- **`MAX(column)`** → āĻ•āϞāĻžāĻŽā§‡āϰ āϏāĻ°ā§āĻŦā§‹āĻšā§āϚ āĻŽāĻžāύāĨ¤
- **`COUNT(*)`** → āĻŽā§‹āϟ āϰ⧇āĻ•āĻ°ā§āĻĄ āϏāĻ‚āĻ–ā§āϝāĻžāĨ¤
- **`AVG(column)`** → āĻ•āϞāĻžāĻŽā§‡āϰ āĻ—ā§œ āĻŽāĻžāύāĨ¤
- **`SUM(column)`** → āĻ•āϞāĻžāĻŽā§‡āϰ āϏāĻŦ āĻŽāĻžāύ⧇āϰ āϝ⧋āĻ—āĻĢāϞāĨ¤

---

### **🔹 `DISTINCT` āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇?**

SQL-āĻ **`DISTINCT`** āĻāĻ•āϟāĻŋ āĻ•āĻŋāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āϝāĻž **āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ (āĻĒ⧁āύāϰāĻžāĻŦ⧃āĻ¤ā§āϤ) āĻŽāĻžāύ** āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡, āĻāĻ•āĻ• āĻŦāĻž āĻ…āύāĻ¨ā§āϝ (unique) āĻŽāĻžāύāϗ⧁āϞ⧋ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧇āĨ¤ āĻāϟāĻŋ āĻŽā§‚āϞāϤ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻĄā§‡āϟāĻž āĻĢāĻŋāĻ˛ā§āϟāĻžāϰ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšā§ƒāϤ āĻšā§Ÿ āĻāĻŦāĻ‚ āφāĻĒāύāĻŋ āϝ⧇āϕ⧋āύ⧋ āĻ•āϞāĻžāĻŽā§‡ āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽā§‡ **āĻĄāĻŋāĻ¸ā§āϟāĻŋāĻ‚āĻ•ā§āϟ** āĻŽāĻžāύ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχāϞ⧇ āĻāϟāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

---

### **✅ `DISTINCT` āĻŦā§āϝāĻŦāĻšāĻžāϰ:**

**`DISTINCT`** āĻ•āĻŋāĻ“ā§ŸāĻžāĻ°ā§āĻĄāϟāĻŋ āφāĻĒāύāĻŋ **`SELECT`** āϕ⧁āχāϰāĻŋ āĻĻāĻŋā§Ÿā§‡ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ, āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻŽāĻžāύ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻĢāϞāĻžāĻĢāϞ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤

---

### **✅ āωāĻĻāĻžāĻšāϰāĻŖ ā§§: āĻāĻ• āĻ•āϞāĻžāĻŽā§‡ āĻĄāĻŋāĻ¸ā§āϟāĻŋāĻ‚āĻ•ā§āϟ āĻŽāĻžāύ**

āϧāϰāĻž āϝāĻžāĻ•, āφāĻĒāύāĻŋ **`dummy_employee`** āĻŸā§‡āĻŦāĻŋāϞ⧇āϰ `department` āĻ•āϞāĻžāĻŽ āĻĨ⧇āϕ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ…āύāĻ¨ā§āϝ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟāϗ⧁āϞ⧋ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāύāĨ¤

```sql
SELECT DISTINCT department FROM dummy_employee;
```

🔹 **Result:**
| department |
|------------|
| IT |
| HR |
| Marketing |
| Finance |

āĻāĻ–āĻžāύ⧇ **`DISTINCT`** āĻ•āĻŋāĻ“ā§ŸāĻžāĻ°ā§āĻĄāϟāĻŋ **āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ** āĻ•āϞāĻžāĻŽā§‡ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻŽāĻžāύ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡āϛ⧇ āĻāĻŦāĻ‚ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻ…āύāĻ¨ā§āϝ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āύāĻžāĻŽāϗ⧁āϞ⧋ āĻĻ⧇āĻ–āĻŋā§Ÿā§‡āϛ⧇āĨ¤

---

### **✅ āωāĻĻāĻžāĻšāϰāĻŖ ⧍: āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽā§‡ āĻĄāĻŋāĻ¸ā§āϟāĻŋāĻ‚āĻ•ā§āϟ āĻŽāĻžāύ**

āφāĻĒāύāĻŋ **`department`** āĻāĻŦāĻ‚ **`salary`** āĻ•āϞāĻžāĻŽ āĻĻ⧁āĻŸā§‹āϤ⧇ **āĻĄāĻŋāĻ¸ā§āϟāĻŋāĻ‚āĻ•ā§āϟ** āĻŽāĻžāύ āĻĻ⧇āĻ–āϤ⧇ āϚāĻžāχāϞ⧇:

```sql
SELECT DISTINCT department, salary FROM dummy_employee;
```

🔹 **Result:**
| department | salary |
|------------|--------|
| IT | 50000 |
| HR | 39000 |
| Marketing | 45000 |
| Finance | 42000 |
| IT | 46000 |
| HR | 43000 |

āĻāĻ–āĻžāύ⧇, **`DISTINCT`** āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻŦ⧇āϤāύ⧇āϰ āχāωāύāĻŋāĻ• (āĻ…āύāĻ¨ā§āϝ) āĻ•āĻŽā§āĻŦāĻŋāύ⧇āĻļāύāϗ⧁āϞ⧋ āĻĻ⧇āĻ–āĻŋā§Ÿā§‡āϛ⧇, āĻ…āĻ°ā§āĻĨāĻžā§Ž **āĻāĻ•āχ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ āĻāĻŦāĻ‚ āĻŦ⧇āϤāύ āĻāĻ•āĻžāϧāĻŋāĻ• āĻŦāĻžāϰ āύāĻž āĻĻ⧇āĻ–āĻŋā§Ÿā§‡, āĻāĻ•āĻŦāĻžāϰ āĻĻ⧇āĻ–āĻŋā§Ÿā§‡āϛ⧇āĨ¤**

---

### **✅ `DISTINCT` + `COUNT`**

āϧāϰāĻž āϝāĻžāĻ•, āφāĻĒāύāĻŋ **āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻž** āϜāĻžāύāĻžāϤ⧇ āϚāĻžāύ, āĻ•āĻŋāĻ¨ā§āϤ⧁ āĻāĻ•āχ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϜāĻ¨ā§āϝ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āĻ°ā§āĻŽā§€ āĻĨāĻžāĻ•āϞ⧇āĻ“, āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ **āĻ…āύāĻ¨ā§āϝ** āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āĻŸā§‡āϰ āϏāĻ‚āĻ–ā§āϝāĻž āϚāĻžāχāϛ⧇āύāĨ¤

```sql
SELECT COUNT(DISTINCT department) AS unique_departments
FROM dummy_employee;
```

🔹 **Result:**
| unique_departments |
|--------------------|
| 4 |

āĻāĻ–āĻžāύ⧇ **`COUNT(DISTINCT department)`** **āĻĄāĻŋāĻ¸ā§āϟāĻŋāĻ‚āĻ•ā§āϟ āĻĄāĻŋāĻĒāĻžāĻ°ā§āϟāĻŽā§‡āĻ¨ā§āϟ** āϗ⧁āύ⧇ āϏāĻ‚āĻ–ā§āϝāĻž āĻĻ⧇āĻ–āĻŋā§Ÿā§‡āϛ⧇āĨ¤

---

### **📌 `DISTINCT` āĻāϰ āĻ•āĻŋāϛ⧁ āϗ⧁āϰ⧁āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻĒā§Ÿā§‡āĻ¨ā§āϟ:**

- **āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽ:** āϝāĻĻāĻŋ āφāĻĒāύāĻŋ āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽā§‡ **`DISTINCT`** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āύ, āϤāĻžāĻšāϞ⧇ āϕ⧇āĻŦāϞāĻŽāĻžāĻ¤ā§āϰ āϐ āĻ•āϞāĻžāĻŽā§‡āϰ **āĻ•āĻŽā§āĻŦāĻŋāύ⧇āĻļāύ** āĻšāĻŋāϏ⧇āĻŦ⧇āχ āĻ…āύāĻ¨ā§āϝ (unique) āĻŽāĻžāύ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤
- **`DISTINCT`** āϕ⧇āĻŦāϞ **`SELECT`** āϕ⧁āχāϰāĻŋāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻšā§Ÿ, āĻĄā§‡āϟāĻž āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻŦāĻž āĻŽā§āϛ⧇ āĻĢ⧇āϞāĻžāϰ āĻ•ā§āώ⧇āĻ¤ā§āϰ⧇ āύ⧟āĨ¤
- **āϕ⧋āύ⧋ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āύāĻž āĻĨāĻžāĻ•āϞ⧇:** āϝāĻ–āύ āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻŽāĻžāύ āĻĨāĻžāϕ⧇ āύāĻž, āϤāĻ–āύ `DISTINCT` āĻ•āĻžāϜ āĻ•āϰāĻŦ⧇ āύāĻž āĻāĻŦāĻ‚ **āϏāĻžāϧāĻžāϰāĻŖ `SELECT`** āϕ⧁āχāϰāĻŋāϰ āĻŽāϤ āϰ⧇āϜāĻžāĻ˛ā§āϟ āĻĻ⧇āĻ–āĻžāĻŦ⧇āĨ¤

---

### **đŸ”Ĩ āϏāĻ‚āĻ•ā§āώ⧇āĻĒ⧇:**

- **`DISTINCT`** → āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻŽāĻžāύ āĻŦāĻžāĻĻ āĻĻāĻŋā§Ÿā§‡ āĻ…āύāĻ¨ā§āϝ (unique) āĻŽāĻžāύ āĻĻ⧇āĻ–āĻžā§ŸāĨ¤
- āĻāĻ•āĻ• āĻ•āϞāĻžāĻŽ āĻŦāĻž āĻāĻ•āĻžāϧāĻŋāĻ• āĻ•āϞāĻžāĻŽā§‡ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āϝāĻžā§ŸāĨ¤
- **`DISTINCT`** āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϞ⧇, āĻĄā§āĻĒā§āϞāĻŋāϕ⧇āϟ āĻŽāĻžāύ āĻŦāĻžāĻĻ āĻĻ⧇āĻ“ā§ŸāĻž āĻšā§Ÿ āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻļ⧁āϧ⧁āĻŽāĻžāĻ¤ā§āϰ āĻāĻ•āĻ• āĻŦāĻž āĻ…āύāĻ¨ā§āϝ āĻŽāĻžāύ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšā§ŸāĨ¤

---