12 SQL Developer interview questions and answers

Find and hire talent with confidence. Prepare for your next interview. The right questions can be the difference between a good and great work relationship.

Trusted by


What is a Relational Database Management System (RDBMS), and which one are you most familiar with?

A RDBMS is a system that organizes data into tables called relations, which are further organized into columns (fields) and rows (often called tuples). The relational model allows data to be queried in a nearly unlimited number of ways, making it great for sorting through large volumes of data. It’s important to pick a SQL developer who’s experienced with the particular set of web technologies you plan to use to support your app. Common SQL dialects include PL/SQL for Oracle, T-SQL for MS SQL, and JET SQL for MS Access. Look up any particular dialects used for your chosen RDBMS.

What are the standard SQL commands every SQL developer should know?

The basic SQL commands can be organized into the following categories:

  • Data Manipulation Language (DML)
    • INSERT: Creates records. The “Create” in CRUD.
    • SELECT: Retrieves records. The “Read” in CRUD.
    • UPDATE: Modifies records. The “Update” in CRUD.
    • DELETE: Deletes records. The “Delete” in CRUD.
  • Data Definition Language (DDL)
    • CREATE: Creates a new object.
    • ALTER: Alters an existing object.
    • DROP: Deletes an existing object.
  • Data Control Language: (DCL)
    • GRANT: Grants privileges to users.
    • REVOKE: Revokes privileges previously granted to a user.

In practice however, you should be aware that your typical developer is most likely going to answer this question with CRUD (Create, Read, Update, and Delete), the four essential database operations for database manipulation. Bonus points if they also mention some of the others.

Can you explain how a RDBMS organizes data into tables and fields?

A table is composed of columns (fields) and rows (records or tuples). Each record can be considered as an individual entry that exists within the table and contains multiple fields. For example, a data entry (record) for a customer might consist of the fields: ID, name, address, and purchase.

What is a NULL value and how does it differ from a zero value?

The easiest way to explain this difference is to recognize that zero is a value representing the number zero. NULL is a non-value or a placeholder for data that is not currently known or specified. The result of any operation on a NULL value, as in arithmetic, will be undefined.

What are SQL Constraints?

Constraints are rules you can place on columns or tables to limit the type of data that can be entered into a table. This prevents errors and can improve the accuracy and reliability of the database as a whole. Common constraints include:

  • NOT NULL: Prevents a column from having a NULL value.
  • DEFAULT: Specifies a default value for a column where none is specified.
  • PRIMARY KEY: Uniquely identifies rows/records within a database table.
  • FOREIGN KEY: Uniquely identifies rows/records from external database tables.
  • UNIQUE: Ensures all values are unique.
  • CHECK: Checks values within a column against certain conditions.
  • INDEX: Quickly creates and retrieves data from a database.

Name four ways to maintain data integrity within a RDBMS.

When it comes to storing data accurately, consistently, and reliably within a RDBMS, there are four general types of data integrity that you can implement:

  • Entity (Row) Integrity: Avoids duplicate rows in tables.
  • Domain (Column) Integrity: Restricts the type, format, or range of values to enforce valid entries.
  • Referential Integrity: Ensures rows used by other records cannot be deleted.
  • User-Defined Integrity: Enforces rules set by the user that do not fall into the other categories.

What is the purpose of database normalization and how does it work?

The primary purpose of normalization is to make databases more efficient by eliminating redundant data and ensuring data dependencies are coherent. Storing data logically and efficiently reduces the amount of space the database takes up and improves performance. The set of guidelines used to achieve normalization are called normal forms, numbered from 1NF to 5NF. A form can be thought of as a best-practice format for laying out data within a database.

Explain the difference between an inner join and outer join using an example.

An inner join is when you combine rows from two tables and create a result set based on the predicate, or joining condition. The inner join only returns rows when it finds a match in both tables. An outer join will also return unmatched rows from one table if it is a single outer join, or both tables if it is a full outer join. A solid example of this will clearly illustrate the difference and demonstrate how well the developer understands joins.

What is wrong with the SQL query below?

SELECT UserId, AVG(Total) AS AvgOrderTotal
FROM Invoices
HAVING COUNT(OrderId) >= 1

The issue here is that there must be a GROUP BY clause here. This query will get the average order amount by customer (UserId) where the customer has at least 1 order. The correct query is listed below:

