0% found this document useful (0 votes)
12 views10 pages

Top 50 Question

The document discusses various SQL queries related to creating databases and tables, inserting data, selecting data from tables using where clauses, joining tables, aggregation and other functions. It includes over 30 questions/queries with answers to retrieve data from tables in different ways such as sorting, limiting, finding unique values, manipulating strings etc.

Uploaded by

Anand Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
12 views10 pages

Top 50 Question

The document discusses various SQL queries related to creating databases and tables, inserting data, selecting data from tables using where clauses, joining tables, aggregation and other functions. It includes over 30 questions/queries with answers to retrieve data from tables in different ways such as sorting, limiting, finding unique values, manipulating strings etc.

Uploaded by

Anand Singh
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

// TOP 50 QUESTION

CREATE DATABASE ORGIN; -- THIS ID DB

SHOW DATABASES; -- isse data bas show hoga table ke from me

USE ORGIN; -- SHOW DATABASE KE BAD HAME "USE ORGIN" Per switch karna hota hai ye hamko
nahi bhulana hai it is most important

CREATE TABLE Worker ( -- ye main table hai

WORKER_ID INT NOT NULL PRIMARY KEY AUTO_INCREMENT,

FIRST_NAME CHAR(25),

LAST_NAME CHAR(25),

SALARY INT(15),

JOINING_DATE DATETIME,

DEPARTMENT CHAR(25)

);

-- kuch data add kar lenge INSERT COMMAND ki help se

INSERT INTO Worker

(WORKER_ID, FIRST_NAME, LAST_NAME, SALARY, JOINING_DATE, DEPARTMENT) VALUES

(001, 'Monika', 'Arora', 100000, '14-02-20 09.00.00' , 'HR'),

(002, 'Niharika', 'Verma', 80000, '14-06-11 09.00.00' , 'Admin'),

(003, 'Vishal', 'Singhal', 300000, '14-02-20 09.00.00' , 'HR'),

(004, 'Amitabh', 'Singh', 500000, '14-02-20 09.00.00' , 'Admin'),

(005, 'Vivek', 'Bhati', 500000, '14-06-11 09.00.00' , 'Admin'),

(006, 'Vipul', 'Diwan', 200000, '14-06-11 09.00.00' , 'Account'),

(007, 'Satish', 'Kumar', 750000, '14-01-20 09.00.00' , 'Account'),

(008, 'Geetika', 'Chauhan', 90000, '14-04-11 09.00.00' , 'Admin');

--

SELECT * FROM Worker;

-- SELECT * FROM Worker;

SELECT * FROM Bonus;


SELECT * FROM Title;

CREATE TABLE Bonus (

WORKER_REF_ID INT,

BONUS_AMOUNT INT(10),

BONUS_DATE DATETIME,

FOREIGN KEY (WORKER_REF_ID)

REFERENCES Worker(WORKER_ID)

ON DELETE CASCADE

);

INSERT INTO Bonus

(WORKER_REF_ID , BONUS_AMOUNT, BONUS_DATE) VALUES

(001, 5000, '16-02-20'),

(002, 3000, '16-06-11'),

(003, 4000, '16-02-20'),

(004, 4500, '16-02-11'),

(002, 3500, '16-06-11');

CREATE TABLE Title (

WORKER_REF_ID INT,

WORKER_TITLE CHAR(25),

AFFECTED_FROM DATETIME,

FOREIGN KEY (WORKER_REF_ID)

REFERENCES Worker(WORKER_ID)

ON DELETE CASCADE

);

INSERT INTO Title

(WORKER_REF_ID, WORKER_TITLE, AFFECTED_FROM) VALUES

(001, 'Manager', '2016-02-20 00:00:00'),


(002, 'Executive', '2016-06-11 00:00:00'),

(008, 'Executive', '2016-06-11 00:00:00'),

(005, 'Manager', '2016-06-11 00:00:00'),

(004, 'Asst.Manager', '2016-06-11 00:00:00'),

(007, 'Executive', '2016-02-11 00:00:00'),

(006, 'Lead', '2016-06-11 00:00:00'),

(003, 'Lead', '2016-06-11 00:00:00');

