You are on page 1of 9

Introduction to SQL Interview

Questions And Answers


So you have finally found your dream job in SQL but are wondering how to

crack the SQL Interview and what could be the probable 2020 SQL Interview

Questions. Every interview is different and the scope of a job is different too.

Keeping this in mind we have designed the most common SQL Interview

Questions and Answers for 2020 to help you get success in your interview.

Below is the list of 2020 SQL Interview Questions and Answers, which can be

asked during an interview for fresher and experience. These top interview

questions are divided into two parts: 1 – SQL Interview s (Basic)

This first part covers basic interview questions and answers

1. What is SQL?
Answer:

SQL stands for a structured query language, and it is used to communicate


with the database. This is a standard language used to perform several tasks

such as retrieval, updating, insertion, and deletion of data from a database.

2. Write the query to find the employee record


with the highest the salary.
Answer:

Select * from table_name where salary = (select max(salary) from table_name);

For example

Select * from employee where salary =(select max(salary) from employee);

3.write the query to find the 2nd highest salary


in the employee table?
Answer:

This is the basic SQL interview questions asked in a SQL interview. There are

multiple ways to solve this question, below three are the easiest solution for it.

1st: Select max (salary) from employee where salary not in (select max(salary)

from employee).

Note: This solution is only to find the 2nd highest salary, if the question got

the change to find the 3rd or 4th highest salary then this will not work. You

need to execute the below query for finding nth highest salary.
2nd: Select Salary from employee where salary in (select salary from employee

where level = &topnth connect by prior Salary > Salary group by level).

Note: If you run the above query it will ask for entering the value of topnth, if

you enter 2 it will show the result for 2 and if you enter 3 it will give the result

for 3 likewise this query is generic.

3rd: Select salary from employee where salary in (select salary from (select

unique salary from employee order by salary desc) group by rownum, salary

having rownum = &topnth).

Execute as same as 2nd query execute.

4.write the query to find the 2nd lowest salary


in the employee table?
Answer:

There are multiple ways to solve this question, below two are the easiest

solution for it.

1st: Select min (salary) from employee where salary not in (select min(salary)

from employee).

Note: This solution is only to find the 2nd lowest salary, if the question got the

change to find the 3rd or 4th lowest salary then this will not work. You need to
execute the below query for finding nth highest salary.

2nd: Select Salary from employee where salary in (select salary from employee

where level = &lownth connect by prior Salary < Salary group by level).

Note: If you run the above query it will ask for entering the value of lownth, if

you entering 2 it will show the result for 2 and if you enter 3 it will give the

result for 3 likewise this query is generic.

5.what is the difference between NVL and NVL2


functions?
Answer:

Both the function is used to convert a NULL value to an actual value

NVL: Syntax

NVL (EXPR1, EXPR2)

EXPR1: Is the source value or expression that may contain NULL.

EXPR2: Is the target value for converting NULL.

Note: If EXPR1 is character data then EXPR2 may any data type.

For example: select NVL (100,200) from dual

Output: 100
Select NVL(null,200) from dual;

Output: 200

NVL2: Syntax

NVL2(expr1,expr2,expr3)

If expr1 is not null, NVL2 returns expr2. If expr1 is null then, NVL2 returns

expr3.

The data type of the return value is always the same as the data type of expr2

unless expr2 is character data.

Example: select nvl2(100,200,300) from dual;

Output: 200

Select nvl2 (null,200,300) from dual;

Output: 300

6.write the query to find the distinct domain


from email column, consider the below
employee table for example?
Name Email

Anubhav anubhavraj@gmail.com

Basant basantverma@yahoo.in
Sumit Sumitsinha@hotmail.com

Amit anuragamit@gmail.com

So write the query to get the result only @gmail.com, @yahoo.in,

@hotmail.com (Since we have two gmail.com and we need to fetch only

distinct domain).

Answer:

Select distinct (substr (Email, Instr (Email,’@’,1,1))) from employee;

 
Part 2 – SQL Interview Questions (Advanced)
Let us now have a look at the advanced Interview Questions.

7. Write the query to find the duplicate name


and its frequency in the table, consider the
below Employee table for reference?
Name Age Salary

Anubhav 26 50000

Anurag 29 60000

Basant 27 40000

Rahul 28 45000
Anubhav 27 48000

Answer:

Select Name, count(1) as frequency from Employee

Group by Name having count(1) > 1

8. Write the query to remove the duplicates


from a table without using a temporary table?
Answer:

This is the advanced SQL Interview Questions asked in an interview. Delete

from Employee where name in (Select name from employee group by age,

salary having count(*) > 1));

Or

Delete from employee where rowid not in (select max (rowid) from employee

group by name);

9. Write the Query to find odd and even records from the table?

Answer:

For even number

Select * from employee where empno in (select empno from employee group
by empno, rownum having mod(rownum,2) = 0);

For odd number:

Select * from employee where empno in (select empno from employee group

by empno, rownum having mod(rownum,2) != 0);

Let us move to the next SQL Interview Questions.

10. Write a SQL query to create a new table with


data and structure copied from another table,
create an empty table with the same structure
as some other table?
Answer:

create a new table with data and structure copied from another table

Select * into new table from an existing table;

Create an empty table with the same structure as some other table

Select * into new_table from existing_table where 1=2;

Or

Create table new table like an existing table;


11. Write a SQL query to find the common
records between two tables?
Answer:

Select * from table_one

Intersect

Select * from table_two;

12. Write a SQL query to find the records that


are present in one table but missing in another
table?
Answer:

Select * from table_one

Minus

Select * from table_two;

You might also like