SQL Questions-01
SQL Questions-01
Technical Evaluation
INDEX
SCHEMA I......................................................................................................................................................2
TABLE 1: STUDIES.......................................................................................................................................2
TABLE 2: SOFTWARE..................................................................................................................................2
TABLE 3: PROGRAMMER...........................................................................................................................2
LEGEND:....................................................................................................................................................2
SCHEMA I - QUERIES :............................................................................................................................3
SCHEMA II.....................................................................................................................................................8
TABLE 1: DEPT ............................................................................................................................................8
TABLE 2: EMP...............................................................................................................................................8
SCHEMA II - QUERIES.............................................................................................................................8
SCHEMA I - QUERIES - ANSWERS.......................................................................................................11
SCHEMA II - QUERIES - ANSWERS......................................................................................................13
SCHEMA I
Table 1: STUDIES
Field Name Type
PNAME (VARCHAR)
SPLACE (VARCHAR)
COURSE (VARCHAR)
CCOST (NUMBER)
Table 2: SOFTWARE
Field Name Type
PNAME (VARCHAR)
TITLE (VARCHAR)
DEVIN (VARCHAR)
SCOST (NUMBER)
DCOST (NUMBER)
SOLD (NUMBER)
Table 3: PROGRAMMER
Field Name Type
PNAME (VARCHAR)
DOB (DATE)
DOJ (DATE)
SEX (CHAR)
PROF1 (VARCHAR)
PROF2 (VARCHAR)
SAL (NUMBER)
LEGEND:
PNAME – Programmer Name
SPLACE – Study Place
CCOST – Course Cost
DEVIN – Developed in
SCOST – Software Cost
DCOST – Development Cost
PROF1 – Proficiency 1
SCHEMA I - QUERIES :
1. Find out the selling cost average for packages developed in Oracle.
Answer:
3. Display the names of those who have done the PGDCA course.
Answer:
5. Display the names and date of birth of all programmers born in April.
Answer:
11. Display the details of packages whose sales crossed the 5000 mark.
Answer:
12. Find out the number of copies which should be sold in order to recover the
development cost of each package.
Answer:
13. Display the details of packages for which the development cost has been
recovered.
Answer:
17. How many programmers paid 10000 to 15000 for the course?
Answer:
24. Calculate the experience in years for each programmer and display along with
their names in descending order.
Answer:
25. Who are the programmers who celebrate their birthdays during the current
month?
26. How many female programmers are there?
Answer:
30. Display the details of those who don’t know C, C++ or Pascal.
Answer:
31. Display the costliest package developed by each programmer.
Answer:
32. Produce the following output for all the male programmers
Programmer
Mr. Arvind – has 15 years of experience
Answer:
SCHEMA II
Table 1: DEPT
Field Name Type
DEPTNO (NOT NULL , NUMBER(2))
DNAME (VARCHAR2(14))
LOC (VARCHAR2(13)
Table 2: EMP
Field Name Type
EMPNO (NOT NULL , NUMBER(4))
ENAME (VARCHAR2(10))
JOB (VARCHAR2(9))
MGR (NUMBER(4))
HIREDATE (DATE)
SAL (NUMBER(7,2))
COMM (NUMBER(7,2))
DEPTNO (NUMBER(2))
Note:
1. MGR is the EMPNO of the employee whom the employee reports to.
2. DEPTNO is a foreign key.
SCHEMA II - QUERIES
1. List all the employees who have at least one person reporting to them.
Answer:
2. List the employee details if and only if more than 10 employees are present in
department no 10.
Answer:
3. List the name of the employees with their immediate higher authority.
Answer:
4. List all the employees who do not manage any one.
Answer:
5. List the employee details whose salary is greater than the lowest salary of an
employee belonging to deptno 20.
Answer:
6. List the details of the employee earning more than the highest paid manager.
Answer:
9. In which year did most people join the company? Display the year and the number of
employees.
Answer:
12. Write a correlated sub-query to list out the employees who earn more than the
average salary of their department.
Answer:
14. Select the duplicate records (Records, which are inserted, that already exist) in the
EMP table.
Answer:
15. Write a query to list the length of service of the employees (of the form n years and m
months).
Answer:
SCHEMA I - QUERIES - Answers
1) SELECT AVG(SCOST) FROM SOFTWARE WHERE DEVIN = 'ORACLE';
14) SELECT MAX(SCOST) FROM SOFTWARE GROUP BY DEVIN HAVING DEVIN = 'VB';
17) SELECT COUNT(*) FROM STUDIES WHERE CCOST BETWEEN 10000 AND 15000;
18) SELECT AVG(CCOST) FROM STUDIES;
21) SELECT * FROM PROGRAMMER WHERE PROF1 NOT IN ('C','C++') AND PROF2 NOT IN
('C','C++');
29) SELECT COUNT(*) FROM PROGRAMMER WHERE SAL BETWEEN 5000 AND 7500;
30) SELECT * FROM PROGRAMMER WHERE PROF1 NOT IN ('C','C++','PASCAL') AND PROF2
NOT IN ('C','C++','PASCAL');
32) SELECT 'Mr.' || PNAME || ' - has ' || TRUNC(MONTHS_BETWEEN(SYSDATE,DOJ)/12) || ' years of
experience' “Programmer” FROM PROGRAMMER WHERE SEX = 'M' UNION SELECT 'Ms.' ||
PNAME || ' - has ' || TRUNC (MONTHS_BETWEEN (SYSDATE,DOJ)/12) || ' years of experience'
“Programmer” FROM PROGRAMMER WHERE SEX = 'F';
SCHEMA II - QUERIES - Answers
1) SELECT DISTINCT(A.ENAME) FROM EMP A, EMP B WHERE A.EMPNO = B.MGR; or
SELECT ENAME FROM EMP WHERE EMPNO IN (SELECT MGR FROM EMP);
2) SELECT * FROM EMP WHERE DEPTNO IN (SELECT DEPTNO FROM EMP GROUP BY
DEPTNO HAVING COUNT(EMPNO)>10 AND DEPTNO=10);
3) SELECT A.ENAME "EMPLOYEE", B.ENAME "REPORTS TO" FROM EMP A, EMP B WHERE
A.MGR=B.EMPNO;
4) SELECT * FROM EMP WHERE EMPNO IN ( SELECT EMPNO FROM EMP MINUS SELECT
MGR FROM EMP);
5) SELECT * FROM EMP WHERE SAL > ( SELECT MIN(SAL) FROM EMP GROUP BY DEPTNO
HAVING DEPTNO=20);
6) SELECT * FROM EMP WHERE SAL > ( SELECT MAX(SAL) FROM EMP GROUP BY JOB
HAVING JOB = 'MANAGER' );
11) SELECT ENAME, HIREDATE, LPAD('*',8) "RECENTLY HIRED" FROM EMP WHERE
HIREDATE = (SELECT MAX(HIREDATE) FROM EMP) UNION SELECT ENAME NAME,
HIREDATE, LPAD(' ',15) "RECENTLY HIRED" FROM EMP WHERE HIREDATE != (SELECT
MAX(HIREDATE) FROM EMP);
12) SELECT ENAME,SAL FROM EMP E WHERE SAL > (SELECT AVG(SAL) FROM EMP F
WHERE E.DEPTNO = F.DEPTNO);
13) SELECT ENAME, SAL FROM EMP A WHERE &N = (SELECT COUNT (DISTINCT(SAL))
FROM EMP B WHERE A.SAL<=B.SAL);
14) SELECT * FROM EMP A WHERE A.EMPNO IN (SELECT EMPNO FROM EMP GROUP BY
EMPNO HAVING COUNT(EMPNO)>1) AND A.ROWID!=MIN (ROWID));