Skip to main content

SQL: Subqueries


zahiruddin said…
Hi sir this is zahiruddin from QSPIDER,i have interview on saturday but am not getting the answer with these questions can u tel me the answer ...
1. Two tables emp (empid, name, deptid, sal) and dept(deptid, deptname) are there. Write a query which displays empname, corresponding deptname also display those employee names who do not belong to any dept.

2. Display the employees whose salary is less than average salary.

this is my mail id please froward it sir..
Mithun Ashok said…
Hi Zahiruddin,

1. SELECT e.ename, e.deptno, d.dname
FROM emp e, dept d
WHERE e.deptno (+) = d.deptno;

2. select * from emp where sal < (select avg(sal) from emp);

Have also sent this to your mail id.

baba said…
hello mithun u r a good looking and i want this answer can u explain plz explain how this query works
pradeep said…
can u plz explain how this query works

select a.sal from emp a
where 0=(select count(*) from emp b
where b.sal>a.sal)
Mithun Ashok said…
Hi Pradeep,

This is a co-related sub query. Please go through my presentation on Subqueries below.


Anonymous said…
can u tel me how this query works


we get this answer plz tel sir
Mithun Ashok said…
Hi Anonymous,

Always innermost function gets executed first,

check below,

SQL> select RTRIM('!! ATHEN !!','!') from dual;


You are first doing RTRIM and removing all ! from right side.


SQL> select LTRIM('!! ATHEN','!') from dual;


You have used LTRIM to remove ! from left.

SQL> select TRANSLATE(' ATHEN', 'AN','**') from dual;


Now you are using TRANSLATE function to replace A with * and N with *.

SQL> select REPLACE(' *THE*','*','TROUBLE') from dual;


Finally you are replacing * with TROUBLE.

Hope this is clear.

Ravi Verma said…
Hello sir,
this is ravi here.
Would you please explain the following questions...
1>What is the advantage of JOINS over correlations??
2>Give some specific condition
when we should use joins and
when we should use correlation??
Pramodnkul90 said…
sir when we go for subqueries?i mean can u explain me wit 1 scenario?pls
veda said…
Two tables emp(empid,name,deptid,sal) and dept(deptid,deptname) are there.write a query which displays empname,corresponding deptname also display those employee names who donot belong to any dept.
Unknown said…
hai sir,how to display second row in the table??

Popular posts from this blog

Basics of RDBMS

Data Small set of information becomes data, this set of information helps make decision. Data is always some useful information. Database Place where you store the data. Database represents some aspect of the real world called "miniworld". A database is designed, built and populated with data for a specific purpose. It has intended group of users and some preconceived applications in which these users are interested. In other words, a database has some source from which data is derived, some degree of interaction with events in the real world and an audience that is actively interested in the contents of the database. Database can also be defined as collection of one or more tables. Ex: Mobile, human brain etc DBMS (Database Management System ) Is a program that stores retrieves and modifies data in the database on request. Study of different techniques of design, development and maintenance of the database Types of DBMS These types are based upon their m

SQL Interview Questions on Subqueries

SUB Queries: 1. List the employees working in research department 2. List employees who are located in New York and Chicago 3. Display the department name in which ANALYSTS are working 4. Display employees who are reporting to JONES 5. Display all the employees who are reporting to Jones Manager 6. Display all the managers in SALES and ACCOUNTING department 7. Display all the employee names in Research and Sales Department who are having at least 1 person reporting to them 8. Display all employees who do not have any reportees 9. List employees who are having at least 2 reporting 10. List the department names which are having more than 5 employees 11. List department name having at-least 3 salesman 12. List employees from research and accounting having at-least 2 reporting 13. Display second max salary 14. Display 4th max salary 15. Display 5th max salary  -- Answer for nth Max Salary Co-Related Subqueries: 16. Write a query to get 4th max salary from EMP table 17. Wri

Answers for SQL Functions

1. SQL> SELECT empno, ename FROM emp WHERE Length(ename) = 4; 2. SQL> SELECT empno, ename, job FROM emp where Length(job)=7; 3. SQL> SELECT Length('qspiders') - Length(replace('qspiders','s','')) FROM dual; 4. SQL>  SELECT empno, ename, job FROM emp WHERE Instr(job,'MAN') >0; 5. SQL> SELECT empno, ename, job FROM emp WHERE Instr(job, 'MAN') =1; 6. SQL> SELECT empno, ename, job FROM emp WHERE (Length(ename) - Length(Replace(ename, 'L',''))) = 1; 7. SQL> SELECT * FROM dept WHERE Instr(dname,'O') > 0; 8. SQL> SELECT Concat(ename,' working as a ') || Concat(job, ' earns ') || Concat(sal, '  in ') || Conc at('dept ',deptno) AS text from emp; OR SQL> SELECT Concat(Concat(Concat(Concat(Concat(Concat(Concat(ename,' working as a '), job),' earns '), sal),'  in '),'dept '), deptno) AS text FROM emp; 9. SQL