SQL Class 5
SQL Class 5
SELECT *,
CASE WHEN Marks >= 80 THEN 'Top_Student'
WHEN Marks >= 60 AND Marks < 80 THEN 'Average Student'
ELSE 'Below Average'
END as 'Bin'
from Student_Details
SELECT *,
CASE WHEN Marks >= 80 THEN 'Top Students'
WHEN Marks >= 60 and Marks < 80 THEN 'Average Students'
ELSE 'Below Average'
END as Buckets
FROM Student_Details
SELECT *,
CASE WHEN subject = 'Maths' THEN Marks + 10
WHEN subject = 'SQL' THEN Marks+ 5
ELSE Marks
END as Total_Marks
FROM Student_Details
SELECT *,
AVG(Marks) OVER(Partition by Subject) as 'Average_Marks',
RANK() OVER(Partition by Subject order by Marks Desc) as 'RAnk',
CASE WHEN Marks >= 80 THEN 'Top_Student'
WHEN Marks >= 60 AND Marks < 80 THEN 'Average Student'
ELSE 'Below Average'
END as 'Bin'
from Student_Details
/*
*/
Select * FROM Student_Details
Begin Transaction
INSERT INTO Student_Details Values ('11','Amit','SQLw','99')
commit
Rollback
/*
*/
/*
1) Inner Join
2) Outer Join
i) Left
ii) Right
iii) Full Outer join
3) Cross join
4) Self Join
*/
-- INNER JOIN
SELECT * FROM Emp_tbl
INNER JOIN Dept_tbl ON
Emp_tbl.Dept_id = Dept_tbl.Dept_id
-- OUTER JOIN
-- 1) LEFT JOIN
-- 2) RIGHT JOIN
-- 3) FULL JOIN
-- CROSS JOIN - It returns the cartesian products of sets of records from two or
more joined tables
-- Cartesian product -- M*N
select COUNT(*) FROm Emp_tbl
select count(*) FROM Dept_tbl
-- SELF JOIN
/* Team Hierarchy
2
3
1
4
*/
SELECT
E.Name as Employee ,
M.Name as manager
from
self_join_tbl E left join Self_join_tbl M
on E.mgr_id = m.Emp_id
SELECT
E.Name as Employee, M.Name as Manager
FROM
self_join_tbl E left join self_join_tbl M
ON E.Emp_ID = M.mgr_id
--- SUBQUERIES
-- Query inside a Query
-- WAQ to find out Employee Details having Second highest max Salary
-- WAQ to display employee Details whose salary is less than salary of Employee
Wasif
-- WAQ to Display the employee details whose salary is less than maximum salary
---