SELECT UserId, AVG(Total) AS AvgOrderTotal
FROM Invoices
GROUP BY Userid
HAVING COUNT(OrderId) >= 1

Consider the two tables below. Write a query that retrieves all employees recruited by John Do. How would you write a second query to retrieve all employees that were not recruited by any recruiter?

Employee Table

Id Name RecruitedBy
1 Jean Grayson NULL
2 Paul Smith 1
3 John Do NULL
4 Alex Lee 3
5 Lisa Kim 3
6 Bob Thompson NULL

Recruiter Table

Id Name
1 Bob Smith
2 Paul Allen
3 John Do

The following query will retrieve all recruiters recruited by John Do. SELECT Employee.

Name FROM Employee
JOIN Recruiter ON Employee.RecruitedBy = Recruiter.Id
WHERE RecruitedBy = 3

To retrieve all employees who were not recruited by anyone in the recruiter table, you could use the following query:

SELECT Employee.Name FROM Employee
JOIN Recruiter ON Employee.RecruitedBy = Recruiter.Id
WHERE RecruitedBy Is Null

Write a SQL query to find the 10th tallest peak (“Elevation”) from a “Mountain” table. Assume that there are at least 10 records in the Mountain table. Explain your answer.

This can be accomplished using the “TOP” keyword as follows.

SELECT TOP (1) Elevation FROM
(
  SELECT DISTINCT TOP (10) Elevation FROM Mountain ORDER BY Elevation DESC
) AS Mt ORDER BY Elevation

The first query takes the top 10 mountains by elevation in the table and lists them in descending order, with the tallest mountain at the top of the list. However, since we want the 10th tallest mountain, the second query, “ AS Mount ORDER BY Elevation”, promptly reorders the list of 10 in ascending order before the top record is selected. Note that not all databases support the “TOP” keyword, so answers may vary. Another possible solution that follows a similar logic for MySQL or PostreSQL is detailed below, this time using the “LIMIT” keyword.

SELECT Elevation FROM
(
  SELECT DISTINCT Elevation FROM Mountain ORDER BY Elevation DESC LIMIT 10
) AS Mt ORDER BY Elevation LIMIT 1;

Given two tables created in the code block below, how would you write a query to fetch values in table “fibonacci” that are not in table “prime” without using the “NOT” keyword? Can you name a database technology where this is not possible?

create table fibonacci(id numeric);
create table prime(id numeric);

insert into fibonacci(id) values
    (2),
    (3),
    (5),
    (8),
    (13),
    (21);

insert into prime(id) values
    (2),
    (3),
    (5),
    (13);

SQLite, PostgreSQL, and SQL Server all support the ever useful “except” keyword which can be employed as detailed below

select * from fibonacci
except
select * from prime;

A popular database technology that does not support “except” is MySQL, which is why it must use the “not in” keyword. Note that for Oracle, the “minus” keyword must be used instead.

ar_FreelancerAvatar_altText_292
ar_FreelancerAvatar_altText_292
ar_FreelancerAvatar_altText_292

4.8/5

Rating is 4.8 out of 5.

clients rate SQL Developers based on 10K+ reviews

Hire SQL Developers

