50 SQL Interview Questions and Answers For 2022
50 SQL Interview Questions and Answers For 2022
1. What is DBMS?
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.
Example:.
Table: Employee.
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.
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.
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.
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.
A table is in 5th Normal Form only if it is in 4NF and it cannot be decomposed into any number of smaller
tables without loss of data.
6th Normal Form is not standardized, yet however, it is being discussed by database experts for some
time. Hopefully, we would have a clear & standardized definition for 6th Normal Form in the near
future…
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.
17. What is a Cursor?
A database Cursor is a control which enables traversal over the rows or records in the table. This can be
viewed as a pointer to one row in a set of rows. Cursor is very much useful for traversing such as retrieval,
addition and removal of database records.
A common customer complaint at the MyFlix Video Library is the low number of movie titles. The
management wants to buy movies for a category which has least number of titles.
You can use a query like
SELECT category_name FROM categories WHERE category_id =( SELECT MIN(category_id) from movies);
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.
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.
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.
26. What is a constraint?
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.
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.
Scalar Functions.
Inline Table valued functions.
Multi statement valued functions.
Scalar returns unit, variant defined the return clause. Other two types return table as a return.
Disadvantage is that it can be executed only in the Database and utilizes more memory in the database
server.
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.
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.
Example -.
45. How can you create an empty table from an existing table?
Example will be -.
Select * into studentcopy from student where 1=2
Here, we are copying student table to another table with the same structure with no rows copied.
49. What is the command used to fetch first 5 characters of the string?
There are many ways to fetch first 5 characters of the string -.
Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student
Example -.
Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'