Subqueries
Guidelines fro subqueries
Query to display max value
select max(price) from books;
select max (salary) from emp;
Query to display the name with max
value
select bookid from books
where price =(select max(price) from books);
Or
select ename from emp
where salary =(select max(salary) from emp);
query to display second highest
price
select price from books
where price <>(select max(price) from books);
note: this will display all the prices excluding the higest
but we want 2nd highest, so we will write it as
select max(price) from books
where price <>(select max(price) from books);
display bookid with the 2nd highest
price
select bookid from books
where price= (select max(price) from books
where price <>(select max(price) from books));
by using IN , IN uses a list to
compare
select bookid from books
where price IN (select max(price) from books
where price <>(select max(price) from books));
Quey to display all the dept names
Along with all emp working in that
Empi enam dep
d e t
1 Hina cs
2 Saad Hr
3 Rehan Cs
4 Maria Hr
5 Rahat It
Here we eill use group by clause
The depts will be grouped according to their numbers as CS has 2
emps, IT 1and Hr 2.
So the simple query will be
SELECT dept from emp GROUP BY dept;
Note: the attribute withthe GROUP BY clause is used with SELECT clause
SELECT dept, count(*) from emp GROUP BY dept;
We can also write the aggregate function as count (dept)
Query to display all dept names
emp<2
SELECT dept from emp GROUP BY dept
HAVING count (*)<2;
Now for name of emp from that dept having less then 2 no.
Select ename from emp where dept IN (SELECT dept from emp GROUP BY
dept
HAVING count (*)<2);