SQL Developers you can meet on Upwork

  • $25 hourly
    Aaron A.
    • 5.0
    • (13 jobs)
    Accra, GREATER ACCRA
    vsuc_fltilesrefresh_TrophyIcon SQL
    Git
    Data Entry
    ArcGIS
    QGIS
    Topic Research
    Docker
    FastAPI
    Tableau
    Python
    Machine Learning Model
    Google Sheets
    Microsoft Power BI
    Data Analysis
    ✅Top Rated IBM Certified Data Scientist with 💯% Job Success Score Hi there! 👋 My name is Aaron, an experienced Data Scientist/Analyst and a GIS expert with over 4 years of experience. My Services: • Data Analysis (MS Excel, SQL, Python) • Data Visualization (Power BI, Tableau, MS Excel) • Time Series Forecasting (Univariate and Multivariate modeling) • Machine Learning Classification and Prediction • Machine Learning Model Deployment (FastAPI, Streamlit, Gradio) • Web Scrapping/Web Research and Data Management in Google Sheets • Online Data Collection (Kobo Tools, Collector for ArcGIS) • Virtual Assistantship with MS Excel. • Online Mapping, Cartography, and ArcGIS StoryMaps Creation • GIS Analysis with ArcGIS and QGIS • Academic Research Data Analysis (STATA and SPSS) • Data Science/Analytics Tutoring My Average Rating: ⭐⭐⭐⭐⭐ Achievements: ✅Analyzed and predicted customer churn in a forex start-up in Germany. Informed us on where to concentrate our advertisements. lead to over 3000 stable customers within the period of 8 months. ✅Predicted which advertisement channel has the most impact on revenue. This led to a 40% cut in costs and increased revenue by 60%. ✅Collaborated with the GIS department of Ghana Cocoabod to mitigate the spread of the cocoa- swollen Shoot Virus through analytics and visualization. Contributes to effective and efficient monitoring of rehabilitation activities on and off-farm, leading to over 50% improved cocoa bean yield. ✅Discovered insights on the impacts of fertilization in cocoa on its productivity for the period of 2016 through 2020 through data analytics and visualization. Came out with clear map-outs for optimized distribution of fertilizer and other inputs to cocoa farmers which cut down on distribution and application costs by 50%. With expertise in a wide range of tools and statistical packages, I am dedicated to leveraging Data Science and Artificial Intelligence to drive growth and success for my clients. Let's talk about your data needs, be it spatial or attribute data! Thank you!
  • $55 hourly
    Mounika C.
    • 5.0
    • (1 job)
    Ayer, MA
    vsuc_fltilesrefresh_TrophyIcon SQL
    Python
    Data Collection
    Data Cleaning
    Data Analysis
    Microsoft Excel
    Tableau
    Microsoft Power BI
    Around 8 years of expertise in IT, with knowledge of Agile Methodologies and the full Software Development Life Cycle, which includes requirement analysis, design, development, testing, and implementation. Vast knowledge of Microsoft SQL Server and MS Power BI reporting tools. Proven track record of interacting with stakeholders, SMEs, and end users to better comprehend, evaluate, convey, and validate requirements. Proficient in creating multiple kinds of data visualization dashboards. Complete understanding of all facets of the Software Development Life Cycle (SDLC) Experience with SQL script (procedures, functions, sequence, DB triggers), CE functions, Virtual Data Model (VDM), Core Data Services (CDS), DDL, DML, DB views, synonyms, indexes, temporary column tables, table types, and partitioning. Knowledge of information models, including decision tables, hierarchies, attribute views, analytical views, and calculation views based on SQL scripts. High availability, referential, text joins and scaling, scoping, and Using Query Editor to establish connections to various data sources and perform data model construction. Making new Measures, Calculated Columns, and Calculated Tables. Expertise in creating bespoke reports using MS Power BI, as well as a variety of tabular, matrix, ad hoc, drill down, parameterized, cascade, conditional, table, chart, and sub reports. Establishing connections between tables from various data sources. Creating dashboards and sharing them with business users using Power BI Service. Using DAX formulas to create variables such as Previous Month, Previous Quarter, and so on additionally, utilizing geographic data to create dynamic visualizations. Created reports by importing data into SQL Server in Power BI via Azure Data Link (ADL)
  • $95 hourly
    Leigh S.
    • 5.0
    • (14 jobs)
    Morrisville, NC
    vsuc_fltilesrefresh_TrophyIcon SQL
    Web Testing
    Adobe ColdFusion
    ASP.NET
    WordPress Multisite
    Web Design
    Adobe Photoshop
    PHP
    MySQL
    WordPress
    I triple majored in engineering at NCSU with a concentration in programming. I later followed with a Masters in Business with a concentration in small business entrepreneurship. I've worked in programming and project management for almost 20 years and have worked with some of the largest SEO agencies in the world. I have a lot of experience with WordPress as well as many other platforms and coding languages and feel confident I could build whatever you need. These experiences make me qualified to lead projects of any size to completion and ensure client satisfaction. Please feel free to take a look at my portfolio. I welcome the opportunity to speak about any project type and the possibility of working together in the future.
Want to browse more talent? Sign up

Join the world’s work marketplace

Find Talent

Post a job to interview and hire great talent.

Hire Talent
Find Work

Find work you love with like-minded clients.

Find Work