-- "iska query SQL File6 me likha gaya hai (Orgin) db me sabhi table bana hai bonus,title,worker ka "

-- Q-1. Write an SQL query to fetch "FIRST_NAME" from Worker table using the alias name as
<WORKER_NAME>.

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;

-- isi query ko group by ki help se kaise karege

-- 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 first three Characters of FIRST_NAME from Worker table.

select substring(first_name, 1,3) from worker; -- starting se 3 character chahiye sabhi first_name
ke

-- Q-5. Write an SQL query to find the position of the alphabet ('b') in the first name column
'Amitabh' from Worker table. O/P - 6

select INSTR(first_name, 'B') from worker where first_name = 'Amitabh'; -- where clause ka use
condition ke liye kiya jata hai

-- 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) 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(first_name) 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)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') from worker;

-- Q-10. Write an SQL query to print the FIRST_NAME and LAST_NAME from Workertable 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;

-- Q-12. Write an SQL query to print all worker details from the worker table order by

-- FIRST_NAME Asending and DEPARTMENT Descending.

select * from worker order by first_name, department DESC;

-- Q-13. Write an SQL query to print details for the Workers with the first name as "Vipul" and
"Satish" from Worker table.

select * from worker where first_name IN ('Vipul' , 'Satish'); -- multiple value ke liye IN ka use
karege aur single ke liye OR

-- Q-14. Write an SQL query to print details for the Workers exeluding 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 LIKE 'Admin%';

-- Q-16. 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 '%a%'; -- a , kahi per bhi name me aya ho

-- % sign null se bhi replace hota hai yani ki koi bhi character na ho 0 characters ho ya n
character ho

-- Q-17. Write an SQL query to print details of the Workers whose FIRST_NAME ends with 'a'.

-- % a .. means last me a value jaha hoga vo name print hoga .. a% menas value(a) start me "a" jaha
hoga vo print hogi ..%a% means

-- value a last aur start kahi bhi ho print hoga

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
contins six alphabets.

select* from worker where first_name LIKE '_____h'; -- yaha 5 space hai aur last h hai to 5 kuch
bhi ho hame fark nahi padta bas last h hona chahiye

-- 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 YEAR(joining_date) = 2014 AND MONTH(joining_date ) = 02;

-- Q-21. Write an SQL query to fetch the count of employees working in the department 'Admin'.

select department, count(*) from worker where department = 'Admin'; -- o/p = 4


-- Q-22. Write an SQL query to fetch worker full names with salaries >= 50000 and <=100000.

select concat(first_name, ' ' , last_name)from worker

where salary between 50000 and 100000;

-- Q-23. Write an SQL query to fetch the no. of workers for each department in the deceding order.

select department , count(worker_id) AS no_of_worker from worker group by department

ORDER BY no_of_worker desc;

-- Q-24. Write an SQL query to print details of the Workers who are also Managers.

select w.* from worker as w inner join title as t on w. worker_id = t.worker_ref_id


where t.worker_title = 'Manager';

-- Q-25. Write an SQL query to fetch number(more than 1) OF Difference titles in ORG.

select worker_title, count(*) as count from title group by worker_title having count > 1;

-- Q-26. Write an SQL query to show only odd rows from a table. -- 1, 3, 5 roe show karni hai

-- select * from worker where MOD (Worker_ID, 2) !=0;

select * from worker where MOD (Worker_ID, 2) <>0; -- above and this is same working

-- Q-27. Write an SQL query to show only even rows from a table.

select * from worker where MOD (Worker_ID, 2) =0;

-- Q-28. Write an SQL query to clone a new table from another table.

CREATE TABLE worker_clone LIKE worker;

INSERT INTO worker_clone select * from worker;

select * from worker_clone;

-- Q-29. Write an SQL query to fetch intersection record of two tables.

select worker.* from worker inner join worker_clone using(worker_id);

-- Q-30. Write an SQL query to show records from one table that another table does not have.
-- MINUS

select worker.* from worker left join worker_clone using(worker_id) WHERE


worker_clone.worker_id is NULL;

-- empty sari table ayega ans

-- Q-31. Write an SQL query to show the current date and time.

-- DUAL

