SQL interview questions and answers 👇

  1. SQL Basic Interview Questions
  2. SQL Intermediate Interview Questions
  3. Intermediate
  4. SQL Advanced Interview Questions

SQL Basic Interview Questions

What is RDBMS?

View answer

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.

Example: SQL Server.

What is SQL?

View answer

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.

What is a Database?

View answer

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: School Management Database, Bank Management Database.

What are tables and Fields?

View answer

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.


Table: Employee.

Field: Emp ID, Emp Name, Date of Birth.

Data: 201456, David, 11/15/1960.

What do you mean by data manipulation language - DML?

View answer

DML includes the most common SQL statements to store, modify, delete, and retrieve data. They are SELECT, UPDATE, INSERT, and DELETE.

What is a primary key?

View answer

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.

What is a unique key?

View answer

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.

What is a foreign key?

View answer

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.

What is a join?

View answer

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.

What are the types of join and explain each?

View answer

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.

What is normalization?

View answer

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.

What is Denormalization?

View answer

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.

What are all the different normalizations?

View answer

The normal forms can be divided into 5 forms, and they are explained below -.

First Normal Form (1NF): This should remove all the duplicate columns from the table. Creation of tables for the related data and identification of unique columns.

Second Normal Form (2NF): 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.

Third Normal Form (3NF): This should meet all requirements of 2NF. Removing the columns which are not dependent on primary key constraints.

Fourth Normal Form (4NF): Meeting all the requirements of third normal form and it should not have multi- valued dependencies.

What is a View?

View answer

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.

What is an Index?

View answer

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.

What are all the different types of indexes?

View answer

There are three types of indexes -

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.

What is a Cursor?

View answer

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.

What is a relationship and what are they?

View answer

Database Relationship is defined as the connection between the tables in a database. There are various data basing relationships, and they are as follows:.

One to One Relationship One to Many Relationship Many to One Relationship Self-Referencing Relationship

What is a query?

View answer

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.

What is subquery?

View answer

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.

What are the types of subquery?

View answer

There are two types of subquery – Correlated and Non-Correlated.

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.

What is a stored procedure?

View answer

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.

What is a trigger?

View answer

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.

What is the difference between DELETE and TRUNCATE commands?

View answer

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.

What are local and global variables and their differences?

View answer

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.

What is a constraint?

View answer

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.


What is data Integrity?

View answer

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.

What is SQL comments?

View answer

SQL comments can be inserted by adding two consecutive hyphens (–).

What is Auto Increment?

View answer

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.

Mostly this keyword can be used whenever PRIMARY KEY is used.

What is Datawarehouse?

View answer

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.

SQL Intermediate Interview Questions

What is the difference between SQL and PL/SQL?

View answer

SQL is a Structured Query Language to create and access databases whereas PL/SQL comes with procedural concepts of programming languages.

What is the difference between SQL and MySQL?

View answer

SQL is a Structured Query Language that is used for manipulating and accessing the relational database. On the other hand, MySQL itself is a relational database that uses SQL as the standard database language.

What is the difference between Cluster and Non-Cluster Index?

View answer

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.

What is Self-Join?

View answer

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.

What is Cross-Join?

View answer

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.

What is user defined functions?

View answer

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.

What are all types of user defined functions?

View answer

Three types of user defined functions are.

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

What is collation?

View answer

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.

ASCII value can be used to compare these character data.

What are all different types of collation sensitivity?

View answer

Following are different types of collation sensitivity -.

Case Sensitivity – A and a and B and b. Accent Sensitivity. Kana Sensitivity – Japanese Kana characters. Width Sensitivity – Single byte character and double byte character.

Advantages and Disadvantages of Stored Procedure.

View answer

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.

What is Online Transaction Processing (OLTP)?

View answer

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.

Example – Bank Transactions on a daily basis.

What is CLAUSE?

View answer

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.

Example – Query that has WHERE condition.

What is recursive stored procedure?

View answer

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.

What is Union, minus and Interact commands?

View answer

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.

INTERSECT operator is used to return rows returned by both the queries.

Which TCP/IP port does SQL Server run?

View answer

By default SQL Server runs on port 1433.

What is an ALIAS command?

View answer

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.


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.

What is the difference between TRUNCATE and DROP statements?

View answer

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.

What are aggregate and scalar functions?

