Welcome to Database Laboratory A. Y. 2025- 26
Welcome to Database Laboratory A. Y. 2025- 26
CREATE TABLE Department (
dept_id INT PRIMARY KEY,
dept_name VARCHAR(50) NOT NULL UNIQUE,
location VARCHAR(50) DEFAULT 'Head Office'
);
CREATE TABLE Employee (
emp_id INT PRIMARY KEY,
emp_name VARCHAR(50) NOT NULL,
designation VARCHAR(50) NOT NULL,
salary DECIMAL(10,2) CHECK (salary > 0),
gender CHAR(1) CHECK (gender IN ('M','F')),
join_date DATE DEFAULT CURRENT_DATE,
dept_id INT,
FOREIGN KEY (dept_id) REFERENCES Department(dept_id)
);
CREATE TABLE Appraisal (
appraisal_id INT PRIMARY KEY,
emp_id INT NOT NULL,
appraisal_year INT CHECK (appraisal_year BETWEEN 2020 AND 2030),
performance_score INT CHECK (performance_score BETWEEN 1 AND 10),
rating VARCHAR(20) DEFAULT 'Pending',
FOREIGN KEY (emp_id) REFERENCES Employee(emp_id)
);
CREATE INDEX idx_employee_name
ON Employee(emp_name);
INSERT INTO Department (dept_id, dept_name, location) VALUES
(1, 'HR', 'Mumbai'),
(2, 'IT', 'Pune'),
(3, 'Finance', 'Delhi');
INSERT INTO Department (dept_id, dept_name)
VALUES (4, 'Admin');
INSERT INTO Employee
(emp_id, emp_name, designation, salary, gender, dept_id)
VALUES
(101, 'Amit Sharma', 'Manager', 60000, 'M', 1),
(102, 'Neha Verma', 'Developer', 50000, 'F', 2),
(103, 'Rahul Patil', 'Analyst', 45000, 'M', 3);
INSERT INTO Appraisal
(appraisal_id, emp_id, appraisal_year, performance_score, rating)
VALUES
(1, 101, 2024, 9, 'Excellent'),
(2, 102, 2024, 8, 'Very Good'),
(3, 103, 2024, 6, 'Good');
INSERT INTO Appraisal
(appraisal_id, emp_id, appraisal_year, performance_score)
VALUES
(4, 101, 2025, 8);
UPDATE Employee
SET salary = 65000
WHERE emp_id = 101;
DELETE FROM Appraisal
WHERE appraisal_id = 3;
SELECT * FROM Department;
SELECT * FROM Employee;
SELECT * FROM Appraisal;
SELECT *
FROM Department
WHERE dept_id = 1;
SELECT *
FROM Employee
WHERE emp_id = 101;
SELECT *
FROM Appraisal
WHERE appraisal_id = 1;
SELECT *
FROM Employee
WHERE dept_id = 2;
SELECT *
FROM Appraisal
WHERE emp_id = 101;
SELECT E.emp_id, E.emp_name, D.dept_name
FROM Employee E
JOIN Department D
ON E.dept_id = D.dept_id;
SELECT A.appraisal_id, E.emp_name, A.performance_score, A.rating
FROM Appraisal A
JOIN Employee E
ON A.emp_id = E.emp_id;
SELECT
E.emp_name,
D.dept_name,
A.appraisal_year,
A.performance_score,
A.rating
FROM Employee E
JOIN Department D
ON E.dept_id = D.dept_id
JOIN Appraisal A
ON E.emp_id = A.emp_id;
SELECT COUNT(*)
FROM Employee;
SELECT AVG(salary)
FROM Employee;
SELECT MAX(salary)
FROM Employee;
SELECT dept_id, COUNT(*)
FROM Employee
GROUP BY dept_id;
INSERT INTO Appraisal
VALUES (5, 101, 2018, 15, 'Excellent');
❌ Error because
Year < 2020
Score > 10