select curdate(); -- is function se current date aa jayegi(abhi ki jin din run karege vo date
aajayegi)

select now(); -- isse current TIME aajayega

-- Q-32. Write an SQL query to show the top n (say 5) records of a table order by desending salary.

select * from Worker order by salary desc LIMIT 5; -- 5 chahiye to uske liye LIMIT keyword ka
use karege to top 5 value miljayegi

-- Q-33. Write an SQL query to determine the nth (say n=5) highest salary from a table.

select * from Worker order by salary desc LIMIT 4; -- pahli 4 entry aajayegi

select * from Worker order by salary desc LIMIT 4,1; -- 4 value chodkar 1 value print
karega , 4 starting ki tarah behave karega

-- shirf 5 th salary print karna hai to uper vala code likhege , 6th hight sallary chahiye to "5,1"
likhege

-- Q-34. Write an SQL query to determine the 5th highest salary without using LIMIT keyword.

select salary from worker w1

WHERE 4 = (

SELECT COUNT(DISTINCT (w2.salary))

from worker w2

where w2.salary >= w1.salary

);

-- Q-35. Write an SQL query to fetch the list of employees with the same salary.

select w1.* from worker w1, worker w2 where w1.salary = w2.salary and w1.worker_id !=
w2.worker_id;
-- Q-36. Write an SQL query to show the second highest salary from a table using sub-query.

select max(salary) from worker

where salary not in (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 ORDER BY worker_id; -- order by se id 1 1 , 2 2 aise print hoga


sequence se same after tha increse

-- Q-38. Write an SQL query to list worker_id who does not get bonus.

select worker_id from worker where worker_id not in (select worker_ref_id from bonus);

-- Q-39. Write an SQL query to fetch the first 50% records from a table.

select * from worker where worker_id <= (select count(worker_id)/2 from worker);

-- Q-40. Write an SQL query to fetch the departments that have less than 4 people in it.

select department, count(department) as depCount from worker group by


department having depCount < 4;

-- Q-41. Write an SQL query to show all departments along with the number of people in there.

select department, count(department) as depCount from worker group by department; -- 2 4 2

-- Q-42. Write an SQL query to show the last record from a table.

select * from worker where worker_id = (select max(worker_id) from worker); -- max nikalege
to last vala aajayega

-- Q-43. Write an SQL query to fetch the first row of a table.

select * from worker where worker_id = (select min(worker_id) from worker); -- min se first vali
worker_id aajayge
-- Q-44. Write an SQL query to fetch the last five records from a table.

(select * from worker order by worker_id desc limit 5) order by worker_id;

-- Q-45. Write an SQL query to print the name of employees having the highest salary in each
department.

select w.department,w.first_name, w.salary from

(select max(salary) as maxsal, department from worker group by department) temp -- temp is
alish

inner join worker w on temp.department = w.department and temp.maxsal =


w.salary;

-- Q-46. Write an SQL query to fetch three max salaries from a table using co-related subquery

select distinct salary from worker w1

where 3 >= (select count(distinct salary) from worker w2 where w1.salary <= w2.salary) order
by w1.salary desc;

-- DRY RUN AFTER REVISING THE CORELATED SUBQUERY CONCEPT FROM LEC-9.

select distinct salary from worker order by salary desc limit 3; -- startng 3 values aajayegi

-- Q-47. Write an SQL query to fetch three min salaries from a table using co-related subquery

select distinct salary from worker w1

where 3 >= (select count(distinct salary) from worker w2 where w1.salary >= w2.salary) order
by w1.salary desc;

-- pata nahi exact answer nahi aaraha hai but syntax sahi hai

-- Q-48. Write an SQL query to fetch nth max salaries from a table.

select distinct salary from worker w1

where n >= (select count(distinct salary) from worker w2 where w1.salary <= w2.salary) order
by w1.salary desc;

-- Q-49. Write an SQL query to fetch departments along with the total salaries paid for each of them.

select department , sum(salary) as depSal from worker group by department order by depSal
desc;

-- Q-50. Write an SQL query to fetch the names of workers who earn the highest salary.
select first_name, salary from worker where salary = (select max(Salary) from worker);

You might also like