View answer

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 -.

Aggregate – max(), count - Calculated with respect to numeric.

Scalar – UCASE(), NOW() – Calculated with respect to strings.

Which operator is used in query for pattern matching?

View answer

LIKE operator is used for pattern matching, and it can be used as -.

% - Matches zero or more characters. _(Underscore) – Matching exactly one character.

How to select unique records from a table?

View answer

Select unique records from a table by using DISTINCT keyword.

List and explain each of the ACID properties that collectively guarantee that database transactions are processed reliably.

View answer

ACID (Atomicity, Consistency, Isolation, Durability) is a set of properties that guarantee that database transactions are processed reliably. They are defined as follows:

Atomicity. Atomicity requires that each transaction be “all or nothing”: if one part of the transaction fails, the entire transaction fails, and the database state is left unchanged. An atomic system must guarantee atomicity in each and every situation, including power failures, errors, and crashes. Consistency. The consistency property ensures that any transaction will bring the database from one valid state to another. Any data written to the database must be valid according to all defined rules, including constraints, cascades, triggers, and any combination thereof. Isolation. The isolation property ensures that the concurrent execution of transactions results in a system state that would be obtained if transactions were executed serially, i.e., one after the other. Providing isolation is the main goal of concurrency control. Depending on concurrency control method (i.e. if it uses strict - as opposed to relaxed - serializability), the effects of an incomplete transaction might not even be visible to another transaction. Durability. Durability means that once a transaction has been committed, it will remain so, even in the event of power loss, crashes, or errors. In a relational database, for instance, once a group of SQL statements execute, the results need to be stored permanently (even if the database crashes immediately thereafter). To defend against power loss, transactions (or their effects) must be recorded in a non-volatile memory.

What is the main difference between ‘BETWEEN’ and ‘IN’ condition operators?

View answer

BETWEEN operator is used to display 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);

Why are SQL functions used?

View answer

SQL functions are used for the following purposes:

To perform some calculations on the data To modify individual data items To manipulate the output To format dates and numbers To convert the data types

List the ways in which Dynamic SQL can be executed?

View answer

Following are the ways in which dynamic SQL can be executed:

Write a query with parameters. Using EXEC. Using sp_executesql.

List some case manipulation functions in SQL.

View answer

There are three case manipulation functions in SQL, namely:

LOWER: This function returns the string in lowercase. It takes a string as an argument and returns it by converting it into lower case. Syntax: LOWER(‘string’) UPPER: This function returns the string in uppercase. It takes a string as an argument and returns it by converting it into uppercase. Syntax: UPPER(‘string’) INITCAP: This function returns the string with the first letter in uppercase and rest of the letters in lowercase. Syntax: INITCAP(‘string’)

What is a Non-correlated subquery?

View answer

A Non-Correlated subquery is an independent query, and the output of subquery is substituted in the main query.


What is the need for MERGE statement?

View answer

This statement allows conditional update or insertion of data into a table. It performs an UPDATE if a row exists, or an INSERT if the row does not exist.

SQL Advanced Interview Questions

What is a SYSTEM Privilege?

View answer

Rights are given to a user, usually by the DBA, to perform a particular action on the database schema objects like creating tablespaces.

The following are examples of system privileges that can be granted to users:

CREATE TABLE allows a grantee to create tables in the grantee's schema. CREATE USER allows a grantee to create users in the database. CREATE SESSION allows a grantee to connect to an Oracle database to create a user session.

What are Object Privileges?

View answer

An object-level privilege is a permission granted to a database user account or role to perform some action on a database object. These object privileges include SELECT, INSERT, UPDATE, DELETE, ALTER, INDEX on tables, and so on.

The following examples are object privileges that can be granted to users:

SELECT ON hr.employees TO myuser INSERT ON hr.employees TO myuser

What does the BCP command do?

View answer

The BCP (Bulk Copy) is a utility or a tool that exports/imports data from a table into a file and vice versa.

Does the data stored in the stored procedure increase access time or execution time? Explain

View answer

Data stored in stored procedures can be retrieved much faster than the data stored in the SQL database. Data can be precompiled and stored in stored procedures. This reduces the time gap between query and compiling as the data has been pre-compiled and stored in the procedure.

Can a Stored Procedure contain a return value?

View answer

Procedures may or may not return values.

