You can use SQL to:
β‘οΈ This returns all records from the table. (Note: The
π Real-life Analogy:
Think of RDBMS as Excel β rows are records, columns are fields.
SQL is the language to ask questions like:
- Who are my customers from Delhi?
- What is the total number of orders last month?
π― Task for You Today:
β Install MySQL or use an online SQL editor (like SQLFiddle)
β Learn basic syntax: SELECT, FROM
β Try creating a sample table and selecting data
π¬ Tap β€οΈ for Part-2
SELECT * FROM Customers; β‘οΈ This returns all records from the table. (Note: The
* here is a wildcard meaning "all columns").π Real-life Analogy:
Think of RDBMS as Excel β rows are records, columns are fields.
SQL is the language to ask questions like:
- Who are my customers from Delhi?
- What is the total number of orders last month?
π― Task for You Today:
β Install MySQL or use an online SQL editor (like SQLFiddle)
β Learn basic syntax: SELECT, FROM
β Try creating a sample table and selecting data
π¬ Tap β€οΈ for Part-2
β€19π1
β
SQL Basics: Part-2 (SQL Commands) π§ πΎ
1οΈβ£ SELECT β Pull data from a table
_Syntax:_
_Example:_
To get _everything_ use:
2οΈβ£ WHERE β Filter specific rows
_Syntax:_
_Example:_
_Operators you can use:_
β’ =, !=, >, <, >=, <=
β’ LIKE (pattern match)
β’ BETWEEN, IN, IS NULL
3οΈβ£ ORDER BY β Sort results
_Syntax:_
_Example:_
4οΈβ£ LIMIT β Restrict number of results
_Syntax:_
_Example:_
π₯ _Quick Practice Task:_
Write a query to:
β’ Get top 10 highest-paid employees in 'Marketing'
β’ Show name, salary, and department
β’ Sort salary high to low:
β SQL Interview QA πΌπ§
Q1. What does the SELECT statement do in SQL?
_Answer:_
It retrieves data from one or more columns in a table.
Q2. How would you fetch all the columns from a table?
_Answer:_
Use SELECT * to get every column.
Q3. Whatβs the difference between WHERE and HAVING?
_Answer:_
β’ WHERE filters rows _before_ grouping
β’ HAVING filters _after_ GROUP BY
You use WHERE with raw data, HAVING with aggregated data.
Q4. Write a query to find all products with price > 500.
_Answer:_
Q5. How do you sort data by two columns?
_Answer:_
Use ORDER BY col1, col2.
Q6. What does LIMIT 1 do in a query?
_Answer:_
It returns only the _first row_ of the result.
Q7. Write a query to get names of top 5 students by marks.
_Answer:_
Q8. Can you use ORDER BY without WHERE?
_Answer:_
Yes. ORDER BY works independently. It sorts all data unless filtered with WHERE.
π‘ _Pro Tip:_
In interviews, they may ask you to _write queries live_ or explain the _output_ of a query. Stay calm, read the structure carefully, and _think in steps_.
DOUBLE TAP β€οΈ FOR MORE
1οΈβ£ SELECT β Pull data from a table
_Syntax:_
SELECT column1, column2 FROM table_name;
_Example:_
SELECT name, city FROM customers;
To get _everything_ use:
SELECT * FROM customers;
2οΈβ£ WHERE β Filter specific rows
_Syntax:_
SELECT columns FROM table_name WHERE condition;
_Example:_
SELECT name FROM customers WHERE city = 'Delhi';
_Operators you can use:_
β’ =, !=, >, <, >=, <=
β’ LIKE (pattern match)
β’ BETWEEN, IN, IS NULL
3οΈβ£ ORDER BY β Sort results
_Syntax:_
SELECT columns FROM table_name ORDER BY column ASC|DESC;
_Example:_
SELECT name, age FROM employees ORDER BY age DESC;
4οΈβ£ LIMIT β Restrict number of results
_Syntax:_
SELECT columns FROM table_name LIMIT number;
_Example:_
SELECT * FROM products LIMIT 5;
π₯ _Quick Practice Task:_
Write a query to:
β’ Get top 10 highest-paid employees in 'Marketing'
β’ Show name, salary, and department
β’ Sort salary high to low:
SELECT name, salary, department
FROM employees
WHERE department = 'Marketing'
ORDER BY salary DESC
LIMIT 10;
β SQL Interview QA πΌπ§
Q1. What does the SELECT statement do in SQL?
_Answer:_
It retrieves data from one or more columns in a table.
SELECT name, city FROM customers;
Q2. How would you fetch all the columns from a table?
_Answer:_
Use SELECT * to get every column.
SELECT * FROM orders;
Q3. Whatβs the difference between WHERE and HAVING?
_Answer:_
β’ WHERE filters rows _before_ grouping
β’ HAVING filters _after_ GROUP BY
You use WHERE with raw data, HAVING with aggregated data.
Q4. Write a query to find all products with price > 500.
_Answer:_
SELECT * FROM products WHERE price > 500;
Q5. How do you sort data by two columns?
_Answer:_
Use ORDER BY col1, col2.
SELECT name, department FROM employees ORDER BY department ASC, name ASC;
Q6. What does LIMIT 1 do in a query?
_Answer:_
It returns only the _first row_ of the result.
SELECT * FROM customers ORDER BY created_at DESC LIMIT 1;
Q7. Write a query to get names of top 5 students by marks.
_Answer:_
SELECT name, marks
FROM students
ORDER BY marks DESC
LIMIT 5;
Q8. Can you use ORDER BY without WHERE?
_Answer:_
Yes. ORDER BY works independently. It sorts all data unless filtered with WHERE.
π‘ _Pro Tip:_
In interviews, they may ask you to _write queries live_ or explain the _output_ of a query. Stay calm, read the structure carefully, and _think in steps_.
DOUBLE TAP β€οΈ FOR MORE
β€14π1
β
SQL Basics: Part-3: Filtering with SQL Operators
Filtering helps you narrow down results based on specific conditions.
Letβs explore some powerful SQL operators:
1οΈβ£ IN β Match multiple values
Syntax:
Example:
Get customers from specific cities:
2οΈβ£ OR β Match any of multiple conditions
Syntax:
Example:
Get employees from HR or Finance:
3οΈβ£ AND β Match all conditions
Syntax:
Example:
Get Sales employees earning more than 60,000:
4οΈβ£ NOT β Exclude specific values or conditions
Syntax:
Example:
Get all products except Electronics:
5οΈβ£ BETWEEN β Match a range of values (inclusive)
Syntax:
Example:
Get employees with salary between 50,000 and 100,000:
π₯ Quick Practice Task:
Write a query to:
β’ Get all employees in 'IT' or 'HR'
β’ Who earn more than 50,000
β’ Show name, department, and salary:
β SQL Filtering Interview QA πΌπ§
Q1. Whatβs the difference between AND and OR?
A:
β’ AND requires all conditions to be true
β’ OR requires at least one condition to be true
Q2. Can you combine AND and OR in one query?
A: Yes, but use parentheses to control logic:
Q3. What does NOT IN do?
A: Excludes rows with values in the list:
Q4. Can BETWEEN be used with dates?
A: Absolutely!
Q5. Whatβs the difference between IN and multiple ORs?
A: IN is cleaner and more concise:
-- Instead of:
-- Use:
π‘ Pro Tip:
When combining multiple filters, always use parentheses to avoid unexpected results due to operator precedence.
SQL Roadmap
DOUBLE TAP β€οΈ FOR MORE
Filtering helps you narrow down results based on specific conditions.
Letβs explore some powerful SQL operators:
1οΈβ£ IN β Match multiple values
Syntax:
SELECT columns FROM table_name WHERE column IN (value1, value2,...);
Example:
Get customers from specific cities:
SELECT name, city FROM customers
WHERE city IN ('Delhi', 'Mumbai', 'Chennai');
2οΈβ£ OR β Match any of multiple conditions
Syntax:
SELECT columns FROM table_name WHERE condition1 OR condition2;
Example:
Get employees from HR or Finance:
SELECT name FROM employees
WHERE department = 'HR' OR department = 'Finance';
3οΈβ£ AND β Match all conditions
Syntax:
SELECT columns FROM table_name WHERE condition1 AND condition2;
Example:
Get Sales employees earning more than 60,000:
SELECT name FROM employees
WHERE department = 'Sales' AND salary > 60000;
4οΈβ£ NOT β Exclude specific values or conditions
Syntax:
SELECT columns FROM table_name WHERE NOT condition;
Example:
Get all products except Electronics:
SELECT * FROM products
WHERE NOT category = 'Electronics';
5οΈβ£ BETWEEN β Match a range of values (inclusive)
Syntax:
SELECT columns FROM table_name WHERE column BETWEEN value1 AND value2;
Example:
Get employees with salary between 50,000 and 100,000:
SELECT name, salary FROM employees
WHERE salary BETWEEN 50000 AND 100000;
π₯ Quick Practice Task:
Write a query to:
β’ Get all employees in 'IT' or 'HR'
β’ Who earn more than 50,000
β’ Show name, department, and salary:
SELECT name, department, salary
FROM employees
WHERE department IN ('IT', 'HR')
AND salary > 50000;
β SQL Filtering Interview QA πΌπ§
Q1. Whatβs the difference between AND and OR?
A:
β’ AND requires all conditions to be true
β’ OR requires at least one condition to be true
Q2. Can you combine AND and OR in one query?
A: Yes, but use parentheses to control logic:
SELECT * FROM employees
WHERE (department = 'Sales' OR department = 'Marketing')
AND salary > 60000;
Q3. What does NOT IN do?
A: Excludes rows with values in the list:
SELECT * FROM customers
WHERE city NOT IN ('Delhi', 'Mumbai');
Q4. Can BETWEEN be used with dates?
A: Absolutely!
SELECT * FROM orders
WHERE order_date BETWEEN '2025-01-01' AND '2025-01-31';
Q5. Whatβs the difference between IN and multiple ORs?
A: IN is cleaner and more concise:
-- Instead of:
WHERE city = 'A' OR city = 'B' OR city = 'C';
-- Use:
WHERE city IN ('A', 'B', 'C');π‘ Pro Tip:
When combining multiple filters, always use parentheses to avoid unexpected results due to operator precedence.
SQL Roadmap
DOUBLE TAP β€οΈ FOR MORE
β€11
β
SQL Functions ππ§
SQL functions are built-in operations used to manipulate, calculate, and transform data. They help in summarizing results, formatting values, and applying logic in queries.
1οΈβ£ Aggregate Functions
These return a single result from a group of rows.
β’ COUNT() β Counts rows
β’ SUM() β Adds values
β’ AVG() β Returns average
β’ MAX() / MIN() β Highest or lowest value
2οΈβ£ String Functions
β’ UPPER() / LOWER() β Change case
β’ CONCAT() β Join strings
β’ SUBSTRING() β Extract part of a string
β’ LENGTH() β Length of string
3οΈβ£ Date Functions
β’ CURRENT_DATE / NOW() β Current date/time
β’ DATE_ADD() / DATE_SUB() β Add or subtract days
β’ DATEDIFF() β Difference between dates
β’ YEAR() / MONTH() / DAY() β Extract parts
4οΈβ£ Mathematical Functions
β’ ROUND() β Round decimals
β’ CEIL() / FLOOR() β Round up/down
β’ ABS() β Absolute value
5οΈβ£ Conditional Function
β’ COALESCE() β Returns first non-null value
β’ CASE β If/else logic in SQL
π― Use These Functions To:
β’ Summarize data
β’ Clean and format strings
β’ Handle nulls
β’ Calculate time differences
β’ Add logic into queries
π¬ Tap β€οΈ for more!
SQL functions are built-in operations used to manipulate, calculate, and transform data. They help in summarizing results, formatting values, and applying logic in queries.
1οΈβ£ Aggregate Functions
These return a single result from a group of rows.
β’ COUNT() β Counts rows
SELECT COUNT(*) FROM employees;β’ SUM() β Adds values
SELECT SUM(salary) FROM employees WHERE department = 'IT';β’ AVG() β Returns average
SELECT AVG(age) FROM customers;β’ MAX() / MIN() β Highest or lowest value
SELECT MAX(salary), MIN(salary) FROM employees;2οΈβ£ String Functions
β’ UPPER() / LOWER() β Change case
SELECT UPPER(name), LOWER(city) FROM customers;β’ CONCAT() β Join strings
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM users;β’ SUBSTRING() β Extract part of a string
SELECT SUBSTRING(name, 1, 3) FROM products;β’ LENGTH() β Length of string
SELECT LENGTH(description) FROM products;3οΈβ£ Date Functions
β’ CURRENT_DATE / NOW() β Current date/time
SELECT CURRENT_DATE, NOW();β’ DATE_ADD() / DATE_SUB() β Add or subtract days
SELECT DATE_ADD(hire_date, INTERVAL 30 DAY) FROM employees;β’ DATEDIFF() β Difference between dates
SELECT DATEDIFF(end_date, start_date) FROM projects;β’ YEAR() / MONTH() / DAY() β Extract parts
SELECT YEAR(order_date), MONTH(order_date) FROM orders;4οΈβ£ Mathematical Functions
β’ ROUND() β Round decimals
SELECT ROUND(price, 2) FROM products;β’ CEIL() / FLOOR() β Round up/down
SELECT CEIL(4.2), FLOOR(4.8);β’ ABS() β Absolute value
SELECT ABS(balance) FROM accounts;5οΈβ£ Conditional Function
β’ COALESCE() β Returns first non-null value
SELECT COALESCE(phone, 'Not Provided') FROM customers;β’ CASE β If/else logic in SQL
SELECT name,
CASE
WHEN salary > 50000 THEN 'High'
WHEN salary BETWEEN 30000 AND 50000 THEN 'Medium'
ELSE 'Low'
END AS salary_band
FROM employees;
π― Use These Functions To:
β’ Summarize data
β’ Clean and format strings
β’ Handle nulls
β’ Calculate time differences
β’ Add logic into queries
π¬ Tap β€οΈ for more!
β€10π2
β
SQL GROUP BY HAVING π
What is GROUP BY?
GROUP BY is used to group rows that have the same values in one or more columns. Itβs mostly used with aggregate functions like SUM(), COUNT(), AVG() to get summarized results.
What is HAVING?
HAVING is like WHERE, but it works after grouping. It filters the grouped results. You canβt use aggregate functions in WHERE, so we use HAVING instead.
π Problem 1:
You want to find total sales made in each city.
β This groups the sales by city and shows total per group.
π Problem 2:
Now, show only those cities where total sales are above βΉ50,000.
β `HAVING filters the result after grouping.
π Problem 3:
Find departments with more than 10 active employees.
β First, we filter rows using
π‘ Use
Double Tap β₯οΈ For More
What is GROUP BY?
GROUP BY is used to group rows that have the same values in one or more columns. Itβs mostly used with aggregate functions like SUM(), COUNT(), AVG() to get summarized results.
What is HAVING?
HAVING is like WHERE, but it works after grouping. It filters the grouped results. You canβt use aggregate functions in WHERE, so we use HAVING instead.
π Problem 1:
You want to find total sales made in each city.
SELECT city, SUM(sales) AS total_sales
FROM customers
GROUP BY city;
β This groups the sales by city and shows total per group.
π Problem 2:
Now, show only those cities where total sales are above βΉ50,000.
SELECT city, SUM(sales) AS total_sales
FROM customers
GROUP BY city
HAVING total_sales > 50000;
β `HAVING filters the result after grouping.
π Problem 3:
Find departments with more than 10 active employees.
SELECT department, COUNT(*) AS emp_count
FROM employees
WHERE active = 1
GROUP BY department
HAVING emp_count > 10;
β First, we filter rows using
WHERE. Then group, then filter groups with HAVING.π‘ Use
GROUP BY to summarize, HAVING to filter those summaries.Double Tap β₯οΈ For More
β€8
β
SQL JOINS ππ
JOINS let you combine data from two or more tables based on related columns.
1οΈβ£ INNER JOIN
Returns only matching rows from both tables.
Problem: Get customers with their orders.
β Only shows customers who have orders.
2οΈβ£ LEFT JOIN (or LEFT OUTER JOIN)
Returns all rows from the left table + matching rows from the right table. If no match, fills with NULL.
Problem: Show all customers, even if they didnβt order.
β Includes customers without orders.
3οΈβ£ RIGHT JOIN
Opposite of LEFT JOIN: keeps all rows from the right table.
4οΈβ£ FULL OUTER JOIN
Returns all rows from both tables. Where thereβs no match, it shows NULL.
β Includes customers with or without orders and orders with or without customers.
5οΈβ£ SELF JOIN
Table joins with itself.
Problem: Show employees and their managers.
β Links each employee to their manager using a self join.
π‘ Quick Summary:
β’ INNER JOIN β Only matches
β’ LEFT JOIN β All from left + matches
β’ RIGHT JOIN β All from right + matches
β’ FULL OUTER JOIN β Everything
β’ SELF JOIN β Table joins itself
π¬ Tap β€οΈ for more!
JOINS let you combine data from two or more tables based on related columns.
1οΈβ£ INNER JOIN
Returns only matching rows from both tables.
Problem: Get customers with their orders.
SELECT c.name, o.order_id
FROM customers c
INNER JOIN orders o ON c.id = o.customer_id;
β Only shows customers who have orders.
2οΈβ£ LEFT JOIN (or LEFT OUTER JOIN)
Returns all rows from the left table + matching rows from the right table. If no match, fills with NULL.
Problem: Show all customers, even if they didnβt order.
SELECT c.name, o.order_id
FROM customers c
LEFT JOIN orders o ON c.id = o.customer_id;
β Includes customers without orders.
3οΈβ£ RIGHT JOIN
Opposite of LEFT JOIN: keeps all rows from the right table.
4οΈβ£ FULL OUTER JOIN
Returns all rows from both tables. Where thereβs no match, it shows NULL.
SELECT c.name, o.order_id
FROM customers c
FULL OUTER JOIN orders o ON c.id = o.customer_id;
β Includes customers with or without orders and orders with or without customers.
5οΈβ£ SELF JOIN
Table joins with itself.
Problem: Show employees and their managers.
SELECT e.name AS employee, m.name AS manager
FROM employees e
JOIN employees m ON e.manager_id = m.id;
β Links each employee to their manager using a self join.
π‘ Quick Summary:
β’ INNER JOIN β Only matches
β’ LEFT JOIN β All from left + matches
β’ RIGHT JOIN β All from right + matches
β’ FULL OUTER JOIN β Everything
β’ SELF JOIN β Table joins itself
π¬ Tap β€οΈ for more!
β€7
β
SQL Subqueries & Nested Queries π§ π
Subqueries help you write powerful queries inside other queries. They're useful when you need intermediate results.
1οΈβ£ What is a Subquery?
A subquery is a query inside
Example: Get employees who earn above average salary.
2οΈβ£ Subquery in SELECT Clause
You can use subqueries to return values in each row.
Example: Show employee names with department name.
Use when you want to filter or group temporary results.
Example: Get department-wise highest salary.
A subquery that uses a value from the outer query row.
Example: Get employees with highest salary in their department.
π‘ Real Use Cases:
β’ Filter rows based on dynamic conditions
β’ Compare values across groups
β’ Fetch related info in SELECT
π― Practice Tasks:
β’ Write a query to find 2nd highest salary
β’ Use subquery to get customers who placed more than 3 orders
β’ Create a nested query to show top-selling product per category
β Solution for Practice Tasks π
1οΈβ£ Find 2nd Highest Salary
2οΈβ£ Customers Who Placed More Than 3 Orders
You can join to get customer names:
π¬ Tap β€οΈ for more!
Subqueries help you write powerful queries inside other queries. They're useful when you need intermediate results.
1οΈβ£ What is a Subquery?
A subquery is a query inside
() that runs first and passes its result to the outer query.Example: Get employees who earn above average salary.
SELECT name, salaryβ Subquery calculates average salary β main query finds those above it.
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
2οΈβ£ Subquery in SELECT Clause
You can use subqueries to return values in each row.
Example: Show employee names with department name.
SELECT name,3οΈβ£ Subquery in FROM Clause
(SELECT dept_name FROM departments d WHERE d.id = e.dept_id) AS department
FROM employees e;
Use when you want to filter or group temporary results.
Example: Get department-wise highest salary.
SELECT dept_id, MAX(salary)4οΈβ£ Correlated Subquery
FROM (SELECT * FROM employees WHERE active = 1) AS active_emps
GROUP BY dept_id;
A subquery that uses a value from the outer query row.
Example: Get employees with highest salary in their department.
SELECT name, salaryβ Subquery runs for each row using outer query value.
FROM employees e
WHERE salary = (SELECT MAX(salary) FROM employees WHERE dept_id = e.dept_id);
π‘ Real Use Cases:
β’ Filter rows based on dynamic conditions
β’ Compare values across groups
β’ Fetch related info in SELECT
π― Practice Tasks:
β’ Write a query to find 2nd highest salary
β’ Use subquery to get customers who placed more than 3 orders
β’ Create a nested query to show top-selling product per category
β Solution for Practice Tasks π
1οΈβ£ Find 2nd Highest Salary
SELECT MAX(salary) AS second_highest_salaryβΆοΈ Finds the highest salary less than the max salary β gives the 2nd highest.
FROM employees
WHERE salary < (SELECT MAX(salary) FROM employees);
2οΈβ£ Customers Who Placed More Than 3 Orders
SELECT customer_idβΆοΈ Groups orders by customer and filters those with more than 3.
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) > 3;
You can join to get customer names:
SELECT name3οΈβ£ Top-Selling Product Per Category
FROM customers
WHERE id IN (
SELECT customer_id
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) > 3
);
SELECT p.name, p.category_id, p.salesβΆοΈ Correlated subquery finds the highest sales within each category.
FROM products p
WHERE p.sales = (
SELECT MAX(sales)
FROM products
WHERE category_id = p.category_id
);
π¬ Tap β€οΈ for more!
β€5π1
β
SQL CASE Statement π―
The CASE statement lets you apply conditional logic inside SQL queries β like if/else in programming.
1οΈβ£ Basic CASE Syntax
β Categorizes salaries as High, Medium, or Low.
2οΈβ£ CASE in ORDER BY
Sort based on custom logic.
β HR shows up first, then Engineering, then others.
3οΈβ£ CASE in WHERE Clause
Control filtering logic conditionally.
4οΈβ£ Nested CASE (Advanced)
π― Use CASE When You Want To:
β’ Create labels or buckets
β’ Replace multiple IF conditions
β’ Make results more readable
π Practice Tasks:
1. Add a column that shows βPassβ or βFailβ based on marks
2. Create a salary band (Low/Medium/High) using CASE
3. Use CASE to sort products as 'Electronics' first, then 'Clothing'
π¬ Tap β€οΈ for more!
The CASE statement lets you apply conditional logic inside SQL queries β like if/else in programming.
1οΈβ£ Basic CASE Syntax
SELECT name, salary,
CASE
WHEN salary > 80000 THEN 'High'
WHEN salary BETWEEN 50000 AND 80000 THEN 'Medium'
ELSE 'Low'
END AS salary_level
FROM employees;
β Categorizes salaries as High, Medium, or Low.
2οΈβ£ CASE in ORDER BY
Sort based on custom logic.
SELECT name, department
FROM employees
ORDER BY
CASE department
WHEN 'HR' THEN 1
WHEN 'Engineering' THEN 2
ELSE 3
END;
β HR shows up first, then Engineering, then others.
3οΈβ£ CASE in WHERE Clause
Control filtering logic conditionally.
SELECT *
FROM orders
WHERE status =
CASE
WHEN customer_type = 'VIP' THEN 'priority'
ELSE 'standard'
END;
4οΈβ£ Nested CASE (Advanced)
SELECT name, marks,
CASE
WHEN marks >= 90 THEN 'A'
WHEN marks >= 75 THEN
CASE WHEN marks >= 85 THEN 'B+' ELSE 'B' END
ELSE 'C'
END AS grade
FROM students;
π― Use CASE When You Want To:
β’ Create labels or buckets
β’ Replace multiple IF conditions
β’ Make results more readable
π Practice Tasks:
1. Add a column that shows βPassβ or βFailβ based on marks
2. Create a salary band (Low/Medium/High) using CASE
3. Use CASE to sort products as 'Electronics' first, then 'Clothing'
π¬ Tap β€οΈ for more!
β€4
β
SQL Programming: Handling NULL Values π οΈ
Missing data is common in databases. COALESCE() helps you fill in defaults and avoid null-related issues.
1οΈβ£ What is COALESCE?
Returns the first non-null value in a list.
β If phone is NULL, it shows βNot Providedβ.
2οΈβ£ COALESCE with Calculations
Prevent nulls from breaking math.
β If bonus is NULL, treat it as 0 to compute total.
3οΈβ£ Nested COALESCE
Use multiple fallback options.
β Checks email, then alt_email, then default text.
4οΈβ£ COALESCE in WHERE clause
Filter even when data has nulls.
π― Use COALESCE When You Want To:
β’ Replace NULLs with defaults
β’ Keep math & filters working
β’ Avoid errors in reports or dashboards
π Practice Tasks:
1. Replace nulls in city with βUnknownβ
2. Show total amount = price + tax (tax may be null)
3. Replace nulls in description with βNo Info Availableβ
β Solution for Practice Tasks π
1οΈβ£ Replace NULLs in city with 'Unknown'
2οΈβ£ Show total amount = price + tax (tax may be NULL)
3οΈβ£ Replace NULLs in description with 'No Info Available'
π¬ Tap β€οΈ for more!
Missing data is common in databases. COALESCE() helps you fill in defaults and avoid null-related issues.
1οΈβ£ What is COALESCE?
Returns the first non-null value in a list.
SELECT name, COALESCE(phone, 'Not Provided') AS contact
FROM customers;
β If phone is NULL, it shows βNot Providedβ.
2οΈβ£ COALESCE with Calculations
Prevent nulls from breaking math.
SELECT name, salary, COALESCE(bonus, 0) AS bonus,
salary + COALESCE(bonus, 0) AS total_income
FROM employees;
β If bonus is NULL, treat it as 0 to compute total.
3οΈβ£ Nested COALESCE
Use multiple fallback options.
SELECT name, COALESCE(email, alt_email, 'No Email') AS contact_email
FROM users;
β Checks email, then alt_email, then default text.
4οΈβ£ COALESCE in WHERE clause
Filter even when data has nulls.
SELECT *
FROM products
WHERE COALESCE(category, 'Uncategorized') = 'Electronics';
π― Use COALESCE When You Want To:
β’ Replace NULLs with defaults
β’ Keep math & filters working
β’ Avoid errors in reports or dashboards
π Practice Tasks:
1. Replace nulls in city with βUnknownβ
2. Show total amount = price + tax (tax may be null)
3. Replace nulls in description with βNo Info Availableβ
β Solution for Practice Tasks π
1οΈβ£ Replace NULLs in city with 'Unknown'
SELECT name, COALESCE(city, 'Unknown') AS city
FROM customers;
2οΈβ£ Show total amount = price + tax (tax may be NULL)
SELECT product_name, price, COALESCE(tax, 0) AS tax,
price + COALESCE(tax, 0) AS total_amount
FROM products;
3οΈβ£ Replace NULLs in description with 'No Info Available'
SELECT product_name, COALESCE(description, 'No Info Available') AS description
FROM products;
π¬ Tap β€οΈ for more!
β€4
β
SQL Window Functions π§ πͺ
Window functions perform calculations across rows that are related to the current row β without collapsing the result like GROUP BY.
1οΈβ£ ROW_NUMBER() β Assigns a unique row number per partition
β€ Gives ranking within each department
2οΈβ£ RANK() & DENSE_RANK() β Ranking with gaps (RANK) or without gaps (DENSE_RANK)
3οΈβ£ LAG() & LEAD() β Access previous or next row value
β€ Compare salary trends row-wise
4οΈβ£ SUM(), AVG(), COUNT() OVER() β Running totals, moving averages, etc.
5οΈβ£ NTILE(n) β Divides rows into n equal buckets
π‘ Why Use Window Functions:
β’ Perform row-wise calculations
β’ Avoid GROUP BY limitations
β’ Enable advanced analytics (ranking, trends, etc.)
π§ͺ Practice Task:
Write a query to find the top 2 earners in each department using ROW_NUMBER().
π¬ Tap β€οΈ for more!
Window functions perform calculations across rows that are related to the current row β without collapsing the result like GROUP BY.
1οΈβ£ ROW_NUMBER() β Assigns a unique row number per partition
SELECT name, department,
ROW_NUMBER() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
FROM employees;
β€ Gives ranking within each department
2οΈβ£ RANK() & DENSE_RANK() β Ranking with gaps (RANK) or without gaps (DENSE_RANK)
SELECT name, salary,
RANK() OVER (ORDER BY salary DESC) AS rank
FROM employees;
3οΈβ£ LAG() & LEAD() β Access previous or next row value
SELECT name, salary,
LAG(salary) OVER (ORDER BY salary) AS prev_salary,
LEAD(salary) OVER (ORDER BY salary) AS next_salary
FROM employees;
β€ Compare salary trends row-wise
4οΈβ£ SUM(), AVG(), COUNT() OVER() β Running totals, moving averages, etc.
SELECT department, salary,
SUM(salary) OVER (PARTITION BY department) AS dept_total
FROM employees;
5οΈβ£ NTILE(n) β Divides rows into n equal buckets
SELECT name, salary,
NTILE(4) OVER (ORDER BY salary DESC) AS quartile
FROM employees;
π‘ Why Use Window Functions:
β’ Perform row-wise calculations
β’ Avoid GROUP BY limitations
β’ Enable advanced analytics (ranking, trends, etc.)
π§ͺ Practice Task:
Write a query to find the top 2 earners in each department using ROW_NUMBER().
π¬ Tap β€οΈ for more!
β€6
β
SQL Real-World Use Cases πΌπ§
SQL is the backbone of data analysis and automation in many domains. Hereβs how it powers real work:
1οΈβ£ Sales & CRM
Use Case: Sales Tracking & Pipeline Management
β’ Track sales per region, product, rep
β’ Identify top-performing leads
β’ Calculate conversion rates
SQL Task:
2οΈβ£ Finance
Use Case: Monthly Revenue and Expense Reporting
β’ Aggregate revenue by month
β’ Analyze profit margins
β’ Flag unusual transactions
SQL Task:
3οΈβ£ HR Analytics
Use Case: Employee Attrition Analysis
β’ Track tenure, exits, departments
β’ Calculate average retention
β’ Segment by age, role, or location
SQL Task:
4οΈβ£ E-commerce
Use Case: Customer Order Behavior
β’ Find most ordered products
β’ Time between repeat orders
β’ Cart abandonment patterns
SQL Task:
5οΈβ£ Healthcare
Use Case: Patient Visit Frequency
β’ Find frequent visitors
β’ Analyze doctor performance
β’ Calculate average stay duration
SQL Task:
6οΈβ£ Marketing
Use Case: Campaign Performance by Channel
β’ Track leads, clicks, conversions
β’ Compare cost-per-lead by platform
SQL Task:
π§ͺ Practice Task:
Pick a dataset (orders, users, sales)
β Write 3 queries: summary, trend, filter
β Visualize the output in Excel or Power BI
π¬ Tap β€οΈ for more!
SQL is the backbone of data analysis and automation in many domains. Hereβs how it powers real work:
1οΈβ£ Sales & CRM
Use Case: Sales Tracking & Pipeline Management
β’ Track sales per region, product, rep
β’ Identify top-performing leads
β’ Calculate conversion rates
SQL Task:
SELECT region, SUM(sales_amount)
FROM deals
GROUP BY region;
2οΈβ£ Finance
Use Case: Monthly Revenue and Expense Reporting
β’ Aggregate revenue by month
β’ Analyze profit margins
β’ Flag unusual transactions
SQL Task:
SELECT MONTH(date), SUM(revenue - expense) AS profit
FROM finance_data
GROUP BY MONTH(date);
3οΈβ£ HR Analytics
Use Case: Employee Attrition Analysis
β’ Track tenure, exits, departments
β’ Calculate average retention
β’ Segment by age, role, or location
SQL Task:
SELECT department, COUNT(*)
FROM employees
WHERE exit_date IS NOT NULL
GROUP BY department;
4οΈβ£ E-commerce
Use Case: Customer Order Behavior
β’ Find most ordered products
β’ Time between repeat orders
β’ Cart abandonment patterns
SQL Task:
SELECT customer_id, COUNT(order_id)
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) > 5;
5οΈβ£ Healthcare
Use Case: Patient Visit Frequency
β’ Find frequent visitors
β’ Analyze doctor performance
β’ Calculate average stay duration
SQL Task:
SELECT patient_id, COUNT(*) AS visits
FROM appointments
GROUP BY patient_id;
6οΈβ£ Marketing
Use Case: Campaign Performance by Channel
β’ Track leads, clicks, conversions
β’ Compare cost-per-lead by platform
SQL Task:
SELECT channel, SUM(conversions)/SUM(clicks) AS conv_rate
FROM campaign_data
GROUP BY channel;
π§ͺ Practice Task:
Pick a dataset (orders, users, sales)
β Write 3 queries: summary, trend, filter
β Visualize the output in Excel or Power BI
π¬ Tap β€οΈ for more!
β€4
β
Useful Platform to Practice SQL Programming π§ π₯οΈ
Learning SQL is just the first step β practice is what builds real skill. Here are the best platforms for hands-on SQL:
1οΈβ£ LeetCode β For Interview-Oriented SQL Practice
β’ Focus: Real interview-style problems
β’ Levels: Easy to Hard
β’ Schema + Sample Data Provided
β’ Great for: Data Analyst, Data Engineer, FAANG roles
β Tip: Start with Easy β filter by βDatabaseβ tag
β Popular Section: Database β Top 50 SQL Questions
Example Problem: βFind duplicate emails in a user tableβ β Practice filtering, GROUP BY, HAVING
2οΈβ£ HackerRank β Structured & Beginner-Friendly
β’ Focus: Step-by-step SQL track
β’ Has certification tests (SQL Basic, Intermediate)
β’ Problem sets by topic: SELECT, JOINs, Aggregations, etc.
β Tip: Follow the full SQL track
β Bonus: Company-specific challenges
Try: βRevising Aggregations β The Count Functionβ β Build confidence with small wins
3οΈβ£ Mode Analytics β Real-World SQL in Business Context
β’ Focus: Business intelligence + SQL
β’ Uses real-world datasets (e.g., e-commerce, finance)
β’ Has an in-browser SQL editor with live data
β Best for: Practicing dashboard-level queries
β Tip: Try the SQL case studies & tutorials
4οΈβ£ StrataScratch β Interview Questions from Real Companies
β’ 500+ problems from companies like Uber, Netflix, Google
β’ Split by company, difficulty, and topic
β Best for: Intermediate to advanced level
β Tip: Try βHardβ questions after doing 30β50 easy/medium
5οΈβ£ DataLemur β Short, Practical SQL Problems
β’ Crisp and to the point
β’ Good UI, fast learning
β’ Real interview-style logic
β Use when: You want fast, smart SQL drills
π How to Practice Effectively:
β’ Spend 20β30 mins/day
β’ Focus on JOINs, GROUP BY, HAVING, Subqueries
β’ Analyze problem β write β debug β re-write
β’ After solving, explain your logic out loud
π§ͺ Practice Task:
Try solving 5 SQL questions from LeetCode or HackerRank this week. Start with SELECT, WHERE, and GROUP BY.
π¬ Tap β€οΈ for more!
Learning SQL is just the first step β practice is what builds real skill. Here are the best platforms for hands-on SQL:
1οΈβ£ LeetCode β For Interview-Oriented SQL Practice
β’ Focus: Real interview-style problems
β’ Levels: Easy to Hard
β’ Schema + Sample Data Provided
β’ Great for: Data Analyst, Data Engineer, FAANG roles
β Tip: Start with Easy β filter by βDatabaseβ tag
β Popular Section: Database β Top 50 SQL Questions
Example Problem: βFind duplicate emails in a user tableβ β Practice filtering, GROUP BY, HAVING
2οΈβ£ HackerRank β Structured & Beginner-Friendly
β’ Focus: Step-by-step SQL track
β’ Has certification tests (SQL Basic, Intermediate)
β’ Problem sets by topic: SELECT, JOINs, Aggregations, etc.
β Tip: Follow the full SQL track
β Bonus: Company-specific challenges
Try: βRevising Aggregations β The Count Functionβ β Build confidence with small wins
3οΈβ£ Mode Analytics β Real-World SQL in Business Context
β’ Focus: Business intelligence + SQL
β’ Uses real-world datasets (e.g., e-commerce, finance)
β’ Has an in-browser SQL editor with live data
β Best for: Practicing dashboard-level queries
β Tip: Try the SQL case studies & tutorials
4οΈβ£ StrataScratch β Interview Questions from Real Companies
β’ 500+ problems from companies like Uber, Netflix, Google
β’ Split by company, difficulty, and topic
β Best for: Intermediate to advanced level
β Tip: Try βHardβ questions after doing 30β50 easy/medium
5οΈβ£ DataLemur β Short, Practical SQL Problems
β’ Crisp and to the point
β’ Good UI, fast learning
β’ Real interview-style logic
β Use when: You want fast, smart SQL drills
π How to Practice Effectively:
β’ Spend 20β30 mins/day
β’ Focus on JOINs, GROUP BY, HAVING, Subqueries
β’ Analyze problem β write β debug β re-write
β’ After solving, explain your logic out loud
π§ͺ Practice Task:
Try solving 5 SQL questions from LeetCode or HackerRank this week. Start with SELECT, WHERE, and GROUP BY.
π¬ Tap β€οΈ for more!
β€7
β
Data Analytics Roadmap for Freshers in 2025 ππ
1οΈβ£ Understand What a Data Analyst Does
π Analyze data, find insights, create dashboards, support business decisions.
2οΈβ£ Start with Excel
π Learn:
β Basic formulas
β Charts & Pivot Tables
β Data cleaning
π‘ Excel is still the #1 tool in many companies.
3οΈβ£ Learn SQL
π§© SQL helps you pull and analyze data from databases.
Start with:
β SELECT, WHERE, JOIN, GROUP BY
π οΈ Practice on platforms like W3Schools or Mode Analytics.
4οΈβ£ Pick a Programming Language
π Start with Python (easier) or R
β Learn pandas, matplotlib, numpy
β Do small projects (e.g. analyze sales data)
5οΈβ£ Data Visualization Tools
π Learn:
β Power BI or Tableau
β Build simple dashboards
π‘ Start with free versions or YouTube tutorials.
6οΈβ£ Practice with Real Data
π Use sites like Kaggle or Data.gov
β Clean, analyze, visualize
β Try small case studies (sales report, customer trends)
7οΈβ£ Create a Portfolio
π» Share projects on:
β GitHub
β Notion or a simple website
π Add visuals + brief explanations of your insights.
8οΈβ£ Improve Soft Skills
π£οΈ Focus on:
β Presenting data in simple words
β Asking good questions
β Thinking critically about patterns
9οΈβ£ Certifications to Stand Out
π Try:
β Google Data Analytics (Coursera)
β IBM Data Analyst
β LinkedIn Learning basics
π Apply for Internships & Entry Jobs
π― Titles to look for:
β Data Analyst (Intern)
β Junior Analyst
β Business Analyst
π¬ React β€οΈ for more!
1οΈβ£ Understand What a Data Analyst Does
π Analyze data, find insights, create dashboards, support business decisions.
2οΈβ£ Start with Excel
π Learn:
β Basic formulas
β Charts & Pivot Tables
β Data cleaning
π‘ Excel is still the #1 tool in many companies.
3οΈβ£ Learn SQL
π§© SQL helps you pull and analyze data from databases.
Start with:
β SELECT, WHERE, JOIN, GROUP BY
π οΈ Practice on platforms like W3Schools or Mode Analytics.
4οΈβ£ Pick a Programming Language
π Start with Python (easier) or R
β Learn pandas, matplotlib, numpy
β Do small projects (e.g. analyze sales data)
5οΈβ£ Data Visualization Tools
π Learn:
β Power BI or Tableau
β Build simple dashboards
π‘ Start with free versions or YouTube tutorials.
6οΈβ£ Practice with Real Data
π Use sites like Kaggle or Data.gov
β Clean, analyze, visualize
β Try small case studies (sales report, customer trends)
7οΈβ£ Create a Portfolio
π» Share projects on:
β GitHub
β Notion or a simple website
π Add visuals + brief explanations of your insights.
8οΈβ£ Improve Soft Skills
π£οΈ Focus on:
β Presenting data in simple words
β Asking good questions
β Thinking critically about patterns
9οΈβ£ Certifications to Stand Out
π Try:
β Google Data Analytics (Coursera)
β IBM Data Analyst
β LinkedIn Learning basics
π Apply for Internships & Entry Jobs
π― Titles to look for:
β Data Analyst (Intern)
β Junior Analyst
β Business Analyst
π¬ React β€οΈ for more!
β€9
β
How to Build a Job-Ready Data Analytics Portfolio πΌπ
1οΈβ£ Pick Solid Datasets
β’ Public: Kaggle, UCI ML Repo, data.gov
β’ Business-like: e-commerce, churn, marketing spend, HR attrition
β’ Size: 5kβ200k rows, relatively clean
2οΈβ£ Create 3 Signature Projects
β’ SQL: Customer Cohort & Retention (joins, window functions)
β’ BI: Executive Sales Dashboard (Power BI/Tableau, drill-through, DAX/calculated fields)
β’ Python: Marketing ROI & Attribution (pandas, seaborn, A/B test basics)
3οΈβ£ Tell a Story, Not Just Charts
β’ Problem β Approach β Insight β Action
β’ Add one business recommendation per insight
4οΈβ£ Document Like a Pro
β’ README: problem, data source, methods, results, next steps
β’ Screenshots or GIFs of dashboards
β’ Repo structure: /data, /notebooks, /sql, /reports
5οΈβ£ Show Measurable Impact
β’ βReduced reporting time by 70% with automated Power BI pipelineβ
β’ βIdentified 12% churn segment with a retention playbookβ
6οΈβ£ Make It Easy to Review
β’ Share live dashboards (Publish to Web), short Loom/YouTube walkthrough
β’ Include SQL snippets
β’ Pin top 3 projects on GitHub and LinkedIn Featured
7οΈβ£ Iterate With Feedback
β’ Post drafts on LinkedIn, ask βWhat would you improve?β
β’ Apply suggestions, track updates in a CHANGELOG
π― Goal: 3 projects, 3 stories, 3 measurable outcomes.
π¬ Double Tap β€οΈ For More!
1οΈβ£ Pick Solid Datasets
β’ Public: Kaggle, UCI ML Repo, data.gov
β’ Business-like: e-commerce, churn, marketing spend, HR attrition
β’ Size: 5kβ200k rows, relatively clean
2οΈβ£ Create 3 Signature Projects
β’ SQL: Customer Cohort & Retention (joins, window functions)
β’ BI: Executive Sales Dashboard (Power BI/Tableau, drill-through, DAX/calculated fields)
β’ Python: Marketing ROI & Attribution (pandas, seaborn, A/B test basics)
3οΈβ£ Tell a Story, Not Just Charts
β’ Problem β Approach β Insight β Action
β’ Add one business recommendation per insight
4οΈβ£ Document Like a Pro
β’ README: problem, data source, methods, results, next steps
β’ Screenshots or GIFs of dashboards
β’ Repo structure: /data, /notebooks, /sql, /reports
5οΈβ£ Show Measurable Impact
β’ βReduced reporting time by 70% with automated Power BI pipelineβ
β’ βIdentified 12% churn segment with a retention playbookβ
6οΈβ£ Make It Easy to Review
β’ Share live dashboards (Publish to Web), short Loom/YouTube walkthrough
β’ Include SQL snippets
β’ Pin top 3 projects on GitHub and LinkedIn Featured
7οΈβ£ Iterate With Feedback
β’ Post drafts on LinkedIn, ask βWhat would you improve?β
β’ Apply suggestions, track updates in a CHANGELOG
π― Goal: 3 projects, 3 stories, 3 measurable outcomes.
π¬ Double Tap β€οΈ For More!
β€3
Core SQL Interview Questions. With answers
1 What is SQL
β’ SQL stands for Structured Query Language
β’ You use it to read and manage data in relational databases
β’ Used in MySQL, PostgreSQL, SQL Server, Oracle
2 What is an RDBMS
β’ Relational Database Management System
β’ Stores data in tables with rows and columns
β’ Uses keys to link tables
β’ Example. Customer table linked to Orders table using customer_id
3 What is a table
β’ Structured storage for data
β’ Rows are records
β’ Columns are attributes
β’ Example. One row equals one customer
4 What is a primary key
β’ Uniquely identifies each row
β’ Cannot be NULL
β’ No duplicate values
β’ Example. user_id in users table
5 What is a foreign key
β’ Links one table to another
β’ Refers to a primary key in another table
β’ Allows duplicate values
β’ Example. user_id in orders table
6 Difference between primary key and foreign key
β’ Primary key ensures uniqueness
β’ Foreign key ensures relationship
β’ One table can have one primary key
β’ One table can have multiple foreign keys
7 What is NULL
β’ Represents missing or unknown value
β’ Not equal to zero or empty string
β’ Use IS NULL or IS NOT NULL to check
8 What are constraints
β’ Rules applied on columns
β’ Maintain data quality
β’ Common constraints
β NOT NULL
β UNIQUE
β PRIMARY KEY
β FOREIGN KEY
β CHECK
9 What are data types
β’ Define type of data stored
β’ Common types
β INT for numbers
β VARCHAR for text
β DATE for dates
β FLOAT or DECIMAL for decimals
10 Interview tip you must remember
β’ Always explain with a small example
β’ Speak logic before syntax
β’ Keep answers short and direct
Double Tap β€οΈ For More
1 What is SQL
β’ SQL stands for Structured Query Language
β’ You use it to read and manage data in relational databases
β’ Used in MySQL, PostgreSQL, SQL Server, Oracle
2 What is an RDBMS
β’ Relational Database Management System
β’ Stores data in tables with rows and columns
β’ Uses keys to link tables
β’ Example. Customer table linked to Orders table using customer_id
3 What is a table
β’ Structured storage for data
β’ Rows are records
β’ Columns are attributes
β’ Example. One row equals one customer
4 What is a primary key
β’ Uniquely identifies each row
β’ Cannot be NULL
β’ No duplicate values
β’ Example. user_id in users table
5 What is a foreign key
β’ Links one table to another
β’ Refers to a primary key in another table
β’ Allows duplicate values
β’ Example. user_id in orders table
6 Difference between primary key and foreign key
β’ Primary key ensures uniqueness
β’ Foreign key ensures relationship
β’ One table can have one primary key
β’ One table can have multiple foreign keys
7 What is NULL
β’ Represents missing or unknown value
β’ Not equal to zero or empty string
β’ Use IS NULL or IS NOT NULL to check
8 What are constraints
β’ Rules applied on columns
β’ Maintain data quality
β’ Common constraints
β NOT NULL
β UNIQUE
β PRIMARY KEY
β FOREIGN KEY
β CHECK
9 What are data types
β’ Define type of data stored
β’ Common types
β INT for numbers
β VARCHAR for text
β DATE for dates
β FLOAT or DECIMAL for decimals
10 Interview tip you must remember
β’ Always explain with a small example
β’ Speak logic before syntax
β’ Keep answers short and direct
Double Tap β€οΈ For More
β€11
When preparing for an SQL project-based interview, the focus typically shifts from theoretical knowledge to practical application. Here are some SQL project-based interview questions that could help assess your problem-solving skills and experience:
1. Database Design and Schema
- Question: Describe a database schema you have designed in a past project. What were the key entities, and how did you establish relationships between them?
- Follow-Up: How did you handle normalization? Did you denormalize any tables for performance reasons?
2. Data Modeling
- Question: How would you model a database for an e-commerce application? What tables would you include, and how would they relate to each other?
- Follow-Up: How would you design the schema to handle scenarios like discount codes, product reviews, and inventory management?
3. Query Optimization
- Question: Can you discuss a time when you optimized an SQL query? What was the original query, and what changes did you make to improve its performance?
- Follow-Up: What tools or techniques did you use to identify and resolve the performance issues?
4. ETL Processes
- Question: Describe an ETL (Extract, Transform, Load) process you have implemented. How did you handle data extraction, transformation, and loading?
- Follow-Up: How did you ensure data quality and consistency during the ETL process?
5. Handling Large Datasets
- Question: In a project where you dealt with large datasets, how did you manage performance and storage issues?
- Follow-Up: What indexing strategies or partitioning techniques did you use?
6. Joins and Subqueries
- Question: Provide an example of a complex query you wrote involving multiple joins and subqueries. What was the business problem you were solving?
- Follow-Up: How did you ensure that the query performed efficiently?
7. Stored Procedures and Functions
- Question: Have you created stored procedures or functions in any of your projects? Can you describe one and explain why you chose to encapsulate the logic in a stored procedure?
- Follow-Up: How did you handle error handling and logging within the stored procedure?
8. Data Integrity and Constraints
- Question: How did you enforce data integrity in your SQL projects? Can you give examples of constraints (e.g., primary keys, foreign keys, unique constraints) you implemented?
- Follow-Up: How did you handle situations where constraints needed to be temporarily disabled or modified?
9. Version Control and Collaboration
- Question: How did you manage database version control in your projects? What tools or practices did you use to ensure collaboration with other developers?
- Follow-Up: How did you handle conflicts or issues arising from multiple developers working on the same database?
10. Data Migration
- Question: Describe a data migration project you worked on. How did you ensure that the migration was successful, and what steps did you take to handle data inconsistencies or errors?
- Follow-Up: How did you test the migration process before moving to the production environment?
11. Security and Permissions
- Question: In your SQL projects, how did you manage database security?
- Follow-Up: How did you handle encryption or sensitive data within the database?
12. Handling Unstructured Data
- Question: Have you worked with unstructured or semi-structured data in an SQL environment?
- Follow-Up: What challenges did you face, and how did you overcome them?
13. Real-Time Data Processing
- Question: Can you describe a project where you handled real-time data processing using SQL? What were the key challenges, and how did you address them?
- Follow-Up: How did you ensure the performance and reliability of the real-time data processing system?
Be prepared to discuss specific examples from your past work and explain your thought process in detail.
Here you can find SQL Interview Resourcesπ
https://t.iss.one/DataSimplifier
Share with credits: https://t.iss.one/sqlspecialist
Hope it helps :)
1. Database Design and Schema
- Question: Describe a database schema you have designed in a past project. What were the key entities, and how did you establish relationships between them?
- Follow-Up: How did you handle normalization? Did you denormalize any tables for performance reasons?
2. Data Modeling
- Question: How would you model a database for an e-commerce application? What tables would you include, and how would they relate to each other?
- Follow-Up: How would you design the schema to handle scenarios like discount codes, product reviews, and inventory management?
3. Query Optimization
- Question: Can you discuss a time when you optimized an SQL query? What was the original query, and what changes did you make to improve its performance?
- Follow-Up: What tools or techniques did you use to identify and resolve the performance issues?
4. ETL Processes
- Question: Describe an ETL (Extract, Transform, Load) process you have implemented. How did you handle data extraction, transformation, and loading?
- Follow-Up: How did you ensure data quality and consistency during the ETL process?
5. Handling Large Datasets
- Question: In a project where you dealt with large datasets, how did you manage performance and storage issues?
- Follow-Up: What indexing strategies or partitioning techniques did you use?
6. Joins and Subqueries
- Question: Provide an example of a complex query you wrote involving multiple joins and subqueries. What was the business problem you were solving?
- Follow-Up: How did you ensure that the query performed efficiently?
7. Stored Procedures and Functions
- Question: Have you created stored procedures or functions in any of your projects? Can you describe one and explain why you chose to encapsulate the logic in a stored procedure?
- Follow-Up: How did you handle error handling and logging within the stored procedure?
8. Data Integrity and Constraints
- Question: How did you enforce data integrity in your SQL projects? Can you give examples of constraints (e.g., primary keys, foreign keys, unique constraints) you implemented?
- Follow-Up: How did you handle situations where constraints needed to be temporarily disabled or modified?
9. Version Control and Collaboration
- Question: How did you manage database version control in your projects? What tools or practices did you use to ensure collaboration with other developers?
- Follow-Up: How did you handle conflicts or issues arising from multiple developers working on the same database?
10. Data Migration
- Question: Describe a data migration project you worked on. How did you ensure that the migration was successful, and what steps did you take to handle data inconsistencies or errors?
- Follow-Up: How did you test the migration process before moving to the production environment?
11. Security and Permissions
- Question: In your SQL projects, how did you manage database security?
- Follow-Up: How did you handle encryption or sensitive data within the database?
12. Handling Unstructured Data
- Question: Have you worked with unstructured or semi-structured data in an SQL environment?
- Follow-Up: What challenges did you face, and how did you overcome them?
13. Real-Time Data Processing
- Question: Can you describe a project where you handled real-time data processing using SQL? What were the key challenges, and how did you address them?
- Follow-Up: How did you ensure the performance and reliability of the real-time data processing system?
Be prepared to discuss specific examples from your past work and explain your thought process in detail.
Here you can find SQL Interview Resourcesπ
https://t.iss.one/DataSimplifier
Share with credits: https://t.iss.one/sqlspecialist
Hope it helps :)
β€1
β
Basic SQL Queries Interview Questions With Answers π₯οΈ
1. What does SELECT do
β’ SELECT fetches data from a table
β’ You choose columns you want to see
Example: SELECT name, salary FROM employees;
2. What does FROM do
β’ FROM tells SQL where data lives
β’ It specifies the table name
Example: SELECT * FROM customers;
3. What is WHERE clause
β’ WHERE filters rows
β’ It runs before aggregation
Example: SELECT * FROM orders WHERE status = 'Delivered';
4. Difference between WHERE and HAVING
β’ WHERE filters rows before GROUP BY
β’ HAVING filters groups after aggregation
Example: WHERE filters orders, HAVING filters total_sales
5. How do you sort data
β’ Use ORDER BY
β’ Default order is ASC
Example: SELECT * FROM employees ORDER BY salary DESC;
6. How do you sort by multiple columns
β’ SQL sorts left to right
Example: SELECT * FROM students ORDER BY class ASC, marks DESC;
7. What is LIMIT
β’ LIMIT restricts number of rows returned
β’ Useful for top N queries
Example: SELECT * FROM products LIMIT 5;
8. What is OFFSET
β’ OFFSET skips rows
β’ Used with LIMIT for pagination
Example: SELECT * FROM products LIMIT 5 OFFSET 10;
9. How do you filter on multiple conditions
β’ Use AND, OR
Example: SELECT * FROM users WHERE city = 'Delhi' AND age > 25;
10. Difference between AND and OR
β’ AND needs all conditions true
β’ OR needs one condition true
Quick interview advice
β’ Always say execution order: FROM β WHERE β SELECT β ORDER BY β LIMIT
β’ Write clean examples
β’ Speak logic first, syntax nextΒΉ
Double Tap β€οΈ For More
1. What does SELECT do
β’ SELECT fetches data from a table
β’ You choose columns you want to see
Example: SELECT name, salary FROM employees;
2. What does FROM do
β’ FROM tells SQL where data lives
β’ It specifies the table name
Example: SELECT * FROM customers;
3. What is WHERE clause
β’ WHERE filters rows
β’ It runs before aggregation
Example: SELECT * FROM orders WHERE status = 'Delivered';
4. Difference between WHERE and HAVING
β’ WHERE filters rows before GROUP BY
β’ HAVING filters groups after aggregation
Example: WHERE filters orders, HAVING filters total_sales
5. How do you sort data
β’ Use ORDER BY
β’ Default order is ASC
Example: SELECT * FROM employees ORDER BY salary DESC;
6. How do you sort by multiple columns
β’ SQL sorts left to right
Example: SELECT * FROM students ORDER BY class ASC, marks DESC;
7. What is LIMIT
β’ LIMIT restricts number of rows returned
β’ Useful for top N queries
Example: SELECT * FROM products LIMIT 5;
8. What is OFFSET
β’ OFFSET skips rows
β’ Used with LIMIT for pagination
Example: SELECT * FROM products LIMIT 5 OFFSET 10;
9. How do you filter on multiple conditions
β’ Use AND, OR
Example: SELECT * FROM users WHERE city = 'Delhi' AND age > 25;
10. Difference between AND and OR
β’ AND needs all conditions true
β’ OR needs one condition true
Quick interview advice
β’ Always say execution order: FROM β WHERE β SELECT β ORDER BY β LIMIT
β’ Write clean examples
β’ Speak logic first, syntax nextΒΉ
Double Tap β€οΈ For More
β€6
β
SQL Joins Interview Questions With Answers π₯οΈ
1. What is a JOIN in SQL. Explain with an example.
β’ JOIN combines data from multiple tables
β’ Tables connect using a common column
β’ Usually primary key to foreign key
Example tables
Customers
customer_id, name
Orders
order_id, customer_id, amount
Query
SELECT c.name, o.amount
FROM customers c
INNER JOIN orders o
ON c.customer_id = o.customer_id;
Explanation
β’ SQL matches customer_id in both tables
β’ Output shows only related customer order data
2. What is INNER JOIN. When do you use it.
β’ INNER JOIN returns only matching rows
β’ Rows without match are removed
Example
Find customers who placed orders
Query
SELECT c.customer_id, c.name
FROM customers c
INNER JOIN orders o
ON c.customer_id = o.customer_id;
Logic
β’ Customers without orders are excluded
β’ Only matched records appear
3. What is LEFT JOIN. Explain with use case.
β’ LEFT JOIN returns all rows from left table
β’ Matching rows from right table
β’ Non matches show NULL
Example
Find all customers and their orders
Query
SELECT c.name, o.order_id
FROM customers c
LEFT JOIN orders o
ON c.customer_id = o.customer_id;
Logic
β’ Customers without orders still appear
β’ order_id becomes NULL
4. Difference between INNER JOIN and LEFT JOIN.
β’ INNER JOIN removes non matching rows
β’ LEFT JOIN keeps all left table rows
β’ LEFT JOIN shows NULL for missing matches
Interview tip
Explain using one missing record example
5. What is RIGHT JOIN.
β’ Returns all rows from right table
β’ Matching rows from left table
β’ Rarely used in real projects
Example
SELECT c.name, o.order_id
FROM customers c
RIGHT JOIN orders o
ON c.customer_id = o.customer_id;
6. What is FULL OUTER JOIN.
β’ Returns all rows from both tables
β’ Matches where possible
β’ Non matches show NULL
Example
SELECT c.name, o.order_id
FROM customers c
FULL OUTER JOIN orders o
ON c.customer_id = o.customer_id;
Use case
β’ Data reconciliation
β’ Comparing two datasets
7. How do you find records present in one table but not in another.
Find customers with no orders
Query
SELECT c.customer_id, c.name
FROM customers c
LEFT JOIN orders o
ON c.customer_id = o.customer_id
WHERE o.order_id IS NULL;
Logic
β’ LEFT JOIN keeps all customers
β’ WHERE filters non matched rows
8. Explain JOIN with WHERE clause. Common mistake.
β’ WHERE runs after JOIN
β’ Wrong WHERE condition breaks LEFT JOIN
Wrong
LEFT JOIN orders
WHERE orders.amount > 1000
Correct
LEFT JOIN orders
ON (link unavailable) = (link unavailable)
AND orders.amount > 1000
9. How do you join more than two tables.
β’ JOIN step by step
β’ Each JOIN needs condition
Example
SELECT c.name, o.order_id, p.product_name
FROM customers c
JOIN orders o
ON c.customer_id = o.customer_id
JOIN products p
ON o.product_id = p.product_id;
10. SQL execution order for JOIN queries.
β’ FROM
β’ JOIN
β’ WHERE
β’ GROUP BY
β’ HAVING
β’ SELECT
β’ ORDER BY
Interview advice
β’ Always explain logic first
β’ Draw table flow in words
β’ Then write query
Double Tap β₯οΈ For More
1. What is a JOIN in SQL. Explain with an example.
β’ JOIN combines data from multiple tables
β’ Tables connect using a common column
β’ Usually primary key to foreign key
Example tables
Customers
customer_id, name
Orders
order_id, customer_id, amount
Query
SELECT c.name, o.amount
FROM customers c
INNER JOIN orders o
ON c.customer_id = o.customer_id;
Explanation
β’ SQL matches customer_id in both tables
β’ Output shows only related customer order data
2. What is INNER JOIN. When do you use it.
β’ INNER JOIN returns only matching rows
β’ Rows without match are removed
Example
Find customers who placed orders
Query
SELECT c.customer_id, c.name
FROM customers c
INNER JOIN orders o
ON c.customer_id = o.customer_id;
Logic
β’ Customers without orders are excluded
β’ Only matched records appear
3. What is LEFT JOIN. Explain with use case.
β’ LEFT JOIN returns all rows from left table
β’ Matching rows from right table
β’ Non matches show NULL
Example
Find all customers and their orders
Query
SELECT c.name, o.order_id
FROM customers c
LEFT JOIN orders o
ON c.customer_id = o.customer_id;
Logic
β’ Customers without orders still appear
β’ order_id becomes NULL
4. Difference between INNER JOIN and LEFT JOIN.
β’ INNER JOIN removes non matching rows
β’ LEFT JOIN keeps all left table rows
β’ LEFT JOIN shows NULL for missing matches
Interview tip
Explain using one missing record example
5. What is RIGHT JOIN.
β’ Returns all rows from right table
β’ Matching rows from left table
β’ Rarely used in real projects
Example
SELECT c.name, o.order_id
FROM customers c
RIGHT JOIN orders o
ON c.customer_id = o.customer_id;
6. What is FULL OUTER JOIN.
β’ Returns all rows from both tables
β’ Matches where possible
β’ Non matches show NULL
Example
SELECT c.name, o.order_id
FROM customers c
FULL OUTER JOIN orders o
ON c.customer_id = o.customer_id;
Use case
β’ Data reconciliation
β’ Comparing two datasets
7. How do you find records present in one table but not in another.
Find customers with no orders
Query
SELECT c.customer_id, c.name
FROM customers c
LEFT JOIN orders o
ON c.customer_id = o.customer_id
WHERE o.order_id IS NULL;
Logic
β’ LEFT JOIN keeps all customers
β’ WHERE filters non matched rows
8. Explain JOIN with WHERE clause. Common mistake.
β’ WHERE runs after JOIN
β’ Wrong WHERE condition breaks LEFT JOIN
Wrong
LEFT JOIN orders
WHERE orders.amount > 1000
Correct
LEFT JOIN orders
ON (link unavailable) = (link unavailable)
AND orders.amount > 1000
9. How do you join more than two tables.
β’ JOIN step by step
β’ Each JOIN needs condition
Example
SELECT c.name, o.order_id, p.product_name
FROM customers c
JOIN orders o
ON c.customer_id = o.customer_id
JOIN products p
ON o.product_id = p.product_id;
10. SQL execution order for JOIN queries.
β’ FROM
β’ JOIN
β’ WHERE
β’ GROUP BY
β’ HAVING
β’ SELECT
β’ ORDER BY
Interview advice
β’ Always explain logic first
β’ Draw table flow in words
β’ Then write query
Double Tap β₯οΈ For More
β€9
β
SQL GROUP BY and AGGREGATION Interview Questions π
1. What is GROUP BY in SQL.
β’ GROUP BY groups rows with same values
β’ Used with aggregate functions
β’ One row per group in output
Example
Find total salary per department
Logic
β’ Rows grouped by department
β’ SUM runs on each group
2. Why do we use aggregate functions.
β’ To summarize data
β’ To calculate totals, averages, counts
Common functions
β’ COUNT
β’ SUM
β’ AVG
β’ MIN
β’ MAX
3. What happens if you use GROUP BY without aggregation.
β’ Output shows unique combinations of grouped columns
Example
Logic
β’ Acts like DISTINCT
4. Difference between WHERE and HAVING.
β’ WHERE filters rows
β’ HAVING filters groups
β’ WHERE runs before GROUP BY
β’ HAVING runs after GROUP BY
Example
Find departments with total salary above 5,00,000
5. Can you use WHERE with GROUP BY.
β’ Yes
β’ WHERE filters raw data before grouping
Example
Ignore inactive employees
6. Common GROUP BY interview error.
Why does this query fail
Answer
β’ Non aggregated column must be in GROUP BY
β’ name is missing
Correct query
7. What's the difference between COUNT(*) COUNT(column)?
β’ COUNT(*) counts all rows
β’ COUNT(column) skips NULL values
Example
8. Find total orders per customer.
Logic
β’ One row per customer
β’ COUNT runs per customer group
9. Find customers with more than 5 orders.
Logic
β’ GROUP first
β’ Filter groups using HAVING
10. Execution order for GROUP BY queries.
β’ FROM
β’ WHERE
β’ GROUP BY
β’ HAVING
β’ SELECT
β’ ORDER BY
Interview advice
β’ Say execution order clearly
β’ Explain using one simple example
β’ Avoid mixing WHERE and HAVING logic
Double Tap β₯οΈ For More
1. What is GROUP BY in SQL.
β’ GROUP BY groups rows with same values
β’ Used with aggregate functions
β’ One row per group in output
Example
Find total salary per department
FROM employees
GROUP BY department;
Logic
β’ Rows grouped by department
β’ SUM runs on each group
2. Why do we use aggregate functions.
β’ To summarize data
β’ To calculate totals, averages, counts
Common functions
β’ COUNT
β’ SUM
β’ AVG
β’ MIN
β’ MAX
3. What happens if you use GROUP BY without aggregation.
β’ Output shows unique combinations of grouped columns
Example
FROM employees
GROUP BY department;
Logic
β’ Acts like DISTINCT
4. Difference between WHERE and HAVING.
β’ WHERE filters rows
β’ HAVING filters groups
β’ WHERE runs before GROUP BY
β’ HAVING runs after GROUP BY
Example
Find departments with total salary above 5,00,000
FROM employees
GROUP BY department
HAVING SUM(salary) > 500000;
5. Can you use WHERE with GROUP BY.
β’ Yes
β’ WHERE filters raw data before grouping
Example
Ignore inactive employees
FROM employees
WHERE status = 'Active'
GROUP BY department;
6. Common GROUP BY interview error.
Why does this query fail
FROM employees
GROUP BY department;
Answer
β’ Non aggregated column must be in GROUP BY
β’ name is missing
Correct query
FROM employees
GROUP BY department;
7. What's the difference between COUNT(*) COUNT(column)?
β’ COUNT(*) counts all rows
β’ COUNT(column) skips NULL values
Example
SELECT COUNT(delivery_date) FROM orders;
8. Find total orders per customer.
FROM orders
GROUP BY customer_id;
Logic
β’ One row per customer
β’ COUNT runs per customer group
9. Find customers with more than 5 orders.
FROM orders
GROUP BY customer_id
HAVING COUNT(order_id) > 5;
Logic
β’ GROUP first
β’ Filter groups using HAVING
10. Execution order for GROUP BY queries.
β’ FROM
β’ WHERE
β’ GROUP BY
β’ HAVING
β’ SELECT
β’ ORDER BY
Interview advice
β’ Say execution order clearly
β’ Explain using one simple example
β’ Avoid mixing WHERE and HAVING logic
Double Tap β₯οΈ For More
β€7
β
SQL Window Functions Interview Questions with Answers βοΈ
1. What are window functions in SQL?
β’ Window functions perform calculations across related rows
β’ They do not reduce rows
β’ Each row keeps its detail
Key syntax: OVER (PARTITION BY, ORDER BY)
2. Difference between GROUP BY and window functions
β’ GROUP BY collapses rows
β’ Window functions keep all rows
β’ Window functions add calculated columns
3. What is ROW_NUMBER?
β’ Assigns unique sequential number
β’ No ties allowed
Example: Rank employees by salary
SELECT name, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rn
FROM employees;
4. Difference between ROW_NUMBER, RANK, and DENSE_RANK
β’ ROW_NUMBER gives unique numbers
β’ RANK skips numbers on ties
β’ DENSE_RANK does not skip
Example salaries: 100, 100, 90
ROW_NUMBER β 1, 2, 3
RANK β 1, 1, 3
DENSE_RANK β 1, 1, 2
5. What is PARTITION BY?
β’ PARTITION BY splits data into groups
β’ Window function runs inside each group
Example: Rank employees per department
SELECT department, name, salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS dept_rank
FROM employees;
6. Find top 2 salaries per department
SELECT * FROM (
SELECT department, name, salary,
DENSE_RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rnk
FROM employees
) t
WHERE rnk <= 2;
7. What is LAG?
β’ Accesses previous row value
β’ Used for comparisons
Example: Day over day sales
SELECT date, sales, LAG(sales) OVER (ORDER BY date) AS prev_day_sales
FROM daily_sales;
8. What is LEAD?
β’ Accesses next row value
Example: Compare today with next day
SELECT date, sales, LEAD(sales) OVER (ORDER BY date) AS next_day_sales
FROM daily_sales;
9. Calculate day over day growth
SELECT date, sales - LAG(sales) OVER (ORDER BY date) AS growth
FROM daily_sales;
10. Common window function interview mistakes
β’ Forgetting ORDER BY inside OVER
β’ Using WHERE instead of subquery to filter ranks
β’ Mixing GROUP BY with window logic incorrectly
Execution order: FROM β WHERE β GROUP BY β HAVING β SELECT β WINDOW β ORDER BY
Double Tap β₯οΈ For More
1. What are window functions in SQL?
β’ Window functions perform calculations across related rows
β’ They do not reduce rows
β’ Each row keeps its detail
Key syntax: OVER (PARTITION BY, ORDER BY)
2. Difference between GROUP BY and window functions
β’ GROUP BY collapses rows
β’ Window functions keep all rows
β’ Window functions add calculated columns
3. What is ROW_NUMBER?
β’ Assigns unique sequential number
β’ No ties allowed
Example: Rank employees by salary
SELECT name, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rn
FROM employees;
4. Difference between ROW_NUMBER, RANK, and DENSE_RANK
β’ ROW_NUMBER gives unique numbers
β’ RANK skips numbers on ties
β’ DENSE_RANK does not skip
Example salaries: 100, 100, 90
ROW_NUMBER β 1, 2, 3
RANK β 1, 1, 3
DENSE_RANK β 1, 1, 2
5. What is PARTITION BY?
β’ PARTITION BY splits data into groups
β’ Window function runs inside each group
Example: Rank employees per department
SELECT department, name, salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS dept_rank
FROM employees;
6. Find top 2 salaries per department
SELECT * FROM (
SELECT department, name, salary,
DENSE_RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rnk
FROM employees
) t
WHERE rnk <= 2;
7. What is LAG?
β’ Accesses previous row value
β’ Used for comparisons
Example: Day over day sales
SELECT date, sales, LAG(sales) OVER (ORDER BY date) AS prev_day_sales
FROM daily_sales;
8. What is LEAD?
β’ Accesses next row value
Example: Compare today with next day
SELECT date, sales, LEAD(sales) OVER (ORDER BY date) AS next_day_sales
FROM daily_sales;
9. Calculate day over day growth
SELECT date, sales - LAG(sales) OVER (ORDER BY date) AS growth
FROM daily_sales;
10. Common window function interview mistakes
β’ Forgetting ORDER BY inside OVER
β’ Using WHERE instead of subquery to filter ranks
β’ Mixing GROUP BY with window logic incorrectly
Execution order: FROM β WHERE β GROUP BY β HAVING β SELECT β WINDOW β ORDER BY
Double Tap β₯οΈ For More
β€4π2
π Want to Excel at Data Analytics? Master These Essential Skills! βοΈ
Core Concepts:
β’ Statistics & Probability β Understand distributions, hypothesis testing
β’ Excel β Pivot tables, formulas, dashboards
Programming:
β’ Python β NumPy, Pandas, Matplotlib, Seaborn
β’ R β Data analysis & visualization
β’ SQL β Joins, filtering, aggregation
Data Cleaning & Wrangling:
β’ Handle missing values, duplicates
β’ Normalize and transform data
Visualization:
β’ Power BI, Tableau β Dashboards
β’ Plotly, Seaborn β Python visualizations
β’ Data Storytelling β Present insights clearly
Advanced Analytics:
β’ Regression, Classification, Clustering
β’ Time Series Forecasting
β’ A/B Testing & Hypothesis Testing
ETL & Automation:
β’ Web Scraping β BeautifulSoup, Scrapy
β’ APIs β Fetch and process real-world data
β’ Build ETL Pipelines
Tools & Deployment:
β’ Jupyter Notebook / Colab
β’ Git & GitHub
β’ Cloud Platforms β AWS, GCP, Azure
β’ Google BigQuery, Snowflake
Hope it helps :)
Core Concepts:
β’ Statistics & Probability β Understand distributions, hypothesis testing
β’ Excel β Pivot tables, formulas, dashboards
Programming:
β’ Python β NumPy, Pandas, Matplotlib, Seaborn
β’ R β Data analysis & visualization
β’ SQL β Joins, filtering, aggregation
Data Cleaning & Wrangling:
β’ Handle missing values, duplicates
β’ Normalize and transform data
Visualization:
β’ Power BI, Tableau β Dashboards
β’ Plotly, Seaborn β Python visualizations
β’ Data Storytelling β Present insights clearly
Advanced Analytics:
β’ Regression, Classification, Clustering
β’ Time Series Forecasting
β’ A/B Testing & Hypothesis Testing
ETL & Automation:
β’ Web Scraping β BeautifulSoup, Scrapy
β’ APIs β Fetch and process real-world data
β’ Build ETL Pipelines
Tools & Deployment:
β’ Jupyter Notebook / Colab
β’ Git & GitHub
β’ Cloud Platforms β AWS, GCP, Azure
β’ Google BigQuery, Snowflake
Hope it helps :)
β€3