Posts

Showing posts from April, 2024

Y-on-Y Growth Rate [Wayfair SQL Interview Question]

 DML Script: DROP TABLE IF EXISTS user_transactions; CREATE TABLE user_transactions ( transaction_id INT, product_id INT, spend int, transaction_date datetime ) INSERT INTO user_transactions VALUES (1341,123424,1500,'12/31/2019'), (1423,123424,1000,'12/31/2020'), (1623,123424,1246,'12/31/2021'), (1322,123424,2145,'12/31/2022'), (1349,123425,1805,'12/31/2019'), (1429,123425,1605,'12/31/2020'), (1629,123425,1045,'12/31/2021'), (1329,123425,2945,'12/31/2022') select * from user_transactions Detailed explanation:  https://youtu.be/_l3YAOB4m5Q

Products Without Duplicates

 DML Script: DROP TABLE IF EXISTS Products; GO CREATE TABLE Products ( Product      VARCHAR(10), ProductCode  VARCHAR(2), PRIMARY KEY (Product, ProductCode) ); GO INSERT INTO Products (Product, ProductCode) VALUES ('Alpha','01'), ('Alpha','02'), ('Bravo','03'), ('Bravo','04'), ('Charlie','02'), ('Delta','01'), ('Echo','EE'), ('Foxtrot','EE'), ('Gulf','GG'); GO Detailed Explanation:  https://youtu.be/3CI2ZNF3VMY

Order Schedule | SQL Interview Question

 DML Script: DROP TABLE IF EXISTS Orders; DROP TABLE IF EXISTS ManufacturingTimes; GO CREATE TABLE  Orders ( OrderID        INTEGER PRIMARY KEY, Product        VARCHAR(100) NOT NULL, DaysToDeliver  INTEGER NOT NULL ); GO CREATE TABLE  ManufacturingTimes ( Product            VARCHAR(100), Component          VARCHAR(100), DaysToManufacture  INTEGER NOT NULL, PRIMARY KEY (Product, Component) ); GO INSERT INTO  Orders (OrderID, Product, DaysToDeliver) VALUES (1, 'Aurora', 7), (2, 'Twilight', 3), (3, 'SunRay', 9); GO INSERT INTO  ManufacturingTimes (Product, Component, DaysToManufacture) VALUES ('Aurora', 'Photon Coil', 7), ('Aurora', 'Filament', 2), ('Aurora', 'Shine Capacitor', 3), ('Aurora', 'Glow Sphere', 1), ('Twilight', 'Photon Coil', 7), ('Twilight', 'Filament', 2), ('SunRay', 'Shine Capacitor', 3), ('SunRay', 'Photon Coil', 1); GO se...

Effective use of ORDER BY Clause with examples | SQL Interview Question

 DML Script: Problem 1:  DROP TABLE IF EXISTS Results CREATE TABLE Results ( [ID] INT, [Status] varchar(100) ) INSERT INTO Results VALUES (1,'Pass'), (2,'Pass'), (3,'Pass'), (4,'Fail'), (5,'Fail'), (6,'Fail')  Problem 2:  DROP TABLE IF EXISTS Place CREATE TABLE Place ( [city] varchar(100) ) INSERT INTO Place VALUES ('Delhi'), --1 ('Mumbai'), --3 ('Chennai'), --2 ('Kolkata'),--4 ('Hyderabad'), ('Pune'), ('Chandigarh'), ('Bangalore'), ('Agra'), ('Patna') Detailed Explanation: 

How to find the average marks of each student separated by comma | SQL Interview question

 DROP TABLE IF EXISTS Scores CREATE TABLE Scores ( [Name] varchar(100), [Marks] nvarchar(1000) ) INSERT INTO Scores VALUES ('Alice', '85,90,88,76,92'), ('Bob', '78,82,80,86,79'), ('Charlie', '62,98,74,65,82'), ('David', '76,84,90,85,79'), ('Eve', '99,88,76,63,95') SELECT * FROM Scores Detailed Explanation: 

