SQL Interview Questions

Last updated on February 20th, 2024 at 03:39 pm

Skills, Interviews, and Jobs

Top 21 SQL Interview Questions and Answers for 2023

By July 11, 2022 6 min read

How do I prepare for SQL interview questions? What are the basic questions asked in the SQL interview? What are the five basic SQL commands? Where can I practice SQL interview questions?

Looking for answers to these questions? Keep reading. 

What is SQL?

SQL or Structured Query Language is the preferred language for RDBMS. SQL manages structured data that has variables or entities with relationships between them. 

SQL is primarily employed for interacting with databases.

By utilizing the capabilities of SQL, developers maintain RDBMS and execute various data manipulation operations on various sorts of data. 

Basic-level SQL interview questions

  1. What is a database?

    A database is a structured data collection that can be stored, maintained, and retrieved digitally from a local or remote computer system. Large databases are housed on computer clusters or cloud storage, whereas smaller databases can be stored in a folder in SSDs, HDDs, or mobile hard drives. 
  2. What is normalization? Define its types.

    By structuring fields and tables in databases, normalization helps reduce data reliance and redundancy. It entails building tables and establishing relationships between tables according to predetermined principles. The four forms of normalization are as follows:

    1. First Normal Form
    2. Second Normal Form
    3. Third Normal Form
    4. Boyce-Codd Normal Form
  3. What is denormalization?

    Denormalization is the opposite of normalization. It involves adding redundant data to the system to speed up complex queries that require joining many tables. By adding or combining duplicate copies of data, developers try to improve the read speed of a database. 
  4. What are Joins in SQL?

    In SQL, a join merges rows from multiple tables based on a common column. Depending on the relationship between the tables, different forms of joins can be utilized to extract data. There are four types of Joins. They are as follows: 
    1. Inner Join
    2. Left Join
    3. Right Join
    4. Full Join
  5. What are the subsets of SQL?

    SQL queries are divided into four main categories, they are as follows: 

    1. Data Definition Language (DDL)
    2. Data Manipulation Language (DML)
    3. Data Control Language (DCL)
    4. Transaction Control Language (TCL)
  6. What is meant by table and field in SQL?

    A table is a collection of rows and columns of ordered data. 

    The number of columns in a table is referred to as a field, and rows and columns are referred to as tuples and attributes. 

    Fields describe the traits and attributes in the record and hold detailed information about the data. 
  7. Define ‘primary key’ in SQL.

    A primary key is a uniquely identified all-table record. A primary key must have distinct values and cannot have NULL values. In a table, there can only be one primary key, which is a composite key that can contain one or more fields. Here is a syntax for demonstrating the use of a primary key for the employee table:

    CREATE TABLE Employee (
    ID int NOT NULL,
    Employee_name varchar(255) NOT NULL,
    Employee_designation varchar(255),
    Employee_Age int,
  8. Define a unique key in SQL.

    A unique key is a key that can only receive a null value and cannot accept two identical values. A unique key guarantees the uniqueness of each column and each row. A unique key has the same syntax as the primary key. So, the query using a unique key for the employee table will be:

    CREATE TABLE Employee (
    ID int NOT NULL,
    Employee_name varchar(255) NOT NULL,
    Employee_designation varchar(255),
    Employee_Age int,
  9. What is the difference between a primary key and a unique key?

    Here are two main differences between primary keys and unique keys: 
    1. Both primary and unique keys can have distinct values, but only unique keys can have a null value.
    2. There can only be one primary key per table. However, there can be many unique keys.
  10. What is an index?

    Indexes facilitate quicker database searches. The SQL server must scan the entire database and verify each and every row to discover matches if a column in the WHERE clause has no index. 

    Indexes locate all rows that match a specific set of columns. This process allows users to quickly search through only those portions of the data for matches.


Related post: Understanding MySQL Client / Server Protocol Using Python & Wireshark: Part 1

Intermediate-level SQL interview questions

  1. What is data integrity?

    The assurance of accuracy and consistency of data across its entire life cycle is data integrity. It is a crucial component in the planning, execution, and use of data storage, processing, or retrieval systems. 
  2. What is a data warehouse?

    A data warehouse is the main repository of information. Using the data warehouse, data scientists and engineers analyze the data to make more informed decisions. Data flows into a data warehouse from relational databases, transactional systems, and other sources.
  3. What is the use of the FLOOR function in SQL Server?

    The highest integer value for a given number, which may be equal to or less than the provided number, can be found using the FLOOR() function. 
  4. Explain CDC in SQL Server.

    Change Data Collection or CDC is an important SQL term. CDC records recent SQL Server tables, consisting of INSERT, DELETE, and UPDATE operations. Also, CDC logs modifications to SQL Server tables in a format that is compatible. 
  5. Explain the need for group functions in SQL.

    When used on a set of rows, group functions produce a single result for each group. Some of the most popular group functions include COUNT(), MAX(), MIN(), SUM(), AVG(), and VARIANCE().
  6. What is AUTO_INCREMENT?

    When a new record is entered into a table in SQL, AUTO_INCREMENT generates a unique number automatically. 

    A primary field is added as the AUTO_INCREMENT field so that it is incremented when a new record is inserted because the primary key is unique for each record. 

    The AUTO-INCREMENT value starts from 1 and is incremented by 1 whenever a new record comes.

    CREATE TABLE Employee(
    Employee_id int NOT NULL AUTO-INCREMENT,
    Employee_name varchar(255) NOT NULL,
    Employee_designation varchar(255)
    Age int,
    PRIMARY KEY (Employee_id)
  7. Explain the difference between DROP and TRUNCATE commands.

    When a table gets deleted, everything connected to it also gets deleted. This action contains the connections between tables, the grants, access privileges that the table has, and the integrity checks and restrictions. 

    All the elements related to the table must be redefined to build and use it once more in its original form. However, if a table is truncated, there are no such problems as mentioned above. The table retains its original structure.

Related post: Understanding MySQL Client / Server Protocol Using Python & Wireshark: Part 2

Advanced-level SQL interview questions

  1. Explain the difference between BETWEEN and IN operators in SQL.

    Rows based on a collection of values are represented using the BETWEEN operator. The values could be dates, texts, or integers. The BETWEEN operator returns the total number of values that fall inside two specified ranges. 

    The IN operator is useful while looking for values within a certain range of values. Also, unlike BETWEEN operator, the IN operator comes in handy when there are multiple values to choose from.
  2. How will you handle expectations in the SQL server?

    SQL server’s TRY and CATCH blocks deal with exceptions. 

    When developers put the SQL statement in the TRY block, and the code to handle expectations in the CATCH block, the control immediately switches to the CATCH block if there is a bug in the code in the TRY block. 
  3. What is TRIGGER in SQL?

    The trigger is a process that runs automatically when anything happens on the database server. Trigger helps in keeping the table’s integrity. The trigger is set off when commands like insert, update, and delete are issued.

    Syntax: CREATE TRIGGER trigger_name
  4. How can you create empty tables with the same structure as another table?

    To create empty tables with the same structure as another table, developers use the INTO operator. This operator fetches the records from one table into a new table while setting a WHERE clause to be false for all records. 

    SQL creates a duplicate structure for the new table in this manner so that it is ready to take the fetched records. However, because of the WHERE clause’s use, no records can be obtained. Therefore, nothing is inserted into the new table, thus creating an empty table.

    SELECT * INTO Employee_copy
    FROM Employee WHERE 1 = 2;

Related post: PostgreSQL vs MySQL: Which Is the Right Open Source Database for Your Business

Bottom line

Good interviewers usually don’t have any pre-planned questions for the interview. Instead, they start with a fundamental understanding of the subject and then lead the subsequent conversation based on candidates’ responses. So, carefully study each question from this post, and attempt to read or review the entire sub-topic. 

Visit Turing.com if you are an experienced SQL developer seeking a well-paying remote job. Turing offers prestigious US employment opportunities, fantastic career prospects, and exclusive developer community support.


  1. How do I prepare for the SQL interview?
    To prepare for your next SQL interview, make sure to study the following topics: 
    1. Relational Keys
    2. Select Queries
    3. Joins
    4. Data Modelling
    5. Fact and Dimension Table Types
    6. Star Schema
    7. Snow Flake Schema

  2. What are the basic questions asked in the SQL interview?
    Here are five basic-level SQL interview questions:
    1. Define database
    2. What is normalization? Define its types.
    3. What is denormalization in SQL?
    4. What are joins in SQL?
    5. What are subsets of SQL?

  3. What are the 5 basic SQL commands?
    There are five types of SQL commands: DDL, DML, DCL, TCL, and DQL.

Join a network of the world's best developers and get long-term remote software jobs with better compensation and career growth.

Apply for Jobs

21 Most Asked SQL Interview Questions for 2023
Article Name
21 Most Asked SQL Interview Questions for 2023
Most Asked SQL Interview Questions: 1. What is a database? 2. What is normalization? Define its types. 3. What is denormalization? 4. What are Joins in SQL?
Publisher Name


  • Ankit Sahu

    Ankit is a writer and editor who has contributed his expertise to Govt of India, Reebok, Abbott, TimesPro, Chitale Bandhu, InsideAIML, Kolte Patil Dev., etc.

Comment (1)

Your email address will not be published

  • Souvik
    Aug 22, 2022 at 8:26 am

    Thank you