In a relational database, what is the main purpose of a foreign key?
Anonymous Quiz
21%
To uniquely identify rows in a table
7%
To store data in a structured way
69%
To enforce relationships between tables
4%
To allow duplicate records
👍9
Data Analytics
Awesome! Let’s dive into the next topic: 🧱 Database Concepts (Tables, Rows, Columns, Keys) 1. Table: A table is the basic structure where data is stored in a relational database. Think of it like a spreadsheet. Each table represents one type of entity —…
Moving on to next topic!
🔍 Basic SQL Queries (SELECT, WHERE)
1. SELECT Statement:
The SELECT command is used to retrieve data from a table. It’s the most fundamental query in SQL.
Syntax:
SELECT column1, column2 FROM table_name;
Example:
SELECT name, email FROM customers;
This fetches the name and email of all customers from the customers table.
You can also use * to select all columns:
SELECT * FROM customers;
2. WHERE Clause:
The WHERE clause is used to filter records that meet a specific condition.
Syntax:
SELECT column1, column2 FROM table_name WHERE condition;
Example:
SELECT name FROM customers WHERE city = 'Delhi';
This returns names of all customers who are from Delhi.
Another example using numbers:
SELECT * FROM products WHERE price > 1000;
This gets all products priced above 1000.
Key Point:
SELECT fetches data
WHERE filters it based on conditions
React with ❤️ if you're ready for the next one: ✏️ Filtering & Sorting Data (ORDER BY, LIMIT).
I keep quiz after the explanation to know if you're really understanding each concept
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
🔍 Basic SQL Queries (SELECT, WHERE)
1. SELECT Statement:
The SELECT command is used to retrieve data from a table. It’s the most fundamental query in SQL.
Syntax:
SELECT column1, column2 FROM table_name;
Example:
SELECT name, email FROM customers;
This fetches the name and email of all customers from the customers table.
You can also use * to select all columns:
SELECT * FROM customers;
2. WHERE Clause:
The WHERE clause is used to filter records that meet a specific condition.
Syntax:
SELECT column1, column2 FROM table_name WHERE condition;
Example:
SELECT name FROM customers WHERE city = 'Delhi';
This returns names of all customers who are from Delhi.
Another example using numbers:
SELECT * FROM products WHERE price > 1000;
This gets all products priced above 1000.
Key Point:
SELECT fetches data
WHERE filters it based on conditions
React with ❤️ if you're ready for the next one: ✏️ Filtering & Sorting Data (ORDER BY, LIMIT).
I keep quiz after the explanation to know if you're really understanding each concept
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤19👍6
What does the following SQL query do?
SELECT * FROM products WHERE price > 1000;
SELECT * FROM products WHERE price > 1000;
Anonymous Quiz
4%
Updates the price of all products
2%
Deletes products below 1000
92%
Fetches all columns of products priced above 1000
2%
Groups products by price
❤9👍5
Data Analytics pinned «🔰 SQL Roadmap for Beginners 2025 ├── 🗃 Introduction to Databases & SQL ├── 📄 SQL vs NoSQL (Just Basics) ├── 🧱 Database Concepts (Tables, Rows, Columns, Keys) ├── 🔍 Basic SQL Queries (SELECT, WHERE) ├── ✏️ Filtering & Sorting Data (ORDER BY, LIMIT) ├── 🔢 SQL…»
Data Analytics
Moving on to next topic! 🔍 Basic SQL Queries (SELECT, WHERE) 1. SELECT Statement: The SELECT command is used to retrieve data from a table. It’s the most fundamental query in SQL. Syntax: SELECT column1, column2 FROM table_name; Example: SELECT name…
Let’s move on to the next topic in our SQL Roadmap!
✏️ Filtering & Sorting Data (ORDER BY, LIMIT)
1. ORDER BY Clause:
ORDER BY is used to sort the result set based on one or more columns — either in ascending or descending order.
Syntax:
SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC;
Example:
SELECT name, salary FROM employees ORDER BY salary DESC;
This lists employees with the highest salaries at the top.
By default, it sorts in ascending (ASC) order if no direction is specified.
2. LIMIT Clause:
LIMIT is used to restrict the number of rows returned by a query. Super useful when you want just a sample or the top results.
Syntax:
SELECT * FROM table_name LIMIT number;
Example:
SELECT * FROM products LIMIT 5;
This fetches only the first 5 products.
You can also combine ORDER BY and LIMIT:
SELECT * FROM products ORDER BY price DESC LIMIT 3;
This gets the top 3 most expensive products.
Quick Recap:
Use ORDER BY to sort your data
Use LIMIT to control how many results you get
React with ❤️ if you're excited for the next one: 🔢 SQL Operators (IN, BETWEEN, LIKE, AND, OR).
✏️ Filtering & Sorting Data (ORDER BY, LIMIT)
1. ORDER BY Clause:
ORDER BY is used to sort the result set based on one or more columns — either in ascending or descending order.
Syntax:
SELECT column1, column2 FROM table_name ORDER BY column1 ASC|DESC;
Example:
SELECT name, salary FROM employees ORDER BY salary DESC;
This lists employees with the highest salaries at the top.
By default, it sorts in ascending (ASC) order if no direction is specified.
2. LIMIT Clause:
LIMIT is used to restrict the number of rows returned by a query. Super useful when you want just a sample or the top results.
Syntax:
SELECT * FROM table_name LIMIT number;
Example:
SELECT * FROM products LIMIT 5;
This fetches only the first 5 products.
You can also combine ORDER BY and LIMIT:
SELECT * FROM products ORDER BY price DESC LIMIT 3;
This gets the top 3 most expensive products.
Quick Recap:
Use ORDER BY to sort your data
Use LIMIT to control how many results you get
React with ❤️ if you're excited for the next one: 🔢 SQL Operators (IN, BETWEEN, LIKE, AND, OR).
❤20👍5
What will this query return?
SELECT name FROM employees ORDER BY salary DESC LIMIT 1;
SELECT name FROM employees ORDER BY salary DESC LIMIT 1;
Anonymous Quiz
35%
1️⃣ The name of the employee with the lowest salary
4%
Names of all employees
58%
The name of the employee with the highest salary
3%
The average salary of employees
👍15❤5
Data Analytics
Let’s move on to the next topic in our SQL Roadmap! ✏️ Filtering & Sorting Data (ORDER BY, LIMIT) 1. ORDER BY Clause: ORDER BY is used to sort the result set based on one or more columns — either in ascending or descending order. Syntax: SELECT column1…
Let’s go to the next topic in our SQL Roadmap!
🔢 SQL Operators (IN, BETWEEN, LIKE, AND, OR)
These operators help you build flexible and powerful conditions inside your WHERE clause.
1. IN Operator
Used to match multiple values in a column.
Example:
SELECT * FROM customers WHERE city IN ('Delhi', 'Mumbai', 'Bangalore');
This fetches customers who live in any of the three cities.
2. BETWEEN Operator
Used to filter values within a range (inclusive).
Example:
SELECT * FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';
Returns all orders placed in 2024.
3. LIKE Operator
Used for pattern matching. Especially useful with wildcards (%).
Example:
SELECT * FROM customers WHERE name LIKE 'A%';
Finds customers whose names start with "A".
Another example:
SELECT * FROM emails WHERE address LIKE '%@gmail.com';
Finds all Gmail users.
4. AND Operator
Combines multiple conditions — all must be true.
Example:
SELECT * FROM employees WHERE department = 'HR' AND salary > 50000;
Finds HR employees earning more than 50,000.
5. OR Operator
Returns results if any one condition is true.
Example:
SELECT * FROM products WHERE category = 'Electronics' OR category = 'Books';
Fetches products that belong to either of the two categories.
Pro Tip:
Combine these operators for complex logic!
SELECT * FROM orders
WHERE status = 'Delivered'
AND delivery_date BETWEEN '2025-01-01' AND '2025-03-31';
React with ❤️ if you're ready for the next one: 📊 Aggregate Functions (COUNT, SUM, AVG, MIN, MAX).
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
🔢 SQL Operators (IN, BETWEEN, LIKE, AND, OR)
These operators help you build flexible and powerful conditions inside your WHERE clause.
1. IN Operator
Used to match multiple values in a column.
Example:
SELECT * FROM customers WHERE city IN ('Delhi', 'Mumbai', 'Bangalore');
This fetches customers who live in any of the three cities.
2. BETWEEN Operator
Used to filter values within a range (inclusive).
Example:
SELECT * FROM orders WHERE order_date BETWEEN '2024-01-01' AND '2024-12-31';
Returns all orders placed in 2024.
3. LIKE Operator
Used for pattern matching. Especially useful with wildcards (%).
Example:
SELECT * FROM customers WHERE name LIKE 'A%';
Finds customers whose names start with "A".
Another example:
SELECT * FROM emails WHERE address LIKE '%@gmail.com';
Finds all Gmail users.
4. AND Operator
Combines multiple conditions — all must be true.
Example:
SELECT * FROM employees WHERE department = 'HR' AND salary > 50000;
Finds HR employees earning more than 50,000.
5. OR Operator
Returns results if any one condition is true.
Example:
SELECT * FROM products WHERE category = 'Electronics' OR category = 'Books';
Fetches products that belong to either of the two categories.
Pro Tip:
Combine these operators for complex logic!
SELECT * FROM orders
WHERE status = 'Delivered'
AND delivery_date BETWEEN '2025-01-01' AND '2025-03-31';
React with ❤️ if you're ready for the next one: 📊 Aggregate Functions (COUNT, SUM, AVG, MIN, MAX).
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤24👍8
What will this query return?
SELECT * FROM customers WHERE city = 'Delhi' AND name LIKE 'A%';
SELECT * FROM customers WHERE city = 'Delhi' AND name LIKE 'A%';
Anonymous Quiz
3%
All customers
8%
Customers from any city whose names start with 'A'
84%
Customers from Delhi whose names start with 'A'
5%
Customers from Delhi or names starting with 'A'
❤12👍7
Data Analytics
Let’s go to the next topic in our SQL Roadmap! 🔢 SQL Operators (IN, BETWEEN, LIKE, AND, OR) These operators help you build flexible and powerful conditions inside your WHERE clause. 1. IN Operator Used to match multiple values in a column. Example: …
📊 Aggregate Functions (COUNT, SUM, AVG, MIN, MAX)
Aggregate functions are used to perform calculations on multiple rows of a table and return a single value. They're mostly used with GROUP BY, but also work standalone.
1. COUNT()
Returns the number of rows.
Example:
SELECT COUNT(*) FROM employees;
Counts all employees in the table.
You can also count only non-null values in a column:
SELECT COUNT(email) FROM customers;
2. SUM()
Adds up all the values in a numeric column.
Example:
SELECT SUM(salary) FROM employees;
Gives you the total salary payout.
3. AVG()
Calculates the average value of a numeric column.
Example:
SELECT AVG(price) FROM products;
Finds the average product price.
4. MIN()
Returns the lowest value.
Example:
SELECT MIN(salary) FROM employees;
Finds the smallest salary.
5. MAX()
Returns the highest value.
Example:
SELECT MAX(salary) FROM employees;
Finds the highest salary in the table.
Bonus Example:
SELECT
COUNT(*) AS total_orders,
SUM(amount) AS total_revenue,
AVG(amount) AS avg_order_value
FROM orders;
This gives you a quick business summary: number of orders, total revenue, and average order value.
React with ❤️ if you're excited for the next topic: 👥 GROUP BY & HAVING Clauses.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
Aggregate functions are used to perform calculations on multiple rows of a table and return a single value. They're mostly used with GROUP BY, but also work standalone.
1. COUNT()
Returns the number of rows.
Example:
SELECT COUNT(*) FROM employees;
Counts all employees in the table.
You can also count only non-null values in a column:
SELECT COUNT(email) FROM customers;
2. SUM()
Adds up all the values in a numeric column.
Example:
SELECT SUM(salary) FROM employees;
Gives you the total salary payout.
3. AVG()
Calculates the average value of a numeric column.
Example:
SELECT AVG(price) FROM products;
Finds the average product price.
4. MIN()
Returns the lowest value.
Example:
SELECT MIN(salary) FROM employees;
Finds the smallest salary.
5. MAX()
Returns the highest value.
Example:
SELECT MAX(salary) FROM employees;
Finds the highest salary in the table.
Bonus Example:
SELECT
COUNT(*) AS total_orders,
SUM(amount) AS total_revenue,
AVG(amount) AS avg_order_value
FROM orders;
This gives you a quick business summary: number of orders, total revenue, and average order value.
React with ❤️ if you're excited for the next topic: 👥 GROUP BY & HAVING Clauses.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤18👍7
What does the following SQL query return?
SELECT COUNT(email) FROM customers;
SELECT COUNT(email) FROM customers;
Anonymous Quiz
23%
Total number of customers, including NULL emails
32%
Total number of customers whose email is NOT NULL
17%
Total number of different email domains
28%
Total number of customers with Gmail accounts
👍13❤1
7 High-Impact Portfolio Project Ideas for Aspiring Data Analysts
✅ Sales Dashboard – Use Power BI or Tableau to visualize KPIs like revenue, profit, and region-wise performance
✅ Customer Churn Analysis – Predict which customers are likely to leave using Python (Logistic Regression, EDA)
✅ Netflix Dataset Exploration – Analyze trends in content types, genres, and release years with Pandas & Matplotlib
✅ HR Analytics Dashboard – Visualize attrition, department strength, and performance reviews
✅ Survey Data Analysis – Clean, visualize, and derive insights from user feedback or product surveys
✅ E-commerce Product Analysis – Analyze top-selling products, revenue by category, and return rates
✅ Airbnb Price Predictor – Use machine learning to predict listing prices based on location, amenities, and ratings
These projects showcase real-world skills and storytelling with data.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
✅ Sales Dashboard – Use Power BI or Tableau to visualize KPIs like revenue, profit, and region-wise performance
✅ Customer Churn Analysis – Predict which customers are likely to leave using Python (Logistic Regression, EDA)
✅ Netflix Dataset Exploration – Analyze trends in content types, genres, and release years with Pandas & Matplotlib
✅ HR Analytics Dashboard – Visualize attrition, department strength, and performance reviews
✅ Survey Data Analysis – Clean, visualize, and derive insights from user feedback or product surveys
✅ E-commerce Product Analysis – Analyze top-selling products, revenue by category, and return rates
✅ Airbnb Price Predictor – Use machine learning to predict listing prices based on location, amenities, and ratings
These projects showcase real-world skills and storytelling with data.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤8👍1
Data Analytics
📊 Aggregate Functions (COUNT, SUM, AVG, MIN, MAX) Aggregate functions are used to perform calculations on multiple rows of a table and return a single value. They're mostly used with GROUP BY, but also work standalone. 1. COUNT() Returns the number of rows.…
👥 GROUP BY & HAVING Clauses
1. GROUP BY
GROUP BY is used to group rows that have the same values in specified columns and apply aggregate functions to each group.
Syntax:
SELECT column, AGG_FUNC(column2) FROM table_name GROUP BY column;
Example:
SELECT department, COUNT(*) AS total_employees
FROM employees
GROUP BY department;
This shows how many employees are in each department.
You can group by multiple columns too:
SELECT department, job_noscript, AVG(salary) AS avg_salary
FROM employees
GROUP BY department, job_noscript;
2. HAVING
HAVING is like WHERE, but it’s used to filter grouped data. You can't use WHERE with aggregate functions — that's where HAVING comes in.
Example:
SELECT department, COUNT(*) AS total_employees
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;
This gives you only those departments that have more than 5 employees.
Bonus: Combine GROUP BY + ORDER BY + HAVING:
SELECT category, SUM(sales) AS total_sales
FROM products
GROUP BY category
HAVING SUM(sales) > 10000
ORDER BY total_sales DESC;
This gives you the top-selling categories with sales over 10,000.
React with ❤️ if you’re ready for the next banger: 🔗 SQL JOINS (INNER, LEFT, RIGHT, FULL, SELF).
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
1. GROUP BY
GROUP BY is used to group rows that have the same values in specified columns and apply aggregate functions to each group.
Syntax:
SELECT column, AGG_FUNC(column2) FROM table_name GROUP BY column;
Example:
SELECT department, COUNT(*) AS total_employees
FROM employees
GROUP BY department;
This shows how many employees are in each department.
You can group by multiple columns too:
SELECT department, job_noscript, AVG(salary) AS avg_salary
FROM employees
GROUP BY department, job_noscript;
2. HAVING
HAVING is like WHERE, but it’s used to filter grouped data. You can't use WHERE with aggregate functions — that's where HAVING comes in.
Example:
SELECT department, COUNT(*) AS total_employees
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;
This gives you only those departments that have more than 5 employees.
Bonus: Combine GROUP BY + ORDER BY + HAVING:
SELECT category, SUM(sales) AS total_sales
FROM products
GROUP BY category
HAVING SUM(sales) > 10000
ORDER BY total_sales DESC;
This gives you the top-selling categories with sales over 10,000.
React with ❤️ if you’re ready for the next banger: 🔗 SQL JOINS (INNER, LEFT, RIGHT, FULL, SELF).
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤11👍5🎉4
What will the following SQL query return?
SELECT department, COUNT(*) AS total_employees FROM employees GROUP BY department HAVING COUNT(*) > 10;
SELECT department, COUNT(*) AS total_employees FROM employees GROUP BY department HAVING COUNT(*) > 10;
Anonymous Quiz
40%
All employees in departments with more than 10 total employees
53%
Only the departments that have more than 10 employees
5%
Employees whose department has exactly 10 members
2%
All departments regardless of employee count
👍16❤2
Data Analytics
👥 GROUP BY & HAVING Clauses 1. GROUP BY GROUP BY is used to group rows that have the same values in specified columns and apply aggregate functions to each group. Syntax: SELECT column, AGG_FUNC(column2) FROM table_name GROUP BY column; Example: SELECT…
🔗 SQL JOINS (INNER, LEFT, RIGHT, FULL, SELF)
JOINS help you combine data from two or more tables based on a related column (usually a primary key and a foreign key).
1. INNER JOIN
Returns only matching rows between two tables.
SELECT customers.name, orders.order_id
FROM customers
INNER JOIN orders ON customers.id = orders.customer_id;
This returns only those customers who have placed at least one order.
2. LEFT JOIN (or LEFT OUTER JOIN)
Returns all rows from the left table, and matched rows from the right table. If no match, you'll see NULLs.
SELECT customers.name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
This shows all customers, including those who haven’t placed any orders.
3. RIGHT JOIN (or RIGHT OUTER JOIN)
Returns all rows from the right table, and matching rows from the left.
SELECT customers.name, orders.order_id
FROM customers
RIGHT JOIN orders ON customers.id = orders.customer_id;
You’ll see all orders — even if there’s no corresponding customer info.
4. FULL JOIN (or FULL OUTER JOIN)
Returns all rows from both tables. If there's no match, it returns NULLs.
Note: MySQL doesn't support FULL JOIN directly; use UNION of LEFT and RIGHT joins instead.
5. SELF JOIN
You join a table with itself. Great for hierarchical relationships.
SELECT e.name AS employee, m.name AS manager
FROM employees e
JOIN employees m ON e.manager_id = m.id;
This shows each employee along with their manager's name.
Pro Tip: Be careful with NULLs and always define clear join conditions to avoid cartesian products.
React with ❤️ if you're ready for the next one: 👇
📦 Subqueries & Nested Queries.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
JOINS help you combine data from two or more tables based on a related column (usually a primary key and a foreign key).
1. INNER JOIN
Returns only matching rows between two tables.
SELECT customers.name, orders.order_id
FROM customers
INNER JOIN orders ON customers.id = orders.customer_id;
This returns only those customers who have placed at least one order.
2. LEFT JOIN (or LEFT OUTER JOIN)
Returns all rows from the left table, and matched rows from the right table. If no match, you'll see NULLs.
SELECT customers.name, orders.order_id
FROM customers
LEFT JOIN orders ON customers.id = orders.customer_id;
This shows all customers, including those who haven’t placed any orders.
3. RIGHT JOIN (or RIGHT OUTER JOIN)
Returns all rows from the right table, and matching rows from the left.
SELECT customers.name, orders.order_id
FROM customers
RIGHT JOIN orders ON customers.id = orders.customer_id;
You’ll see all orders — even if there’s no corresponding customer info.
4. FULL JOIN (or FULL OUTER JOIN)
Returns all rows from both tables. If there's no match, it returns NULLs.
Note: MySQL doesn't support FULL JOIN directly; use UNION of LEFT and RIGHT joins instead.
5. SELF JOIN
You join a table with itself. Great for hierarchical relationships.
SELECT e.name AS employee, m.name AS manager
FROM employees e
JOIN employees m ON e.manager_id = m.id;
This shows each employee along with their manager's name.
Pro Tip: Be careful with NULLs and always define clear join conditions to avoid cartesian products.
React with ❤️ if you're ready for the next one: 👇
📦 Subqueries & Nested Queries.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤6👍5
What does a LEFT JOIN return?
Anonymous Quiz
5%
Only matching rows
6%
All rows from the right table
87%
All rows from the left table + matching rows from the right
2%
All rows from both tables
👏10
Data Analytics
🔗 SQL JOINS (INNER, LEFT, RIGHT, FULL, SELF) JOINS help you combine data from two or more tables based on a related column (usually a primary key and a foreign key). 1. INNER JOIN Returns only matching rows between two tables. SELECT customers.name, orders.order_id…
📦 Subqueries & Nested Queries
A subquery is a query inside another query. You can use it in SELECT, FROM, or WHERE clauses to solve complex problems step-by-step.
1. Subquery in WHERE Clause
Use this when you need to filter results based on another query.
SELECT name
FROM employees
WHERE department_id = (
SELECT id FROM departments WHERE name = 'Sales'
);
This finds all employees who work in the Sales department.
2. Subquery in SELECT Clause
This lets you fetch calculated or related values for each row.
SELECT name,
(SELECT AVG(salary) FROM employees) AS avg_salary
FROM employees;
Shows each employee’s name along with the company’s average salary.
3. Subquery in FROM Clause (Inline View)
Used when you want to treat the subquery like a temporary table.
SELECT department, total
FROM (
SELECT department, SUM(salary) AS total
FROM employees
GROUP BY department
) AS dept_summary;
This groups salaries by department in a subquery, then fetches from it.
Important:
- Always alias your subqueries (especially in the FROM clause).
- Avoid correlated subqueries if possible; they’re slower.
React with ❤️ if you want me to cover the next topic: 🏷 Aliases & Case Statements.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
A subquery is a query inside another query. You can use it in SELECT, FROM, or WHERE clauses to solve complex problems step-by-step.
1. Subquery in WHERE Clause
Use this when you need to filter results based on another query.
SELECT name
FROM employees
WHERE department_id = (
SELECT id FROM departments WHERE name = 'Sales'
);
This finds all employees who work in the Sales department.
2. Subquery in SELECT Clause
This lets you fetch calculated or related values for each row.
SELECT name,
(SELECT AVG(salary) FROM employees) AS avg_salary
FROM employees;
Shows each employee’s name along with the company’s average salary.
3. Subquery in FROM Clause (Inline View)
Used when you want to treat the subquery like a temporary table.
SELECT department, total
FROM (
SELECT department, SUM(salary) AS total
FROM employees
GROUP BY department
) AS dept_summary;
This groups salaries by department in a subquery, then fetches from it.
Important:
- Always alias your subqueries (especially in the FROM clause).
- Avoid correlated subqueries if possible; they’re slower.
React with ❤️ if you want me to cover the next topic: 🏷 Aliases & Case Statements.
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤11👍8👏1
What does the following SQL query return?
SELECT name FROM employees WHERE department_id = ( SELECT id FROM departments WHERE name = 'HR' );
SELECT name FROM employees WHERE department_id = ( SELECT id FROM departments WHERE name = 'HR' );
Anonymous Quiz
4%
All employees from all departments
75%
All employees who work in the HR department
19%
The name of the HR department
1%
Employees with NULL department ID
👍13❤5
Data Analytics
📦 Subqueries & Nested Queries A subquery is a query inside another query. You can use it in SELECT, FROM, or WHERE clauses to solve complex problems step-by-step. 1. Subquery in WHERE Clause Use this when you need to filter results based on another query.…
🏷 Aliases & CASE Statements
1. Aliases (AS keyword)
Aliases let you rename columns or tables temporarily to make your output cleaner or more readable.
Column Alias Example:
SELECT first_name AS name, salary AS monthly_income
FROM employees;
You’ll see name and monthly_income as column headers instead of raw column names.
Table Alias Example:
SELECT e.name, d.name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.id;
Here e and d are shortcuts for table names, making complex queries more readable.
2. CASE Statements
CASE is SQL’s way of doing if-else logic inside queries.
Example 1: Categorizing Data
SELECT name,
CASE
WHEN salary > 80000 THEN 'High'
WHEN salary BETWEEN 50000 AND 80000 THEN 'Medium'
ELSE 'Low'
END AS salary_category
FROM employees;
This assigns each employee a salary category.
Example 2: Conditional Aggregation
SELECT department,
COUNT(CASE WHEN gender = 'Male' THEN 1 END) AS male_count,
COUNT(CASE WHEN gender = 'Female' THEN 1 END) AS female_count
FROM employees
GROUP BY department;
Counts males and females per department.
Use aliases to simplify your SQL, and CASE when you need decision-making logic in queries.
React with ❤️ if you're excited for the next topic :🧾 Views & Indexes
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
1. Aliases (AS keyword)
Aliases let you rename columns or tables temporarily to make your output cleaner or more readable.
Column Alias Example:
SELECT first_name AS name, salary AS monthly_income
FROM employees;
You’ll see name and monthly_income as column headers instead of raw column names.
Table Alias Example:
SELECT e.name, d.name
FROM employees AS e
JOIN departments AS d ON e.department_id = d.id;
Here e and d are shortcuts for table names, making complex queries more readable.
2. CASE Statements
CASE is SQL’s way of doing if-else logic inside queries.
Example 1: Categorizing Data
SELECT name,
CASE
WHEN salary > 80000 THEN 'High'
WHEN salary BETWEEN 50000 AND 80000 THEN 'Medium'
ELSE 'Low'
END AS salary_category
FROM employees;
This assigns each employee a salary category.
Example 2: Conditional Aggregation
SELECT department,
COUNT(CASE WHEN gender = 'Male' THEN 1 END) AS male_count,
COUNT(CASE WHEN gender = 'Female' THEN 1 END) AS female_count
FROM employees
GROUP BY department;
Counts males and females per department.
Use aliases to simplify your SQL, and CASE when you need decision-making logic in queries.
React with ❤️ if you're excited for the next topic :🧾 Views & Indexes
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤22👍4
Here’s a quick quiz based on Aliases & CASE Statements:
Quiz Question: What will the following query output? SELECT name, CASE WHEN salary >= 100000 THEN 'Executive' ELSE 'Staff' END AS role FROM employees;
Quiz Question: What will the following query output? SELECT name, CASE WHEN salary >= 100000 THEN 'Executive' ELSE 'Staff' END AS role FROM employees;
Anonymous Quiz
16%
Only employees with salaries above 100000
8%
Only employees with salaries below 100000
68%
All employees with a new column named "role" categorizing them as 'Executive' or 'Staff'
8%
An error due to incorrect syntax
👍23❤2
Many people still aren't fully utilizing the power of Telegram.
There are numerous channels on Telegram that can help you find the latest job and internship opportunities?
Here are some of my top channel recommendations to help you get started 👇👇
Latest Jobs & Internships: https://news.1rj.ru/str/getjobss
Jobs Preparation Resources:
https://news.1rj.ru/str/jobinterviewsprep
Data Science Jobs:
https://news.1rj.ru/str/datasciencej
Interview Tips:
https://news.1rj.ru/str/Interview_Jobs
Data Analyst Jobs:
https://news.1rj.ru/str/jobs_SQL
AI Jobs:
https://news.1rj.ru/str/AIjobz
Remote Jobs:
https://news.1rj.ru/str/jobs_us_uk
FAANG Jobs:
https://news.1rj.ru/str/FAANGJob
Software Developer Jobs: https://news.1rj.ru/str/internshiptojobs
If you found this helpful, don’t forget to like, share, and follow for more resources that can boost your career journey!
Let me know if you know any other useful telegram channel
ENJOY LEARNING👍👍
There are numerous channels on Telegram that can help you find the latest job and internship opportunities?
Here are some of my top channel recommendations to help you get started 👇👇
Latest Jobs & Internships: https://news.1rj.ru/str/getjobss
Jobs Preparation Resources:
https://news.1rj.ru/str/jobinterviewsprep
Data Science Jobs:
https://news.1rj.ru/str/datasciencej
Interview Tips:
https://news.1rj.ru/str/Interview_Jobs
Data Analyst Jobs:
https://news.1rj.ru/str/jobs_SQL
AI Jobs:
https://news.1rj.ru/str/AIjobz
Remote Jobs:
https://news.1rj.ru/str/jobs_us_uk
FAANG Jobs:
https://news.1rj.ru/str/FAANGJob
Software Developer Jobs: https://news.1rj.ru/str/internshiptojobs
If you found this helpful, don’t forget to like, share, and follow for more resources that can boost your career journey!
Let me know if you know any other useful telegram channel
ENJOY LEARNING👍👍
❤18👍6🎉2
Data Analytics
🏷 Aliases & CASE Statements 1. Aliases (AS keyword) Aliases let you rename columns or tables temporarily to make your output cleaner or more readable. Column Alias Example: SELECT first_name AS name, salary AS monthly_income FROM employees; You’ll see…
Now, let’s dive into a couple of powerful but often overlooked SQL features:
🧾 Views & Indexes (Basics)
1. Views
A View is a virtual table based on a SQL query. It doesn’t store data itself — it just stores the query logic.
Why use Views?
- Simplifies complex queries
- Improves code reusability
- Adds a layer of security by hiding certain columns
Creating a View:
CREATE VIEW high_salary_employees AS
SELECT name, salary
FROM employees
WHERE salary > 80000;
Using the View:
SELECT * FROM high_salary_employees;
Updating a View:
CREATE OR REPLACE VIEW high_salary_employees AS
SELECT name, salary, department
FROM employees
WHERE salary > 80000;
2. Indexes
An Index is like a book’s table of contents — it helps the database find data faster, especially in large tables.
Why use Indexes?
- Speeds up SELECT queries
- Great for columns used in WHERE, JOIN, and ORDER BY
Creating an Index:
CREATE INDEX idx_employee_name ON employees(name);
Indexes can slow down INSERT, UPDATE, DELETE because they need to update the index too.
Don’t overuse them — only on frequently searched or joined columns.
React with ❤️ if you’re ready for the next interesting concept: 🧠 Common Table Expressions (CTEs).
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
🧾 Views & Indexes (Basics)
1. Views
A View is a virtual table based on a SQL query. It doesn’t store data itself — it just stores the query logic.
Why use Views?
- Simplifies complex queries
- Improves code reusability
- Adds a layer of security by hiding certain columns
Creating a View:
CREATE VIEW high_salary_employees AS
SELECT name, salary
FROM employees
WHERE salary > 80000;
Using the View:
SELECT * FROM high_salary_employees;
Updating a View:
CREATE OR REPLACE VIEW high_salary_employees AS
SELECT name, salary, department
FROM employees
WHERE salary > 80000;
2. Indexes
An Index is like a book’s table of contents — it helps the database find data faster, especially in large tables.
Why use Indexes?
- Speeds up SELECT queries
- Great for columns used in WHERE, JOIN, and ORDER BY
Creating an Index:
CREATE INDEX idx_employee_name ON employees(name);
Indexes can slow down INSERT, UPDATE, DELETE because they need to update the index too.
Don’t overuse them — only on frequently searched or joined columns.
React with ❤️ if you’re ready for the next interesting concept: 🧠 Common Table Expressions (CTEs).
Share with credits: https://news.1rj.ru/str/sqlspecialist
Hope it helps :)
❤17👍5👏1