SQL Interview Q N A
SQL Interview Q N A
SQL Interview Q N A
A Database Management System (DBMS) is a program that controls creation, maintenance and use of a
database. DBMS can be termed as File Manager that manages data in a database rather than saving it in
file systems.
2. What is RDBMS?
RDBMS stands for Relational Database Management System. RDBMS store the data into the collection
of tables, which is related by common fields between the columns of the table. It also provides
relational operators to manipulate the data stored into the tables.
3. What is SQL?
SQL stands for Structured Query Language , and it is used to communicate with the Database. This is a
standard language used to perform tasks such as retrieval, updation, insertion and deletion of data from
a database.
Standard SQL Commands are Select.
4. What is a Database?
Database is nothing but an organized form of data for easy access, storing, retrieval and managing of
data. This is also known as structured form of data which can be accessed in many ways.
A table is a set of data that are organized in a model with Columns and Rows. Columns can be
categorized as vertical, and Rows are horizontal. A table has specified number of column called fields but
can have any number of rows which is called record.
Example:.
Table: Employee.
A primary key is a combination of fields which uniquely specify a row. This is a special kind of unique key,
and it has implicit NOT NULL constraint. It means, Primary key values cannot be NULL.
A Unique key constraint uniquely identified each record in the database. This provides uniqueness for
the column or set of columns.
A Primary key constraint has automatic unique constraint defined on it. But not, in the case of Unique
Key.
There can be many unique constraint defined per table, but only one Primary key constraint defined per
table.
A foreign key is one table which can be related to the primary key of another table. Relationship needs
to be created between two tables by referencing foreign key with the primary key of another table.
9. What is a join?
This is a keyword used to query data from more tables based on the relationship between the fields of
the tables. Keys play a major role when JOINs are used.
There are various types of join which can be used to retrieve data and it depends on the relationship
between tables.
Inner Join.
Inner join return rows when there is at least one match of rows between the tables.
Right Join.
Right join return rows which are common between the tables and all rows of Right hand side table.
Simply, it returns all the rows from the right hand side table even though there are no matches in the
left hand side table.
Left Join.
Left join return rows which are common between the tables and all rows of Left hand side table. Simply,
it returns all the rows from Left hand side table even though there are no matches in the Right hand side
table.
Full Join.
Full join return rows when there are matching rows in any one of the tables. This means, it returns all
the rows from the left hand side table and all the rows from the right hand side table.
Normalization is the process of minimizing redundancy and dependency by organizing fields and table of
a database. The main aim of Normalization is to add, delete or modify field that can be made in a single
table.
DeNormalization is a technique used to access the data from higher to lower normal forms of database.
It is also process of introducing redundancy into a table by incorporating data from the related tables.
13. What are all the different normalizations?
The normal forms can be divided into 5 forms, and they are explained below -.
This should remove all the duplicate columns from the table. Creation of tables for the related data and
identification of unique columns.
Meeting all requirements of the first normal form. Placing the subsets of data in separate tables and
Creation of relationships between the tables using primary keys.
This should meet all requirements of 2NF. Removing the columns which are not dependent on primary
key constraints.
Meeting all the requirements of third normal form and it should not have multi- valued dependencies.
A view is a virtual table which consists of a subset of data contained in a table. Views are not virtually
present, and it takes less space to store. View can have data of one or more tables combined, and it is
depending on the relationship.
An index is performance tuning method of allowing faster retrieval of records from the table. An index
creates an entry for each value and it will be faster to retrieve data.
Unique Index.
This indexing does not allow the field to have duplicate values if the column is unique indexed. Unique
index can be applied automatically when primary key is defined.
Clustered Index.
This type of index reorders the physical order of the table and search based on the key values. Each
table can have only one clustered index.
NonClustered Index.
NonClustered Index does not alter the physical order of the table and maintains logical order of data.
Each table can have 999 nonclustered indexes.
Database Relationship is defined as the connection between the tables in a database. There are various
data basing relationships, and they are as follows:.
Self-Referencing Relationship.
A DB query is a code written in order to get the information back from the database. Query can be
designed in such a way that it matched with our expectation of the result set. Simply, a question to the
Database.
A subquery is a query within another query. The outer query is called as main query, and inner query is
called subquery. SubQuery is always executed first, and the result of subquery is passed on to the main
query.
A correlated subquery cannot be considered as independent query, but it can refer the column in a table
listed in the FROM the list of the main query.
A Non-Correlated sub query can be considered as independent query and the output of subquery are
substituted in the main query.
Stored Procedure is a function consists of many SQL statement to access the database system. Several
SQL statements are consolidated into a stored procedure and execute them whenever and wherever
required.
A DB trigger is a code or programs that automatically execute with response to some event on a table or
view in a database. Mainly, trigger helps to maintain the integrity of the database.
Example: When a new student is added to the student database, new records should be created in the
related tables like Exam, Score and Attendance tables.
24. What is the difference between DELETE and TRUNCATE commands?
DELETE command is used to remove rows from the table, and WHERE clause can be used for conditional
set of parameters. Commit and Rollback can be performed after delete statement.
TRUNCATE removes all rows from the table. Truncate operation cannot be rolled back.
25. What are local and global variables and their differences?
Local variables are the variables which can be used or exist inside the function. They are not known to
the other functions and those variables cannot be referred or used. Variables can be created whenever
that function is called.
Global variables are the variables which can be used or exist throughout the program. Same variable
declared in global cannot be used in functions. Global variables cannot be created whenever that
function is called.
Constraint can be used to specify the limit on the data type of table. Constraint can be specified while
creating or altering the table statement. Sample of constraint are.
NOT NULL.
CHECK.
DEFAULT.
UNIQUE.
PRIMARY KEY.
FOREIGN KEY.
Data Integrity defines the accuracy and consistency of data stored in a database. It can also define
integrity constraints to enforce business rules on the data when it is entered into the application or
database.
Auto increment keyword allows the user to create a unique number to be generated when a new record
is inserted into the table. AUTO INCREMENT keyword can be used in Oracle and IDENTITY keyword can
be used in SQL SERVER.
Clustered index is used for easy retrieval of data from the database by altering the way that the records
are stored. Database sorts out rows by the column which is set to be clustered index.
A nonclustered index does not alter the way it was stored but creates a complete separate object within
the table. It point back to the original table rows after searching.
Datawarehouse is a central repository of data from multiple sources of information. Those data are
consolidated, transformed and made available for the mining and online processing. Warehouse data
have a subset of data called Data Marts.
Self-join is set to be query used to compare to itself. This is used to compare values in a column with
other values in the same column in the same table. ALIAS ES can be used for the same table comparison.
Cross join defines as Cartesian product where number of rows in the first table multiplied by number of
rows in the second table. If suppose, WHERE clause is used in cross join then the query will work like an
INNER JOIN.
User defined functions are the functions written to use that logic whenever required. It is not necessary
to write the same logic several times. Instead, function can be called or executed whenever needed.
Scalar Functions.
Scalar returns unit, variant defined the return clause. Other two types return table as a return.
Collation is defined as set of rules that determine how character data can be sorted and compared. This
can be used to compare A and, other language characters and also depends on the width of the
characters.
Accent Sensitivity.
Stored procedure can be used as a modular programming – means create once, store and call for several
times whenever required. This supports faster execution instead of executing multiple queries. This
reduces network traffic and provides better security to the data.
Disadvantage is that it can be executed only in the Database and utilizes more memory in the database
server.
Online Transaction Processing (OLTP) manages transaction based applications which can be used for
data entry, data retrieval and data processing. OLTP makes data management simple and efficient.
Unlike OLAP systems goal of OLTP systems is serving real-time transactions.
SQL clause is defined to limit the result set by providing condition to the query. This usually filters some
rows from the whole set of records.
A stored procedure which calls by itself until it reaches some boundary condition. This recursive function
or procedure helps programmers to use the same set of code any number of times.
UNION operator is used to combine the results of two tables, and it eliminates duplicate rows from the
tables.
MINUS operator is used to return rows from the first query but not from the second query. Matching
records of first and second query and other rows from the first query will be displayed as a result set.
ALIAS name can be given to a table or column. This alias name can be referred in WHERE clause to
identify the table or column.
Example-.
Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID
Here, st refers to alias name for student table and Ex refers to alias name for exam table.
43. What is the difference between TRUNCATE and DROP statements?
TRUNCATE removes all the rows from the table, and it cannot be rolled back. DROP command removes a
table from the database and operation cannot be rolled back.
Aggregate functions are used to evaluate mathematical calculation and return single values. This can be
calculated from the columns in a table. Scalar functions return a single value based on the input value.
Example -.
45. How can you create an empty table from an existing table?
Example will be -.
Here, we are copying student table to another table with the same structure with no rows copied.
Records can be fetched for both Odd and Even row numbers -.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1
49. What is the command used to fetch first 5 characters of the string?
Example -.
6. What is the main difference between ‘BETWEEN’ and ‘IN’ condition operators?
Answer: BETWEEN operator is used to displaying rows based on a range of values in a row whereas the
IN condition operator is used to check for values contained in a specific set of values.
Example of BETWEEN:
SELECT * FROM Students where ROLL_NO BETWEEN 10 AND 50;
Example of IN:
SELECT * FROM students where ROLL_NO IN (8,15,25);
Scalar Functions
Scalar returns the unit, variant defined the return clause. Other two types of defined functions
return table.
16. What do you mean by Collation?
Answer: Collation is defined as a set of rules that determine how data can be sorted as well as
compared. Character data is sorted using the rules that define the correct character sequence along
with options for specifying case-sensitivity, character width, etc.
Apart from this SQL Interview Questions Blog, if you want to get trained from professionals on this
technology, you can opt for structured training from SVR
18. What are the different authentication modes in SQL Server? How can it be changed?
Answer: Windows mode and Mixed Mode – SQL and Windows. You can go to the below steps to change
authentication mode in SQL Server:
Click Start> Programs> Microsoft SQL Server and click SQL Enterprise Manager to run SQL Enterprise
Manager from the Microsoft SQL Server program group.
Then select the server from the Tools menu.
Select SQL Server Configuration Properties, and choose the Security page.
23. What is the SQL CASE statement used for? Explain with an example?
Answer:
It allows you to embed an if-else like a clause in the SELECT clause.
SELECT Employee_Name, CASE Location
WHEN ‘Alex’ THEN Bonus * 2
WHEN ‘robin’ THEN Bonus *, 5
ELSE Bonus
END
“New Bonus”
FROM Intellipaat_employee;
Read this blog to learn why SQL Optimization has always been an important aspect of database
management.
24. How do you maintain database integrity where deletions from one table will automatically cause
deletions in another table?
Answer:
You can create a trigger that will automatically delete elements in the second table when elements from
the first table are removed.
33. How to add code to the existing article (Using Improve Article)?
Answer: Recursive Practice Problems with Solutions
Run Levels in Linux
INNER JOIN
LEFT JOIN
RIGHT JOIN
OUTER JOIN
NOT NULL
CHECK
DEFAULT
UNIQUE
PRIMARY KEY
FOREIGN KEY
Note: Browse latest SQL Interview Questions and SQL Tutorial Videos. Here you can check SQL
Training details and SQL Training Videos for self learning. Contact +91 988 502 2027 for more
information.
Post navigation
column_name1 data_type(size),
column_name2 data_type(size),
column_name3 data_type(size),
ALTER: The ALTER table is used for modifying the existing table object in the database.
ALTER TABLE table_name
OR
c) DCL (Data Control Language): These statements are used to set privileges such as
GRANT and REVOKE database access permission to the specific user.
Q #4) How do we use the DISTINCT statement? What is its use?
Answer: The DISTINCT statement is used with the SELECT statement. If the record
contains duplicate values then the DISTINCT statement is used to select different values
among duplicate records.
Syntax:
SELECT DISTINCT column_name(s)
FROM table_name;
FROM table_name
WHERE condition;
GROUP BY Clause: It is used with SELECT statement to group the result of the executed
query using the value specified in it. It matches the value with the column name in tables
and groups the end result accordingly.
Further reading => MySQL Group By Tutorial
Syntax:
SELECT column_name(s)
FROM table_name
GROUP BY column_name;
FROM table_name
GROUP BY column_name
HAVING condition;
ORDER BY clause: This clause is used to define the order of the query output either in
ascending (ASC) or in descending (DESC). Ascending (ASC) is set as the default one but
descending (DESC) is set explicitly.
Syntax:
SELECT column_name(s)
FROM table_name
WHERE condition
USING clause: USING clause comes in use while working with SQL JOIN. It is used to
check equality based on columns when tables are joined. It can be used instead of the ON
clause in JOIN.
Syntax:
SELECT column_name(s)
FROM table_name
JOIN table_name
USING (column_name);
Q #6) Why do we use SQL constraints? Which constraints we can use while creating
a database in SQL?
Answer: Constraints are used to set the rules for all records in the table. If any constraints
get violated then it can abort the action that caused it.
Constraints are defined while creating the database itself with the CREATE TABLE
statement or even after the table is created once with the ALTER TABLE statement.
4 major types of Joins are used while working on multiple tables in SQL databases:
INNER JOIN: It is also known as SIMPLE JOIN which returns all rows from BOTH tables
when it has at least one matching column.
Syntax:
SELECT column_name(s)
FROM table_name1
ON column_name1=column_name2;
For Example,
In this example, we have a table Employee with the following data:
FROM Employee
ORDER BY Employee.Emp_id;
ON column_name1=column_name2;
For Example,
In this example, we have a table Employee with the following data:
FROM Employee
ON Employee.Emp_id = Joining.Emp_id
ORDER BY Employee.Emp_id;
RIGHT JOIN (RIGHT OUTER JOIN): This joins returns all rows from the RIGHT table and
its matched rows from the LEFT table.
Syntax:
SELECT column_name(s)
FROM table_name1
ON column_name1=column_name2;
For Example,
In this example, we have a table Employee with the following data:
ON Employee.Emp_id = Joining.Emp_id
ORDER BY Employee.Emp_id;
Output:
Emp_id Joining_Date
E0012 2016/04/18
E0013 2016/04/19
E0014 2016/05/01
FULL JOIN (FULL OUTER JOIN): This joins returns all results when there is a match either
in the RIGHT table or in the LEFT table.
Syntax:
SELECT column_name(s)
FROM table_name1
ON column_name1=column_name2;
For Example,
In this example, we have a table Employee with the following data:
FROM Employee
ON Employee.Emp_id = Joining.Emp_id
ORDER BY Employee.Emp_id;
There will be 8 records selected. These are the results that you should see.
Also Read => MySQL Join Tutorial
Q #8) What are transactions and their controls?
Answer: A transaction can be defined as the sequence task that is performed on databases
in a logical manner to gain certain results. Operations like Creating, updating, deleting
records performed in the database come from transactions.
In simple words, we can say that a transaction means a group of SQL queries executed on
database records.
Syntax:
CREATE TRIGGER name {BEFORE|AFTER} (event [OR..]}
SELECT column_name(s)
FROM table_name
WHERE condition
Syntax:
CREATE OR REPLACE VIEW view_name AS
SELECT column_name(s)
FROM table_name
WHERE condition
ON object_name
TO {user_name|PUBLIC|role_name}
In the above syntax, the GRANT option indicates that the user can grant access to another
user too.
REVOKE command: This command is used to provide database deny or remove access to
database objects.
Syntax:
REVOKE privilege_name
ON object_name
FROM {user_name|PUBLIC|role_name};
Q #29) What is the difference between Nested Subquery and Correlated Subquery?
Answer: Subquery within another subquery is called Nested Subquery. If the output of a
subquery depends on column values of the parent query table then the query is called
Correlated Subquery.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE
The result of the query is the details of an employee from the Employee table.
(
//Parameters
)
AS
BEGIN
END
Further, we can also create a Unique Index using the following syntax:
Apart from some major concepts, there are some hidden facts that remain unseen and
affect your performance in the interview. In this tutorial, I have tried to recollect some of
those concepts which seem small but should not be neglected.
Hope in this article, you will find answers to most frequently asked SQL interview questions.
The knowledge of SQL is a must for any tester and this article will help you in preparing the
inter