Owens & Minor employees use SQL to analyze medical supply chain data, allowing them to identify specific purchasing trends and forecast demand for various medical supplies. It also helps them optimize their inventory management, ensuring that they have the right products available when needed, this is the reason why Owens & Minor includes SQL coding questions in interviews for Data Analyst, Data Science, and BI jobs.
So, to help you prepare for the Owens & Minor SQL interview, we've collected 8 Owens & Minor SQL interview questions – can you solve them?
Owens and Minor is a healthcare services company involved in distribution of medical and surgical supplies globally. They would be interested to understand how their products perform over time. A possible interview question could be to write a SQL query to calculate the ratio of each product's monthly sales to the total sales for that month. This can be achieved using a window function.
Let's create an imaginary table for Owens & Minor. This table contains the product id for each product, the quantity sold, and the date it was sold.
sale_id | sale_date | product_id | quantity_sold |
---|---|---|---|
1 | 2022-09-01 | 111 | 10 |
2 | 2022-09-01 | 112 | 20 |
3 | 2022-09-02 | 111 | 30 |
4 | 2022-09-02 | 112 | 40 |
5 | 2022-09-03 | 111 | 50 |
6 | 2022-09-03 | 112 | 60 |
7 | 2022-10-01 | 111 | 70 |
8 | 2022-10-01 | 112 | 80 |
9 | 2022-10-02 | 111 | 90 |
10 | 2022-10-02 | 112 | 100 |
month_yyyy_mm | product_id | product_sales_ratio |
---|---|---|
2022-09 | 111 | 0.428571429 |
2022-09 | 112 | 0.571428571 |
2022-10 | 111 | 0.44 |
2022-10 | 112 | 0.56 |
Here's the SQL query to perform this calculation:
This query first groups the sales data by month and product_id, then calculates the total quantity sold for each product in each month.
After that, it uses a window function to calculate the total quantity sold in each month, this function is .
Finally, it calculates the ratio of each product's monthly sales to the total sales for that month.
To practice a similar window function question on DataLemur's free online SQL coding environment, try this Google SQL Interview Question:
Imagine there was a table of Owens & Minor employee salaries. Write a SQL query to find the employees who earn more than their direct manager.
employee_id | name | salary | department_id | manager_id |
---|---|---|---|---|
1 | Emma Thompson | 3800 | 1 | |
2 | Daniel Rodriguez | 2230 | 1 | 10 |
3 | Olivia Smith | 8000 | 1 | 8 |
4 | Noah Johnson | 6800 | 2 | 8 |
5 | Sophia Martinez | 1750 | 1 | 10 |
8 | William Davis | 7000 | 2 | NULL |
10 | James Anderson | 4000 | 1 | NULL |
employee_id | employee_name |
---|---|
3 | Olivia Smith |
This is the output because Olivia Smith earns $8,000, surpassing her manager, William Davis who earns 7,800.
Test your SQL query for this problem directly within the browser on DataLemur:
First, we perform a SELF-JOIN where we treat the first table () as the managers' table and the second table () as the employees' table. Then we use a clause to filter the results, ensuring we only get employees whose salaries are higher than their manager's salary.
If the solution above is confusing, you can find a detailed solution here: Well Paid Employees.
The constraint is used to enforce rules on the data in a specific column. If a row is inserted or updated with data that does not follow the constraint's rule, the operation will fail.
For example, say you had a marketing analytics database that stores ad campaign data from Owens & Minor's Google Analytics account.
Here's what some constraints could look like:
The constraint is used in the above example to make sure that the and fields contain only positive values. This helps to maintain the validity and integrity of the data in the context of ad campaigns.
The constraint can also be used to enforce other specific conditions on data. For example, you can use it to ensure that the for each ad campaign is earlier than the .
Owens & Minor is a healthcare logistics company dealing in medical and surgical supplies. A key component of their business is efficient inventory management to ensure they are always well-stocked to serve their customers. As a part of their system, their inventory database needs to keep track of various warehouses, the products they store, and the quantity of these products.
Given the tables , , and , write a SQL query that shows the total quantity of each product in all warehouses. You're to consider warehouses with id 1 to 5 for this problem.
warehouse_id | warehouse_name | location |
---|---|---|
1 | Warehouse A | Location A |
2 | Warehouse B | Location B |
3 | Warehouse C | Location C |
4 | Warehouse D | Location D |
5 | Warehouse E | Location E |
product_id | product_name | product_type |
---|---|---|
1001 | Product A | Type A |
1002 | Product B | Type B |
1003 | Product C | Type C |
1004 | Product D | Type D |
1005 | Product E | Type E |
warehouse_id | product_id | quantity |
---|---|---|
1 | 1001 | 100 |
1 | 1002 | 150 |
2 | 1001 | 200 |
3 | 1003 | 300 |
4 | 1004 | 400 |
5 | 1005 | 500 |
This written query joins the and tables on , and then groups the result by . The aggregate function is used to get the total quantity of each product across the warehouses with id from 1 to 5. This ensures that we have a sum of the quantities of every product across these particular warehouses.
The operator combines the results from multiple statements into a single result set.
Here's an example of using the operator to combine the results of two statements that retrieve data from tables of Owens & Minor's Facebook ads and their Google ads:
This statement would return a combined result set of both Facebook and Google ads that have a spend greater than $200. The result set would include the following columns: , , , , , and .
Note that the two statements within the must have the same number of columns, and the columns must have similar data types. In this example, both statements have the same number of columns, and the data types of the columns are all compatible.
At Owens & Minor, a healthcare solutions company dealing with medical supplies and pharmaceuticals, your task is to calculate the average cost of each medical item over time. You're given a table which contains , , and for each month. Write a SQL query to find the average cost of each item per month.
item_id | item_name | date | cost |
---|---|---|---|
1001 | Surgical Mask | 01/02/2022 | 0.10 |
1002 | Hand Sanitizer | 01/02/2022 | 5.20 |
1001 | Surgical Mask | 02/02/2022 | 0.15 |
1003 | Disinfectant Wipe | 02/02/2022 | 3.50 |
1002 | Hand Sanitizer | 03/02/2022 | 5.50 |
1001 | Surgical Mask | 03/02/2022 | 0.12 |
In PostgreSQL,
This query uses the function in SQL to calculate the average cost over time. The clause is used to group the results for each item per month, and the function returns the month part of the date. This information can be used to analyze fluctuations in cost over time, which can be very useful for business decisions.
month | item_id | avg_cost |
---|---|---|
1 | 1001 | 0.10 |
1 | 1002 | 5.20 |
2 | 1001 | 0.15 |
2 | 1003 | 3.50 |
3 | 1001 | 0.12 |
3 | 1002 | 5.50 |
To practice a very similar question try this interactive Amazon Average Review Ratings Question which is similar for calculating average values over time or this Alibaba Compressed Mean Question which is similar for dealing with items and their costs.
In a database, an index is a data structure that improves the speed of data retrieval operations on a database table at the cost of additional writes and the use of more storage space to maintain the index data structure.
There are several types of indexes that can be used in a database:
Owens & Minor, a healthcare logistics company, has launched a new digital platform to sell their medical products. They are running online marketing campaigns and they want to assess the success of these campaigns by looking at click-through rates (CTR) on their ads and conversion rates (CR) from viewing a product detail page to adding the product to the shopping cart.
Consider two tables - and .
table records each ad click by a visitor.
ad_id | ad_campaign | user_id | click_time |
---|---|---|---|
101 | campaign1 | 560 | 2022-07-14 10:00 |
102 | campaign1 | 512 | 2022-07-15 11:30 |
105 | campaign2 | 560 | 2022-07-14 10:10 |
108 | campaign2 | 473 | 2022-07-15 16:15 |
table records each time a product is viewed and added to cart by a user.
product_id | ad_id | view_time | add_to_cart_time |
---|---|---|---|
201 | 101 | 2022-07-14 10:15 | 2022-07-14 10:20 |
205 | 105 | 2022-07-15 10:15 | 2022-07-15 10:23 |
207 | 108 | 2022-07-15 19:30 | null |
210 | 105 | 2022-07-15 10:35 | 2022-07-15 10:38 |
Write a PostgreSQL query that calculates an overall CTR (the number of unique ads clicked over the number of ads displayed) and an overall CR (the number of products added to the cart over the number of unique products viewed after ad click) per campaign.
This query first pulls together the number of ad views and clicks by campaign, then the same for product views and conversions. The final pulls these two temporary tables together and calculates the CTR and CR as the ratio of clicks to shows and additions to cart to views, respectively.
To solve another question about calculating rates, solve this SQL interview question from TikTok within DataLemur's online SQL coding environment:
The best way to prepare for a Owens & Minor SQL interview is to practice, practice, practice. Beyond just solving the earlier Owens & Minor SQL interview questions, you should also solve the 200+ SQL Interview Questions on DataLemur which come from companies like FAANG (FB, Apple, Amazon, Netflix, Google).
](https://datalemur.com/questions)
Each exercise has hints to guide you, fully explained answers along with a discussion board to see how others solved it and best of all, there is an online SQL coding environment so you can easily right in the browser your SQL query and have it executed.
To prep for the Owens & Minor SQL interview it is also helpful to practice interview questions from other healthcare and pharmaceutical companies like:
In case your SQL foundations are weak, forget about jumping right into solving questions – strengthen your SQL foundations with this free SQL tutorial.
This tutorial covers SQL concepts such as creating pairs via SELF-JOINs and math functions in SQL – both of these come up often in Owens & Minor SQL interviews.
In addition to SQL interview questions, the other types of questions covered in the Owens & Minor Data Science Interview include:
To prepare for Owens & Minor Data Science interviews read the book Ace the Data Science Interview because it's got:
Also focus on the behavioral interview – prep for it with this guide on acing behavioral interviews.