Data Analytics
Perfect channel to learn Data Analytics Learn SQL, Python, Alteryx, Tableau, Power BI and many more For Promotions: @coderfun @love_data
Show more๐ Analytical overview of Telegram channel Data Analytics
Channel Data Analytics (@sqlspecialist) in the English language segment is an active participant. Currently, the community unites 109 715 subscribers, ranking 1 117 in the Technologies & Applications category and 2 334 in the India region.
๐ Audience metrics and dynamics
Since its creation on ะฝะตะฒัะดะพะผะพ, the project has demonstrated rapid growth, gathering an audience of 109 715 subscribers.
According to the latest data from 25 June, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by 596 over the last 30 days and by 55 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 2.69%. Within the first 24 hours after publication, content typically collects 0.78% reactions from the total number of subscribers.
- Post reach: On average, each post receives 2 948 views. Within the first day, a publication typically gains 853 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 8.
- Thematic interests: Content is focused on key topics such as row, sql, analytic, analyst, visualization.
๐ Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
โPerfect channel to learn Data Analytics
Learn SQL, Python, Alteryx, Tableau, Power BI and many more
For Promotions: @coderfun @love_dataโ
Thanks to the high frequency of updates (latest data received on 26 June, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
-- Find employees earning more than the average salary
SELECT Name, Salary
FROM Employees
WHERE Salary > (SELECT AVG(Salary) FROM Employees);
Example 2: Multi-row Subquery
-- Find employees in specific departments
SELECT Name
FROM Employees
WHERE DepartmentID IN (SELECT DepartmentID FROM Departments WHERE Location = 'NY');
Example 3: Correlated Subquery
-- Find employees with the highest salary in each department
SELECT Name, Salary
FROM Employees E1
WHERE Salary = (
SELECT MAX(Salary)
FROM Employees E2
WHERE E1.DepartmentID = E2.DepartmentID
);
2. Common Table Expressions (CTEs)
CTEs provide a way to define temporary result sets that can be reused in the main query.
Syntax:
WITH CTEName AS (
SELECT Column1, Column2
FROM TableName
WHERE Condition
)
SELECT *
FROM CTEName;
Example 1: Simple CTE
-- Get total salary per department
WITH DepartmentSalary AS (
SELECT DepartmentID, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY DepartmentID
)
SELECT *
FROM DepartmentSalary;
Example 2: Recursive CTE Used for hierarchical data (e.g., organizational structures).
WITH RecursiveCTE AS (
-- Anchor member
SELECT EmployeeID, ManagerID, Name
FROM Employees
WHERE ManagerID IS NULL
UNION ALL
-- Recursive member
SELECT E.EmployeeID, E.ManagerID, E.Name
FROM Employees E
INNER JOIN RecursiveCTE R
ON E.ManagerID = R.EmployeeID
)
SELECT *
FROM RecursiveCTE;
Action Steps
1. Practice writing subqueries in WHERE, SELECT, and FROM.
2. Use a CTE to simplify complex queries.
3. Create a recursive CTE for hierarchical data if applicable.
๐ SQL 30 Days Challenge
Here you can find SQL Interview Resources๐
https://topmate.io/analyst/864764
Like this post if you want me to continue this SQL series ๐โฅ๏ธ
Share with credits: https://t.me/sqlspecialist
Hope it helps :)SELECT Employees.Name, Departments.DepartmentName
FROM Employees
INNER JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
2. LEFT JOIN (or LEFT OUTER JOIN)
Returns all rows from the left table and matching rows from the right table. Non-matching rows in the right table return NULL.
Example:
SELECT Employees.Name, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
3. RIGHT JOIN (or RIGHT OUTER JOIN)
Returns all rows from the right table and matching rows from the left table. Non-matching rows in the left table return NULL.
Example:
SELECT Employees.Name, Departments.DepartmentName
FROM Employees
RIGHT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
4. FULL JOIN (or FULL OUTER JOIN)
Returns all rows when there is a match in either table. Rows without matches return NULL.
Example:
SELECT Employees.Name, Departments.DepartmentName
FROM Employees
FULL JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID;
5. SELF JOIN
A SELF JOIN is a table joined with itself, useful for hierarchical or relationship data.
Syntax:
SELECT A.Column1, B.Column2
FROM TableName A
INNER JOIN TableName B
ON A.CommonColumn = B.CommonColumn;
Example:
-- Find employees with the same manager
SELECT A.Name AS Employee, B.Name AS Manager
FROM Employees A
INNER JOIN Employees B
ON A.ManagerID = B.EmployeeID;
6. CROSS JOIN
Combines each row from the first table with all rows from the second table, creating a Cartesian product.
Syntax:
SELECT *
FROM Table1
CROSS JOIN Table2;
Example:
SELECT Employees.Name, Projects.ProjectName
FROM Employees
CROSS JOIN Projects;
Combining Joins with Filters
Use WHERE or ON to refine join results.
Example:
-- Employees without departments
SELECT Employees.Name, Departments.DepartmentName
FROM Employees
LEFT JOIN Departments
ON Employees.DepartmentID = Departments.DepartmentID
WHERE Departments.DepartmentName IS NULL;
Action Steps
1. Practice SELF JOIN for hierarchical relationships like managers and employees.
2. Use CROSS JOIN to generate all possible combinations of two tables.
3. Review and compare the results of all join types in your dataset.-- Total salary per department
SELECT Department, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY Department;
2. Filtering Groups with HAVING
Use HAVING to filter groups created by GROUP BY.
Similar to WHERE, but for aggregated data.
Example:
-- Departments with total salary > 100000
SELECT Department, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY Department
HAVING SUM(Salary) > 100000;
3. Combining WHERE, GROUP BY, and HAVING
Use WHERE to filter rows before grouping.
Use HAVING to filter groups after aggregation.
Example:
-- Total salary of IT department with salary > 40000
SELECT Department, SUM(Salary) AS TotalSalary
FROM Employees
WHERE Salary > 40000
GROUP BY Department
HAVING SUM(Salary) > 100000;
4. Sorting Groups with ORDER BY
Sort grouped data using ORDER BY.
Example:
-- Sort by total salary (descending)
SELECT Department, SUM(Salary) AS TotalSalary
FROM Employees
GROUP BY Department
ORDER BY TotalSalary DESC;
Action Steps
1. Group data by a column (e.g., department) and use aggregate functions.
2. Filter groups using HAVING.
3. Sort grouped data with ORDER BY.
These are very useful SQL concepts, so I would recommend you solve problems related to GROUP BY & HAVING from leetcode or Stratascrach today itself. Start with easy ones and increase difficulty level as you proceed.
๐ SQL 30 Days Challenge
Here you can find SQL Interview Resources๐
https://topmate.io/analyst/864764
Like this post if you want me to continue this SQL series ๐โฅ๏ธ
Share with credits: https://t.me/sqlspecialist
Hope it helps :)SELECT SUM(Salary) AS TotalSalary
FROM Employees;
2. AVG: Calculate the Average
The AVG() function calculates the average value of a numeric column.
Example:
SELECT AVG(Salary) AS AverageSalary
FROM Employees;
3. MIN and MAX: Find the Lowest and Highest Values
MIN() finds the smallest value.
MAX() finds the largest value.
Examples:
-- Lowest salary
SELECT MIN(Salary) AS LowestSalary
FROM Employees;
-- Highest salary
SELECT MAX(Salary) AS HighestSalary
FROM Employees;
4. COUNT: Count Rows
The COUNT() function counts the number of rows.
Examples:
-- Count all rows
SELECT COUNT(*) AS TotalEmployees
FROM Employees;
-- Count employees in a specific department
SELECT COUNT(*) AS TotalITEmployees
FROM Employees
WHERE Department = 'IT';
5. Combining Aggregates
You can use multiple aggregate functions in one query.
Example:
SELECT
COUNT(*) AS TotalEmployees,
AVG(Salary) AS AverageSalary,
MAX(Salary) AS HighestSalary
FROM Employees;
Action Steps
1. Find the total, average, minimum, and maximum salaries in your table.
2. Count rows based on specific conditions (e.g., employees in a department).
3. Combine multiple aggregates in a single query.
๐ SQL 30 Days Challenge
Here you can find SQL Interview Resources๐
https://topmate.io/analyst/864764
Like this post if you want me to continue this SQL series ๐โฅ๏ธ
Share with credits: https://t.me/sqlspecialist
Hope it helps :)SELECT * FROM Employees
WHERE Department = 'IT';
2. Using LIKE for Pattern Matching
Use LIKE with wildcards to match patterns:
%: Matches zero or more characters.
_: Matches a single character.
Examples:
-- Names starting with 'J'
SELECT * FROM Employees
WHERE Name LIKE 'J%';
-- Names ending with 'n'
SELECT * FROM Employees
WHERE Name LIKE '%n';
-- Names with 'a' as the second character
SELECT * FROM Employees
WHERE Name LIKE '_a%';
3. Using IN for Specific Values
Use IN to filter rows matching a list of values.
Example:
SELECT * FROM Employees
WHERE Department IN ('IT', 'Finance');
4. Using BETWEEN for Ranges
Use BETWEEN to filter data within a range (inclusive).
Examples:
-- Salaries between 40000 and 60000
SELECT * FROM Employees
WHERE Salary BETWEEN 40000 AND 60000;
-- Hire dates in 2023
SELECT * FROM Employees
WHERE HireDate BETWEEN '2023-01-01' AND '2023-12-31';
Combining Conditions with AND & OR
Example:
WHERE Department = 'IT' AND Salary > 50000;
```SELECT * FROM Employees
WHERE Department = 'HR' OR Salary < 40000;`
Action Steps
1. Retrieve rows using LIKE to match patterns in a column.
2. Filter rows using IN and BETWEEN.
3. Combine conditions with AND and OR.
๐ SQL 30 Days Challenge
Here you can find SQL Interview Resources๐
https://topmate.io/analyst/864764
Like this post if you want me to continue this SQL series ๐โฅ๏ธ
Share with credits: https://t.me/sqlspecialist
Hope it helps :)UPDATE Employees
SET Department = 'Finance', Salary = 60000
WHERE EmployeeID = 2;
Deleting All Rows
To delete all rows without removing the table structure, skip the WHERE clause.
Example:
DELETE FROM Employees;
Truncating Data
If you need to quickly remove all rows while resetting the auto-increment counters, use TRUNCATE.
Example:
TRUNCATE TABLE Employees;
Action Steps
1. Update a column value (e.g., increase all salaries by 10%).
UPDATE Employees
SET Salary = Salary * 1.1;
2. Delete a specific row based on a condition.
3. Optionally, practice truncating your table (use carefully!).
SQL 30 Days Challenge
Here you can find SQL Interview Resources๐
https://topmate.io/analyst/864764
Like this post if you want me to continue this SQL series ๐โฅ๏ธ
Share with credits: https://t.me/sqlspecialist
Hope it helps :)
Available now! Telegram Research 2025 โ the year's key insights 
