1.
Create the following table and apply the constraints and Insert at least 5 records
create table DEPARTMENT
(DEPTNO INT PRIMARY KEY,
DNAME CHAR(10) check (DNAME in ('SALES', 'MARKET',
'HRM')),
LOCATION CHAR(10));
CREATE TABLE EMPLOYEE
(EMP_NO INT PRIMARY KEY,
ENAME CHAR(15) CHECK (ENAME=UPPER(ENAME)),
BIRTHDT DATE,
SALARY INT CHECK(SALARY BETWEEN 3000 AND 10000),
DEPTNO INT REFERENCES DEPARTMENT(DEPTNO));
INSERT INTO DEPARTMENT(DEPTNO,DNAME,LOCATION)
VALUES(101,'COMPUTER','NEW YORK')
INSERT INTO DEPARTMENT(DEPTNO,DNAME,LOCATION)
VALUES(102,'MECHANICAL','USA')
INSERT INTO DEPARTMENT(DEPTNO,DNAME,LOCATION)
VALUES(103,'ELECTRICAL','NEW DELHI')
INSERT INTO DEPARTMENT(DEPTNO,DNAME,LOCATION)
VALUES(104,'E & TC','JAPAN')
INSERT INTO DEPARTMENT(DEPTNO,DNAME,LOCATION)
VALUES(105,'AI','ROME')
INSERT INTO EMPLOYEE(EMP_NO,BIRTHDT,SALARY,DEPTNO)
VALUES(1000,'2001-10-12,4000,101)
INSERT INTO EMPLOYEE(EMP_NO,BIRTHDT,SALARY,DEPTNO)
VALUES(1001,'2000-11-11,7000,102)
INSERT INTO EMPLOYEE(EMP_NO,BIRTHDT,SALARY,DEPTNO)
VALUES(1002,'1998-09-14,5000,103)
INSERT INTO EMPLOYEE(EMP_NO,BIRTHDT,SALARY,DEPTNO)
VALUES(1003,'2003-12-01,9000,104)
INSERT INTO EMPLOYEE(EMP_NO,BIRTHDT,SALARY,DEPTNO)
VALUES(1004,'2002-03-02,4000,105)
2 I) List Employee Names working in department number 20.
CREATE TABLE EMP(NAME VARCHAR(20),EMPID INT,DEPT NO
INT);
INSERT INTO EMP VALUES('SHUBH',121,20)
INSERT INTO EMP VALUES('PREM',131,22)
INSERT INTO EMP VALUES('SHUBHASH',123,20)
INSERT INTO EMP VALUES('OM',132,22)
INSERT INTO EMP VALUES('PRATHAM',111,21)
INSERT INTO EMP VALUES('PUJA',123,20)
INSERT INTO EMP VALUES('RANI',112,21)
SELECT NAME FROM EMP
WHERE DEPTNO=20;
II) Display department name where ‘ARUN’ is working.
CREATE TABLE IM(NAME VARCHAR(20),DNAME
VARCHAR(20),EMPID INT)
INSERT INTO IM VALUES('PREM','COMPUTER',101)
INSERT INTO IM VALUES('RAM','CHEMISTRY',102)
INSERT INTO IM VALUES('ARUN','COMPUTER',103)
SELECT * FROM IM
SELECT DNAME FROM IM
WHERE NAME='ARUN'
---------------------------------------------------------------------------------------------
1. Create following tables with primary key and foreign key constraints:
CREATE TABLE
Employee(EMPNO,ENAME,DTOFBIRTH,SALARY,DEPTNO)
CREATE TABLE Department(DEPTNO,DNAME,LOCATION)
i) Who Earns Highest Salary
SELECT ENAME FROM EMPLOYEE
WHERE SALARY=(SELECT MAX(SALARY)
FROM EMPLOYEE);
ii) Select Average salary of each Department
SELECT DEPTNO,AVG(SALARY) FROM EMPLOYEE
GROUP BY DEPTNO
iii) Select all the names of employee who works in ‘FINANCE’ Department.
SELECT ENAME FROM EMPLOYEE
WHERE DEPTNO=(SELECT DEPTNO FROM DEPARTMENT WHERE
DNAME='FINANCE')
1. Get full details of all employees who work in Computer department
CREATE TABLE EMP(EmpNo,Ename,Job,sal,DeptNo)
CREATE TABLE DEPT(DeptNo,Dname,Loc)
SELECT * FROM EMP
WHERE DEPTNO=(SELECT DEPTNO FROM DEPT WHERE
DNAME='Computer')
2. Demonstration of string functions.
SELECT LOWER('HELLO WORLD')
SELECT SUBSTRING('HELLO WORLD')
SELECT CONCAT('HELLO',' ','WORLD')
SELECT LENGTH('HELLO WORLD')
SELECT TRIM(' HELLO WORLD')
SELECT REPLACE('HELLO WORLD','WORLD','EXTERNAL
EXAMINER')
1. Create Table EMPLOYEE(EMPNO,NAME,SALARY) insert 10 records
and Update the salaries by 10%.
CREATE TABLE EMPLOYEE(EMPNO,NAME,SALARY)
INSERT INTO EMPLOYEE(1,'MOHAN',20000)
UPDATE EMPLOYEE
SET SALARY = SALARY *1.1
2. Write a SQL queries to perform 5 aggregate functions
CREATE TABLE sales (
id INT PRIMARY KEY,
product_name VARCHAR(50),
price DECIMAL(10, 2),
quantity INT
);
INSERT INTO sales (id, product_name, price, quantity) VALUES
(1, 'Product A', 10.99, 100),
(2, 'Product B', 15.75, 50),
(3, 'Product C', 20.50, 75),
(4, 'Product D', 8.49, 120),
(5, 'Product E', 12.99, 90);
SELECT
COUNT(*) AS total_sales,
SUM(price * quantity) AS total_revenue,
AVG(price) AS average_price,
MAX(price) AS max_price,
MIN(price) AS min_price
FROM sales;
-------------------------------------------------------------------------------------------
1. Create the follwing tables using PRIMARY KEY and FIREIGN KEY
Constraints.
EMP(EmpNo,Ename,Job,sal,DeptNo) & DEPT(DeptNo,Dname,Loc)
CREATE TABLE DEPT (
DeptNo INT PRIMARY KEY,
Dname VARCHAR(50),
Loc VARCHAR(50)
);
CREATE TABLE EMP (
EmpNo INT PRIMARY KEY,
Ename VARCHAR(50),
Job VARCHAR(50),
Sal DECIMAL(10, 2),
DeptNo INT,
FOREIGN KEY (DeptNo) REFERENCES DEPT(DeptNo)
);
INSERT INTO DEPT (DeptNo, Dname, Loc) VALUES (10, 'Sales', 'New
York');
INSERT INTO EMP (EmpNo, Ename, Job, Sal, DeptNo) VALUES (1,
'MANOJ', 'Manager', 5000.00, 10);
2. Create ,Alter and Drop view on any table.
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT,
grade VARCHAR(10)
);
INSERT INTO students (id, name, age, grade) VALUES
(1, 'John', 18, 'A'),
(2, 'Emily', 17, 'B'),
(3, 'Michael', 16, 'A'),
(4, 'Sophia', 18, 'B'),
(5, 'William', 17, 'C');
ALTER TABLE students
ADD COLUMN city VARCHAR(50);
ALTER TABLE students
DROP COLUMN grade;
---------------------------------------------------------------------------------------------
1. Employee_Test ( Emp_ID INT Identity, Emp_name Varchar(100),
Emp_Sal Decimal (10,2) ) and Employee_Test_Audit ( Emp_ID int,
Emp_name varchar(100), Emp_Sal decimal (10,2),
Audit_Action varchar(100), with Constaints
Audit_Timestamp datetime ) Insert 5 records in first table only.
CREATE TABLE Employee_Test (
Emp_ID INT IDENTITY PRIMARY KEY,
Emp_name VARCHAR(100),
Emp_Sal DECIMAL(10,2)
);
CREATE TABLE Employee_Test_Audit (
Emp_ID INT,
Emp_name VARCHAR(100),
Emp_Sal DECIMAL(10,2),
Audit_Action VARCHAR(100),
Audit_Timestamp DATETIME,
FOREIGN KEY (Emp_ID) REFERENCES Employee_Test(Emp_ID)
);
INSERT INTO Employee_Test (Emp_name, Emp_Sal) VALUES
('John Doe', 50000.00),
('Jane Smith', 60000.00),
('Michael Johnson', 55000.00),
('Emily Davis', 52000.00),
('Chris Wilson', 58000.00);
2. Create a Stored Procedure with parameter
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Department NVARCHAR(50),
Salary DECIMAL(10, 2)
);
INSERT INTO Employees (EmployeeID, FirstName, LastName,
Department, Salary)
VALUES (1, 'John', 'Doe', 'IT', 50000.00),
(2, 'Jane', 'Smith', 'HR', 45000.00),
(3, 'Michael', 'Johnson', 'Finance', 60000.00);
CREATE PROCEDURE GetEmployeeByID
@EmployeeID INT
AS
BEGIN
SELECT *
FROM Employees
WHERE EmployeeID = @EmployeeID;
END;
EXEC GetEmployeeByID @EmployeeID = 1;
---------------------------------------------------------------------------------------------
1. Write a query to demonstrate INNER JOIN. Consider Tables : -
EMP(EmpNo,Ename,Job,sal,DeptNo) & DEPT(DeptNo,Dname,Loc)
CREATE TABLE EMP (
EmpNo INT PRIMARY KEY,
Ename VARCHAR(50),
Job VARCHAR(50),
Sal DECIMAL(10, 2),
DeptNo INT
);
CREATE TABLE DEPT (
DeptNo INT PRIMARY KEY,
Dname VARCHAR(50),
Loc VARCHAR(50)
);
INSERT INTO DEPT (DeptNo, Dname, Loc)
VALUES (1, 'IT', 'New York'),
(2, 'HR', 'Los Angeles'),
(3, 'Finance', 'Chicago');
INSERT INTO EMP (EmpNo, Ename, Job, Sal, DeptNo)
VALUES (101, 'John Doe', 'Developer', 60000.00, 1),
(102, 'Jane Smith', 'HR Manager', 70000.00, 2),
(103, 'Michael Johnson', 'Accountant', 55000.00, 3);
SELECT [Link], [Link], [Link], [Link], [Link],
[Link], [Link]
FROM EMP
INNER JOIN DEPT ON [Link] = [Link];
2. Write a SQL queries to perform 5 aggregate functions.
CREATE TABLE sales (
id INT PRIMARY KEY,
product_name VARCHAR(50),
price DECIMAL(10, 2),
quantity INT
);
INSERT INTO sales (id, product_name, price, quantity) VALUES
(1, 'Product A', 10.99, 100),
(2, 'Product B', 15.75, 50),
(3, 'Product C', 20.50, 75),
(4, 'Product D', 8.49, 120),
(5, 'Product E', 12.99, 90);
SELECT
COUNT(*) AS total_sales,
SUM(price * quantity) AS total_revenue,
AVG(price) AS average_price,
MAX(price) AS max_price,
MIN(price) AS min_price
FROM sales;
---------------------------------------------------------------------------------------------
1. Write a SQL queries to perform 5 aggregate functions.
CREATE TABLE sales (
id INT PRIMARY KEY,
product_name VARCHAR(50),
price DECIMAL(10, 2),
quantity INT
);
INSERT INTO sales (id, product_name, price, quantity) VALUES
(1, 'Product A', 10.99, 100),
(2, 'Product B', 15.75, 50),
(3, 'Product C', 20.50, 75),
(4, 'Product D', 8.49, 120),
(5, 'Product E', 12.99, 90);
SELECT
COUNT(*) AS total_sales,
SUM(price * quantity) AS total_revenue,
AVG(price) AS average_price,
MAX(price) AS max_price,
MIN(price) AS min_price
FROM sales;
2. Create a Simple Stored Function.
CREATE TABLE ExampleTable (
ID INT PRIMARY KEY,
Name VARCHAR(50)
);
INSERT INTO ExampleTable (ID, Name)
VALUES (1, 'John');
CREATE FUNCTION GetNameByID (@ID INT)
RETURNS VARCHAR(50)
AS
BEGIN
DECLARE @Name VARCHAR(50);
SELECT @Name = Name
FROM ExampleTable
WHERE ID = @ID;
RETURN @Name;
END;
DECLARE @PersonName VARCHAR(50);
SET @PersonName = [Link](1);
SELECT @PersonName;
--------------------------------------------------------------------------------------------
1. Create a Stored Procedure with parameter
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
FirstName NVARCHAR(50),
LastName NVARCHAR(50),
Department NVARCHAR(50),
Salary DECIMAL(10, 2)
);
INSERT INTO Employees (EmployeeID, FirstName, LastName,
Department, Salary)
VALUES (1, 'John', 'Doe', 'IT', 50000.00),
(2, 'Jane', 'Smith', 'HR', 45000.00),
(3, 'Michael', 'Johnson', 'Finance', 60000.00);
CREATE PROCEDURE GetEmployeeByID
@EmployeeID INT
AS
BEGIN
SELECT *
FROM Employees
WHERE EmployeeID = @EmployeeID;
END;
EXEC GetEmployeeByID @EmployeeID = 1;
2. Write SQL queries for string function.
SELECT LOWER('HELLO WORLD')
SELECT SUBSTRING('HELLO WORLD')
SELECT CONCAT('HELLO',' ','WORLD')
SELECT LENGTH('HELLO WORLD')
SELECT TRIM(' HELLO WORLD')
SELECT REPLACE('HELLO WORLD','WORLD','EXTERNAL
EXAMINER')
1. Create the following table and apply constraints as indicated below and
insert 5 records
SOFTWARE
SOFT_CODE (MUST BE STARTED BY ‘S’, PRIMARY KEY)
SOFT_NAME (CHARACTER)
SOFT_TYPE (MUST BE ‘PIRATED’ OR ‘LICENSED’)
SOFT_COST (MUST BE GREATER THAN Rs. 20000)
DTOFPURCHASE (MUST BE INSERTED IN FORMAT ‘DD-MON-
YYYY’)
2. Write SQL queries using WHERE, GROUP BY and HAVING clauses.
CREATE TABLE Sales (
ProductName VARCHAR(50),
Price DECIMAL(10, 2),
Quantity INT
);
INSERT INTO Sales (ProductName, Price, Quantity) VALUES
('Product A', 10.99, 100),
('Product B', 5.99, 50),
('Product A', 10.99, 150),
('Product C', 15.99, 75);
SELECT * FROM Sales WHERE ProductName = 'Product A';
SELECT ProductName, SUM(Quantity) AS TotalQuantity
FROM Sales
GROUP BY ProductName
HAVING SUM(Quantity) > 100;
---------------------------------------------------------------------------------------------
1. Create a Stored Function that returns a value.
CREATE FUNCTION CalculateTotalPrice(quantity INT, price
DECIMAL(10, 2))
RETURNS DECIMAL(10, 2)
BEGIN
DECLARE total DECIMAL(10, 2);
SET total = quantity * price;
RETURN total;
END;
CREATE TABLE Sales (
ProductName VARCHAR(50),
Price DECIMAL(10, 2),
Quantity INT,
TotalPrice DECIMAL(10, 2)
);
INSERT INTO Sales (ProductName, Price, Quantity, TotalPrice)
VALUES
('Product A', 10.99, 100, CalculateTotalPrice(100, 10.99)),
('Product B', 5.99, 50, CalculateTotalPrice(50, 5.99)),
('Product A', 10.99, 150, CalculateTotalPrice(150, 10.99)),
('Product C', 15.99, 75, CalculateTotalPrice(75, 15.99));
SELECT * FROM Sales;
2 . Create ,Alter and Drop view on any table.
CREATE TABLE students (
id INT PRIMARY KEY,
name VARCHAR(100),
age INT,
grade VARCHAR(10)
);
INSERT INTO students (id, name, age, grade) VALUES
(1, 'John', 18, 'A'),
(2, 'Emily', 17, 'B'),
(3, 'Michael', 16, 'A'),
(4, 'Sophia', 18, 'B'),
(5, 'William', 17, 'C');
ALTER TABLE students
ADD COLUMN city VARCHAR(50);
ALTER TABLE students
DROP COLUMN grade;
---------------------------------------------------------------------------------------------
1. Create the table using PRIMARY KEY and FOREIGN KEY constraints:
Employee(EMPNO,ENAME,DTOFBIRH,SALARY,DEPTNO)
Department(DEPTNO,DNAME,LOCATION)
CREATE TABLE DEPT (
DeptNo INT PRIMARY KEY,
Dname VARCHAR(50),
Loc VARCHAR(50)
);
CREATE TABLE EMP (
EmpNo INT PRIMARY KEY,
Ename VARCHAR(50),
Job VARCHAR(50),
Sal DECIMAL(10, 2),
DeptNo INT,
FOREIGN KEY (DeptNo) REFERENCES DEPT(DeptNo)
);
INSERT INTO DEPT (DeptNo, Dname, Loc) VALUES (10,
'Sales', 'New York');
INSERT INTO EMP (EmpNo, Ename, Job, Sal, DeptNo)
VALUES (1, 'MANOJ', 'Manager', 5000.00, 10);
2. Execute the following queries :
i) who Second Highest Salary
SELECT * FROM EMPLOYEE
WHERE SALARY = (SELECT DISTINCT SALARY
FROM EMPLOYEE
ORDER BY SALARY DESC
OFFSET 1
LIMIT 1);
ii) Select Average salary of each Department
SELECT [Link],avg([Link]) as avesalary from dept d join emp e
on [Link]=[Link]
Group by [Link];
iii) Select all the names of employee who works in ‘FINANCE’ Department.
SELECT Ename
FROM EMP
WHERE DeptNo = (
SELECT DeptNo
FROM DEPT
WHERE Dname = 'Finance'
);
---------------------------------------------------------------------------------------------
1. Create a simple cursor and fetch records.
DO $$
DECLARE
emp_record employee%ROWTYPE;
emp_cursor CURSOR FOR SELECT * FROM employee;
BEGIN
OPEN emp_cursor;
LOOP
FETCH emp_cursor INTO emp_record;
EXIT WHEN NOT FOUND;
RAISE NOTICE 'Employee ID: %, Employee Name: %',
emp_record.emp_no, emp_record.ename;
END LOOP;
CLOSE emp_cursor;
END;
$$;
2. Write SQL queries using where and ORDER BY clauses.
CREATE TABLE Students (
StudentID INT PRIMARY KEY,
StudentName VARCHAR(50),
Age INT,
GPA DECIMAL(3, 2)
);
INSERT INTO Students (StudentID, StudentName, Age, GPA)
VALUES
(1, 'John', 20, 3.5),
(2, 'Jane', 22, 3.8),
(3, 'Mike', 21, 3.2),
(4, 'Emily', 23, 3.9),
(5, 'David', 19, 3.6);
SELECT * FROM Students ORDER BY StudentName ASC;
SELECT * FROM Students ORDER BY Age DESC;
SELECT * FROM Students ORDER BY GPA DESC, Age ASC;
1. Write down SQL query for set operation ( UNION, EXCEPT, and
INTERSECT)
CREATE TABLE Numbers (
Number INT
);
INSERT INTO Numbers (Number) VALUES
(1),
(2),
(3),
(4),
(5);
CREATE TABLE OtherNumbers (
Number INT
);
INSERT INTO OtherNumbers (Number) VALUES
(3),
(4),
(5),
(6),
(7);
SELECT Number FROM Numbers
UNION
SELECT Number FROM OtherNumbers;
SELECT Number FROM Numbers
EXCEPT
SELECT Number FROM OtherNumbers;
SELECT Number FROM Numbers
INTERSECT
SELECT Number FROM OtherNumbers;
2. Write SQL queries for string function.
SELECT LOWER('HELLO WORLD')
SELECT SUBSTRING('HELLO WORLD')
SELECT CONCAT('HELLO',' ','WORLD')
SELECT LENGTH('HELLO WORLD')
SELECT TRIM(' HELLO WORLD')
SELECT REPLACE('HELLO WORLD','WORLD','EXTERNAL
EXAMINER')
1. Create Table EMPLOYEE(EMPNO,NAME,SALARY) insert 10 records and
Update the salaries by 10%.
CREATE TABLE EMPLOYEE(EMPNO,NAME,SALARY)
INSERT INTO EMPLOYEE(1,'MOHAN',20000)
UPDATE EMPLOYEE
SET SALARY = SALARY *1.1
2. Create a stored procedure for updating record in table.
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
EmployeeName VARCHAR(50),
Department VARCHAR(50),
Salary DECIMAL(10, 2)
);
INSERT INTO Employees (EmployeeID, EmployeeName,
Department, Salary) VALUES
(1, 'John', 'HR', 50000.00),
(2, 'Jane', 'Finance', 60000.00),
(3, 'Mike', 'IT', 55000.00);
CREATE PROCEDURE UpdateSalary(IN empID INT, IN newSalary
DECIMAL(10, 2))
BEGIN
UPDATE Employees
SET Salary = newSalary
WHERE EmployeeID = empID;
END//
DELIMITER ;
---------------------------------------------------------------------------------------------
1. Create Table EMPLOYEE(EMPNO,NAME,SALARY) insert 10 records
and Update the salaries by 10%.
CREATE TABLE EMPLOYEE(EMPNO,NAME,SALARY)
INSERT INTO EMPLOYEE(1,'MOHAN',20000)
UPDATE EMPLOYEE
SET SALARY = SALARY *1.1
2. Write down SQL query for set operation ( UNION, EXCEPT, and
INTERSECT)
CREATE TABLE Numbers (
Number INT
);
INSERT INTO Numbers (Number) VALUES
(1),
(2),
(3),
(4),
(5);
CREATE TABLE OtherNumbers (
Number INT
);
INSERT INTO OtherNumbers (Number) VALUES
(3),
(4),
(5),
(6),
(7);
SELECT Number FROM Numbers
UNION
SELECT Number FROM OtherNumbers;
SELECT Number FROM Numbers
EXCEPT
SELECT Number FROM OtherNumbers;
SELECT Number FROM Numbers
INTERSECT
SELECT Number FROM OtherNumbers;
1. Create a stored procedure for updating record in table.
CREATE TABLE Employees (
EmployeeID INT PRIMARY KEY,
EmployeeName VARCHAR(50),
Department VARCHAR(50),
Salary DECIMAL(10, 2)
);
INSERT INTO Employees (EmployeeID, EmployeeName,
Department, Salary) VALUES
(1, 'John', 'HR', 50000.00),
(2, 'Jane', 'Finance', 60000.00),
(3, 'Mike', 'IT', 55000.00);
CREATE PROCEDURE UpdateSalary(IN empID INT, IN
newSalary DECIMAL(10, 2))
BEGIN
UPDATE Employees
SET Salary = newSalary
WHERE EmployeeID = empID;
END//
DELIMITER ;
2. Write down SQL query for set operation ( UNION, EXCEPT, and
INTERSECT)
CREATE TABLE Numbers (
Number INT
);
INSERT INTO Numbers (Number) VALUES
(1),
(2),
(3),
(4),
(5);
CREATE TABLE OtherNumbers (
Number INT
);
INSERT INTO OtherNumbers (Number) VALUES
(3),
(4),
(5),
(6),
(7);
SELECT Number FROM Numbers
UNION
SELECT Number FROM OtherNumbers;
SELECT Number FROM Numbers
EXCEPT
SELECT Number FROM OtherNumbers;
SELECT Number FROM Numbers
INTERSECT
SELECT Number FROM OtherNumbers;