How to find all the customers who placed orders on three consecutive days | SQL Scenario questions

  DML Script: DROP TABLE IF EXISTS Orders CREATE TABLE Orders ( customer_name VARCHAR(255), order_date DATETIME ); INSERT INTO Orders (customer_name, order_date) VALUES ('Alice', '2024-04-01'); INSERT INTO Orders (customer_name, order_date) VALUES ('Bob', '2024-04-01'); INSERT INTO Orders (customer_name, order_date) VALUES ('Alice', '2024-04-02'); INSERT INTO Orders (customer_name, order_date) VALUES ('Bob', '2024-04-02'); INSERT INTO Orders (customer_name, order_date) VALUES ('Charlie', '2024-04-03'); INSERT INTO Orders (customer_name, order_date) VALUES ('Alice', '2024-04-03'); INSERT INTO Orders (customer_name, order_date) VALUES ('Alice', '2024-04-04'); INSERT INTO Orders (customer_name, order_date) VALUES ('Bob', '2024-04-04'); INSERT INTO Orders (customer_name, order_date) VALUES ('Charlie', '2024-04-05'); INSER...

Department top 3 salaries | SQL Interview question

 DML Script: DROP TABLE IF EXISTS Employee DROP TABLE IF EXISTS Department Create table  Employee (id int, name varchar(255), salary int, departmentId int) Create table Department (id int, name varchar(255))   insert into Employee (id, name, salary, departmentId) values ('1', 'Joe', '85000', '1') insert into Employee (id, name, salary, departmentId) values ('2', 'Henry', '80000', '2') insert into Employee (id, name, salary, departmentId) values ('3', 'Sam', '60000', '2') insert into Employee (id, name, salary, departmentId) values ('4', 'Max', '90000', '1') insert into Employee (id, name, salary, departmentId) values ('5', 'Janet', '69000', '1') insert into Employee (id, name, salary, departmentId) values ('6', 'Randy', '85000', '1') insert into Employee (id, name, salary, departmentId) values (...

Winning the Lottery | SQL Scenario Interview question

 DML Script:  DROP TABLE IF EXISTS WinningNumbers  CREATE TABLE WinningNumbers  (  [Num] int  )  INSERT INTO WinningNumbers VALUES   (25),(45),(78),(91)  DROP TABLE IF EXISTS Tickets  CREATE TABLE Tickets  ( [TicketID] VARCHAR(max), [Number] INT  )  INSERT INTO Tickets  VALUES  ('A',25),  ('A',45),  ('A',78),  ('A',91),  ('B',25),  ('B',45),  ('B',98),  ('B',91),  ('C',67),  ('C',78),  ('C',91)   SELECT * FROM WinningNumbers  SELECT * FROM Tickets Detailed Explanation:  https://www.youtube.com/watch?v=S90tKLmtuAw

Get the total and approved transactions details | SQL Scenario interview question |Leetcode Medium

 DML Script: DROP TABLE IF EXISTS Transactions; CREATE TABLE Transactions ( id int, country varchar(100), [status] varchar(100), amount int, trans_date datetime ) INSERT INTO Transactions VALUES (1,'India' ,'Approved',1000,'04-08-2024'), (2,'Pakistan' ,'Approved',2000,'03-08-2024'), (3,'Australia' ,'Declined',3000,'01-08-2024'), (10,'Australia' ,'Declined',5000,'01-28-2024'), (4,'USA' ,'Approved',1400,'04-13-2024'), (5,'India' ,'Declined',1500,'09-28-2024'), (6,'USA' ,'Approved',1070,'01-17-2024'), (7,'India' ,'Approved',5000,'04-26-2024'), (8,'UK' ,'Declined',2500,'04-28-2023') SELECT * FROM Transactions Detailed Explanation: https://www.youtube.com/watch?v=x1apIG0MKDE