Can a View be active if the Base table is dropped?

View answer

No, the view cannot be active in the parent table is dropped.

What is the difference between the RANK() and DENSE_RANK() functions? Provide an example.

View answer

The only difference between the RANK() and DENSE_RANK() functions is in cases where there is a “tie”; i.e., in cases where multiple values in a set have the same ranking. In such cases, RANK() will assign non-consecutive “ranks” to the values in the set (resulting in gaps between the integer ranking values when there is a tie), whereas DENSE_RANK() will assign consecutive ranks to the values in the set (so there will be no gaps between the integer ranking values in the case of a tie).

For example, consider the set {25, 25, 50, 75, 75, 100}. For such a set, RANK() will return {1, 1, 3, 4, 4, 6} (note that the values 2 and 5 are skipped), whereas DENSE_RANK() will return {1,1,2,3,3,4}.

What is the difference between char and varchar2?

View answer

When stored in a database, varchar2 uses only the allocated space. E.g. if you have a varchar2(1999) and put 50 bytes in the table, it will use 52 bytes.

But when stored in a database, char always uses the maximum length and is blank-padded. E.g. if you have char(1999) and put 50 bytes in the table, it will consume 2000 bytes.

What is CTE?

View answer

A CTE or common table expression is an expression that contains temporary result set which is defined in a SQL statement.

Does View contain Data?

View answer

No, Views are virtual structures.

Define a temp table.

View answer

A temp table is a temporary storage structure to store the data temporarily.

What is Referential Integrity?

View answer

Set of rules that restrict the values of one or more columns of the tables based on the values of the primary key or unique key of the referenced table.

What do you mean by query optimization?

View answer

Query optimization is a process in which a database system compares different query strategies and select the query with the least cost.

What is Database Black Box Testing?

View answer

Database Black Box testing involves:

Data Mapping Data stored and retrieved Use of Black Box testing techniques such as Equivalence Partitioning and Boundary Value Analysis (BVA)

What do we need to check in Database Testing?

View answer

In Database testing, the following thing is required to be tested:

Database connectivity Constraint check Required application field and its size Data Retrieval and processing with DML operations Stored Procedures Functional flow

What are Nested Triggers?

View answer

riggers may implement data modification logic by using INSERT, UPDATE, and DELETE statements. These triggers that contain data modification logic and find other triggers for data modification are called Nested Triggers.

What is SQL Sandbox in SQL Server?

View answer

SQL Sandbox is a safe place in the SQL server environment where untrusted scripts are executed. There are 3 types of SQL sandbox:

Safe Access Sandbox: Here a user can perform SQL operations such as creating stored procedures, triggers etc. but cannot have access to the memory as well as cannot create files. External Access Sandbox: Users can access files without having the right to manipulate the memory allocation. Unsafe Access Sandbox: This contains untrusted codes where a user can have access to memory.

What is SQL Injection?

View answer

SQL Injection is a type of database attack technique where malicious SQL statements are inserted into an entry field of database in a way that once it is executed, the database is exposed to an attacker for the attack. This technique is usually used for attacking data-driven applications to have access to sensitive data and perform administrative tasks on databases.

What is returned by the cursor attribute SQL%NOTFOUND?

View answer

It returns the Boolean value TRUE if no rows were processed.

What do you understand by explicit cursors?

View answer

Explicit cursors are defined explicitly using the CURSOR statement, with a general syntax −

CURSOR cursor_name [(parameters)] IS query_expression;

It allows processing queries that return multiple rows.

What is Deadlocking?

View answer

It is the situation where two transactions are waiting for other to release a lock on an item.

How can you say that Database testing is different from that of GUI testing?

View answer

GUI testing is always performed at the front end whereas the Database testing is performed at the back end When it comes to dealing with the testable items, generally the users prefer GUI testing. These items are present clearly./ On the other hand, the Database testing deals with the testable items that are hidden and are not directly visible to the users Structured Query Language largely matters in Database approach where the same doesn’t have any application with the GUI Invalidating the test boxes are a part of GUI database whereas the Database testing is totally different in this manner

How to prevent SQL Injection Attacks?

View answer

By providing proper validations for input fields. By using parameterized queries. By using stored procedures By using frequent code reviews We must not display database error messages in frontend An SQL injection is a code injection technique, used to attack data-driven applications.