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.
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.
SQL Developer Hiring Resources
Explore talent to hire Learn about cost factors Get a job description templateSQL Developers you can meet on Upwork
Fabricio G.
SQL Developer
SQL
- Microservice
- PostgreSQL
- JavaScript
- Next.js
- Firebase
- NoSQL Database
- Node.js
- MySQL
- TypeScript
- Docker
- ExpressJS
- Tailwind CSS
- Vue.js
- React
- three.js
Hello, I'm a Full Stack developer with about 10 years of experience specializing in MERN stack applications. I’m effective at developing strong UI’s that achieve will your objectives. Well-versed in using React, Redux, GraphQL, Typescript as well as other resources to accomplish design requirements. Skilled creator of efficient code and exciting user experiences. Eager to elevate ongoing development projects or create novel software solutions geared towards driving increased user-ship. I work with you to test every feature, update designs, integrate third-party services, add payment solutions, and ensure the best user experience. I've led the development of complex dashboards structured for e-commerce and service-based businesses. I've received positive feedback from users and have helped clients multiply their revenue. I can assure good communication, timely completion, and flexible availability. I attribute my success to my clients, so my goal is always to keep them satisfied and happy with the work I do. I am committed to using the latest best practices in web development to ensure that your website is easy to maintain, scale, and upgrade in the future. Here are the technologies I regularly use: - Front End: TypeScript, JavaScript (ES5 and ES6) React, Next.js, Redux, Thunk, Saga, React Hooks, React Native Vue, Vuex, Vuetify, Nuxt jQuery, Bootstrap, MUI, Ant Design CSS, SCSS, Tailwind CSS, Chakra UI Three.js - Back End: Node.js and Express Framework PHP, Laravel, Laravel Nova Python, Django, Django REST framework, Flask MongoDB, Mongoose, MySQL, PostgreSQL, SQLite API Integrations (Stripe, PayPal, Spotify, YouTube, Twilio, or any API you need integrated) GraphQL Firebase - DevOps: Vercel AWS EC2, SES, or S3 services Nginx, Certbot, PM2 Ubuntu servers Github Docker Kubernetes Skaffold I have experience deploying apps to various cloud providers, including Amazon AWS, Heroku, and Digital Ocean. If you're looking to create a web application for you or your business, you've come to the right place. Let me know if we can work on something together.
...Leigh S.
SQL Developer
SQL
- WordPress
- Web Design
- Adobe ColdFusion
- ASP.NET
- WordPress Multisite
- PHP
- MySQL
- Web Testing
- Adobe Photoshop
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.
...Stephanie D.
SQL Developer
SQL
- QuickBase
- QuickBooks Online API
- Intuit QuickBooks
- Database Design
- Database Modeling
- Database Testing
- Database Management
- JavaScript
- PHP
I work full-time as an Operations Manager to make processes more efficient. I've helped eliminate countless spreadsheets, merged data from multiple systems into a structure I helped design & build, written custom report pages, set up automatically triggered notifications, scheduled report deliveries, and much more. I want to empower your business not only to save time & money by automating manual processes, but also to make more informed decisions by providing clear, concise reporting. I love what I do. It's very rewarding to be able to say "Yes, of course we can make that better!" and also be able to deliver on that promise quickly. Using a low-maintenance database platform called Quick Base, I'm able to do this in a matter of weeks rather than months. Additionally, I would be more than happy to train a member of your staff on how to maintain & make updates to the database--no programming knowledge required, just a computer savvy employee will do the trick! Please read our company's case study/success story with Quick Base if you're interested. I will place a link in the portfolio section. Thanks for reading, hope to speak with you soon!
...Join the world’s work marketplace

Post a job to interview and hire great talent.
Hire Talent