Sql Assignment
Sql Assignment
Q-1. Write an SQL query to fetch "FIRST_NAME" from Worker table using the alias
name as <WORKER_NAME>.
USE Office;
SELECT FIRST_NAME AS WORKER_NAME FROM Worker;
Q-2. Write an SQL query to fetch "FIRST_NAME" from Worker table in upper case.
SELECT UPPER(FIRST_NAME) FROM Worker;
Q-3. Write an SQL query to fetch unique values of DEPARTMENT from Worker table.
SELECT DISTINCT DEPARTMENT FROM Worker;
Q-4. Write an SQL query to print the first three characters of FIRST_NAME from Worker
table.
SELECT SUBSTRING(FIRST_NAME,1,3) AS First_Three_Characters FROM
Worker;
Q-5. Write an SQL query to find the position of the alphabet ('a') in the first name
column 'Amitabh' from Worker table.
SELECT INSTR(FIRST_NAME,'a') AS Position_Of_A FROM Worker WHERE
FIRST_NAME = 'Amitabh';
Q-6. Write an SQL query to print the FIRST_NAME from Worker table after removing
white spaces from the right side.
SELECT RTRIM(FIRST_NAME) AS TRimmed_First_Name FROM Worker;
Q-7. Write an SQL query to print the DEPARTMENT from Worker table after removing
white spaces from the left side.
SELECT LTRIM(DEPARTMENT) AS TRimmed_Department FROM Worker;
Q-8. Write an SQL query that fetches the unique values of DEPARTMENT from Worker
table and prints its length.
SELECT DISTINCT DEPARTMENT, LENGTH(DEPARTMENT) AS Dept_Length
FROM Worker;
Q-9. Write an SQL query to print the FIRST_NAME from Worker table after replacing 'a'
with 'A'.
SELECT REPLACE(FIRST_NAME,'a', 'A') AS Modified_FIRST_NAME FROM
Worker;
Q-10. Write an SQL query to print the FIRST_NAME and LAST_NAME from Worker
table into a single column COMPLETE_NAME. A space char should separate them.
SELECT CONCAT(FIRST_NAME, ' ', LAST_NAME) AS COMPLETE_NAME
FROM Worker;
Q-11. Write an SQL query to print all Worker details from the Worker table order by
FIRST_NAME Ascending.
SELECT * FROM Worker ORDER BY FIRST_NAME ASC;
Q-12. Write an SQL query to print all Worker details from the Worker table order by
FIRST_NAME Ascending and DEPARTMENT Descending.
SELECT * FROM Worker ORDER BY FIRST_NAME ASC, DEPARTMENT
DESC;
Q-13. Write an SQL query to print details for Workers with the first name as "Vipul" and
"Satish" from Worker table.
SELECT * FROM Worker WHERE FIRST_NAME IN ('VIPUL', 'Satish');
Q-14. Write an SQL query to print details of workers excluding first names, "Vipul" and
"Satish" from Worker table.
SELECT * FROM Worker WHERE FIRST_NAME NOT IN ('Vipul', 'Satish');
Q-15. Write an SQL query to print details of Workers with DEPARTMENT name as
"Admin".
SELECT * FROM Worker WHERE DEPARTMENT = 'Admin';
Q-16. Write an SQL query to print details of the Workers whose FIRST_NAME contains
'a'.
SELECT * FROM Worker WHERE FIRST_NAME LIKE '%a%';
Q-17. Write an SQL query to print details of the Workers whose FIRST_NAME ends
with 'a'.
SELECT * FROM Worker WHERE FIRST_NAME LIKE '%a';
Q-18. Write an SQL query to print details of the Workers whose FIRST_NAME ends
with 'h' and contains six alphabets.
SELECT * FROM Worker WHERE FIRST_NAME LIKE '%h' AND
LENGTH(FIRST_NAME) = 6;
Q-19. Write an SQL query to print details of the Workers whose SALARY lies between
100000 and 500000.
SELECT * FROM Worker WHERE SALARY BETWEEN 100000 AND 500000;
Q-20. Write an SQL query to print details of the Workers who have joined in Feb'2014.
SELECT * FROM Worker WHERE MONTH(JOINING_DATE) = 2 AND
YEAR(JOINING_DATE) = 2014;
Q-21. Write an SQL query to fetch the count of employees working in the department
'Admin'.
SELECT COUNT(*) AS EmployeeCount FROM Worker WHERE DEPARTMENT
= 'Admin';
Q-22. Write an SQL query to fetch worker names with salaries >= 50000 and <=
100000.
SELECT FIRST_NAME, LAST_NAME FROM Worker WHERE SALARY
>=50000 AND SALARY <= 100000;
Q-23. Write an SQL query to fetch the no. of workers for each department in the
descending order.
SELECT DEPARTMENT, COUNT(*) As WorkerCount FROM Worker GROUP
BY DEPARTMENT ORDER BY WorkerCount DESC;
Q-24. Write an SQL query to print details of the Workers who are also Managers.
SELECT * FROM Worker WHERE DEPARTMENT = 'Manager';
Q-25. Write an SQL query to fetch duplicate records having matching data in some
fields of a table.
SELECT FIRST_NAME, LAST_NAME, COUNT(*) FROM Worker GROUP BY
FIRST_NAME, LAST_NAME HAVING COUNT(*) > 1;
Q-26. Write an SQL query to show only odd rows from a table.
SELECT * FROM (SELECT *, ROW_NUMBER() OVER (ORDER BY
WORKER_ID) AS RowNum FROM Worker) AS Temp WHERE MOD(RowNum,
2) = 1;
Q-27. Write an SQL query to show only even rows from a table.
SELECT * FROM (SELECT * , ROW_NUMBER() OVER (ORDER BY
WORKER_ID) AS RowNum FROM Worker) AS Temp WHERE MOD(RowNum,
2) = 0;
Q-28. Write an SQL query to clone a new table from another table.
USE Office;
CREATE TABLE Table1 (
ID INT PRIMARY KEY,
NAME VARCHAR(50),
AGE INT,
SALARY INT
);
INSERT INTO TABLE1 VALUES (1,'Monika',20,100000),
(2,'Niharika',30,80000),
(3, 'Vishal',40,300000),
(4, 'Amitabh',50,500000),
(5, 'Vivek',60,500000);
USE Office;
CREATE TABLE Table2 (
ID INT PRIMARY KEY,
NAME VARCHAR(50),
AGE INT,
SALARY INT
);
INSERT INTO Table2 VALUES (1,'Monika',20,100000),
(2,'Niharika',30,80000),
(6, 'Vipul',25,2000000),
(7, 'Satish',28,75000),
(8, 'Geetika',32,90000);
Q-31. Write an SQL query to show the current date and time.
SELECT NOW();
Q-32. Write an SQL query to show the top n (say 10) records of a table.
SELECT * FROM Worker LIMIT 10;
Q-33. Write an SQL query to determine the nth (say n=5) highest salary from a table.
SELECT DISTINCT SALARY FROM Worker ORDER BY SALARY DESC LIMIT
5 OFFSET 4;
Q-34. Write an SQL query to determine the 5th highest salary without using TOP or limit
method.
SELECT MIN(SALARY) AS Fifth_Highest_Salary FROM (SELECT DISTINCT
SALARY FROM Table1 ORDER BY SALARY DESC LIMIT 5) AS Temp;
Q-35. Write an SQL query to fetch the list of employees with the same salary.
SELECT FIRST_NAME, LAST_NAME, SALARY FROM Worker WHERE
SALARY IN (SELECT SALARY FROM Worker GROUP BY SALARY HAVING
COUNT(*) >1 );
Q-36. Write an SQL query to show the second highest salary from a table.
SELECT MAX(SALARY) AS SecondHighestSalary FROM Worker WHERE
SALARY < (SELECT MAX(SALARY) FROM Worker);
Q-37. Write an SQL query to show one row twice in results from a table.
SELECT * FROM Worker UNION ALL SELECT * FROM Worker;
Q-38. Write an SQL query to fetch intersecting records of two tables.
SELECT * FROM Table1 INTERSECT SELECT * FROM Table2;
Q-39. Write an SQL query to fetch the first 50% records from a table.
SELECT * FROM Worker ORDER BY WORKER_ID LIMIT (SELECT COUNT(*) /
2 FROM Worker);
Q-40. Write an SQL query to fetch the departments that have less than five people in it.
SELECT DEPARTMENT FROM Worker GROUP BY DEPARTMENT HAVING
COUNT(*) < 5;
Q-41. Write an SQL query to show all departments along with the number of people in
there.
SELECT DEPARTMENT, COUNT(*) AS EmployeeCount FROM Worker GROUP
BY DEPARTMENT;
Q-42. Write an SQL query to show the last record from a table.
SELECT * FROM Worker ORDER BY WORKER_ID DESC LIMIT 1;
Q-45. Write an SQL query to print the name of employees having the highest salary in
each department.
SELECT FIRST_NAME FROM Worker WHERE SALARY IN (SELECT
MAX(SALARY) FROM Worker GROUP BY DEPARTMENT);
Q-46. Write an SQL query to fetch three max salaries from a table.
SELECT SALARY FROM Worker ORDER BY SALARY DESC LIMIT 3;
Q-47. Write an SQL query to fetch three min salaries from a table.
SELECT SALARY FROM Worker ORDER BY SALARY LIMIT 3;
Q-48. Write an SQL query to fetch nth max salaries from a table.
Q-49. Write an SQL query to fetch departments along with the total salaries paid for
each of them.
SELECT Department, SUM(Salary) AS Total_Salary FROM Worker GROUP BY
Department;
Q-50. Write an SQL query to fetch the names of workers who earn the highest salary.
SELECT FIRST_NAME, LAST_NAME FROM Worker WHERE Salary =
(SELECT MAX(Salary) FROM Worker);