This README contains SQL exercises demonstrating the use of constraints such as NOT NULL, CHECK, DEFAULT, UNIQUE, and functions like NULLIF() and IFNULL().
CREATE TABLE Employees (
EmpID INT NOT NULL,
Name VARCHAR(50) NOT NULL,
Department VARCHAR(30),
PRIMARY KEY (EmpID)
);
-- ❌ Insert without EmpID
INSERT INTO Employees (Name, Department) VALUES ('John', 'HR');
-- ❌ Insert without Name
INSERT INTO Employees (EmpID, Department) VALUES (1, 'HR');CREATE TABLE Products (
ProductID INT NOT NULL,
ProductName VARCHAR(50) NOT NULL,
Price DECIMAL(10, 2) CHECK (Price > 0),
PRIMARY KEY (ProductID)
);
-- ❌ Negative price
INSERT INTO Products VALUES (1, 'Pen', -10.00);
-- ❌ Price = 0
INSERT INTO Products VALUES (2, 'Pencil', 0.00);
-- ✅ Valid product
INSERT INTO Products VALUES (3, 'Notebook', 25.50);CREATE TABLE Students (
StudentID INT NOT NULL,
Name VARCHAR(50) NOT NULL,
Age INT CHECK (Age >= 18),
Marks INT CHECK (Marks BETWEEN 0 AND 100),
PRIMARY KEY (StudentID)
);
-- ❌ Age < 18
INSERT INTO Students VALUES (1, 'Amit', 16, 80);
-- ❌ Marks > 100
INSERT INTO Students VALUES (2, 'Sita', 20, 105);
-- ✅ Valid student
INSERT INTO Students VALUES (3, 'Rahul', 21, 85);CREATE TABLE Orders (
OrderID INT PRIMARY KEY,
OrderStatus VARCHAR(20) DEFAULT 'Pending',
CreatedDate DATE DEFAULT CURRENT_DATE
);
-- ✅ Insert with default values
INSERT INTO Orders (OrderID) VALUES (101);
-- 🔍 View the default values
SELECT * FROM Orders WHERE OrderID = 101;CREATE TABLE Customers (
ID INT PRIMARY KEY,
Name VARCHAR(50),
City VARCHAR(50),
Salary DECIMAL(10, 2)
);
INSERT INTO Customers VALUES
(1, 'Ramesh', 'Delhi', 5000),
(2, 'Anil', 'Anil', NULL),
(3, 'Sunita', NULL, 7000);
-- 🔎 NULLIF
SELECT ID, NULLIF(Name, City) AS Result FROM Customers;
-- 🔁 IFNULL
SELECT ID, IFNULL(Salary, 5500) AS FinalSalary FROM Customers;CREATE TABLE Vehicles (
VehicleID INT PRIMARY KEY,
Model VARCHAR(50),
Year INT
);
-- ➕ Add CHECK constraint
ALTER TABLE Vehicles ADD CONSTRAINT chk_year CHECK (Year >= 2000);
-- ❌ Insert invalid Year
INSERT INTO Vehicles VALUES (1, 'Toyota', 1995);
-- ➖ Drop the constraint
ALTER TABLE Vehicles DROP CONSTRAINT chk_year;CREATE TABLE Users (
UserID INT PRIMARY KEY,
Username VARCHAR(50) UNIQUE,
Email VARCHAR(100) UNIQUE
);
-- ❌ Duplicate Username
INSERT INTO Users VALUES (1, 'kulani', '[email protected]');
INSERT INTO Users VALUES (2, 'kulani', '[email protected]');
-- ❌ Duplicate Email
INSERT INTO Users VALUES (3, 'john', '[email protected]');