Data Analysis Books | Python | SQL | Excel | Artificial Intelligence | Power BI | Tableau | AI Resources
Data Analysis Useful Resources #dataanalysis #dataanalysisbooks #sqlbooks #pythonbooks #tableau #powerbi #datavisualization For promotions: @coderfun
نمایش بیشتر📈 تحلیل کانال تلگرام Data Analysis Books | Python | SQL | Excel | Artificial Intelligence | Power BI | Tableau | AI Resources
کانال Data Analysis Books | Python | SQL | Excel | Artificial Intelligence | Power BI | Tableau | AI Resources (@learndataanalysis) در بخش زبانی انگلیسی بازیگری فعال است. در حال حاضر جامعه شامل 51 819 مشترک است و جایگاه 3 359 را در دسته آموزش و رتبه 7 261 را در منطقه الهند دارد.
📊 شاخصهای مخاطب و پویایی
از زمان ایجاد در невідомо، پروژه رشد سریعی داشته و 51 819 مشترک جذب کرده است.
بر اساس آخرین دادهها در تاریخ 13 ژوئن, 2026، کانال فعالیت پایداری دارد. در ۳۰ روز گذشته تغییر اعضا برابر 494 و در ۲۴ ساعت گذشته برابر 39 بوده و همچنان دسترسی گستردهای حفظ شده است.
- وضعیت تأیید: تأیید نشده
- نرخ تعامل (ER): میانگین تعامل مخاطب 7.77% است و در ۲۴ ساعت نخست پس از انتشار، محتوا معمولاً 1.34% واکنش نسبت به کل مشترکان کسب میکند.
- دسترسی پستها: هر پست به طور میانگین 4 024 بازدید دریافت میکند. در اولین روز معمولاً 693 بازدید جمعآوری میشود.
- واکنشها و تعامل: مخاطبان بهطور فعال حمایت میکنند؛ میانگین واکنش به هر پست 8 است.
- علایق موضوعی: محتوا بر موضوعات کلیدی مانند analyst, |--, excel, visualization, analytic تمرکز دارد.
📝 توضیح و سیاست محتوایی
نویسنده این فضا را محل بیان دیدگاههای شخصی توصیف میکند:
“Data Analysis Useful Resources
#dataanalysis
#dataanalysisbooks
#sqlbooks
#pythonbooks
#tableau
#powerbi
#datavisualization
For promotions: @coderfun”
به لطف بهروزرسانیهای پرتکرار (آخرین داده در تاریخ 14 ژوئن, 2026)، کانال همواره بهروز و دارای دسترسی بالاست. تحلیلها نشان میدهد مخاطبان بهطور فعال با محتوا تعامل دارند و آن را به نقطه اثرگذاری مهم در دسته آموزش تبدیل کردهاند.
SELECT AVG(salary) AS average_salary FROM employees;
Find Median (Using Window Functions) SELECT salary FROM ( SELECT salary, ROW_NUMBER() OVER (ORDER BY salary) AS row_num, COUNT(*) OVER () AS total_rows FROM employees ) subquery WHERE row_num = (total_rows / 2);
Find Mode (Most Frequent Value)
SELECT department, COUNT(*) AS count FROM employees GROUP BY department ORDER BY count DESC LIMIT 1;
Calculate Variance & Standard Deviation
SELECT VARIANCE(salary) AS salary_variance, STDDEV(salary) AS salary_std_dev FROM employees;
In Python (Pandas):
Mean, Median, Mode
df['salary'].mean() df['salary'].median() df['salary'].mode()[0]
Variance & Standard Deviation
df['salary'].var() df['salary'].std()
2️⃣ Data Visualization
Visualizing data helps identify trends, outliers, and patterns.
In SQL (For Basic Visualization in Some Databases Like PostgreSQL):
Create Histogram (Approximate in SQL)
SELECT salary, COUNT(*) FROM employees GROUP BY salary ORDER BY salary;
In Python (Matplotlib & Seaborn):
Bar Chart (Category-Wise Sales)
import matplotlib.pyplot as plt
import seaborn as sns
df.groupby('category')['sales'].sum().plot(kind='bar')
plt.title('Total Sales by Category')
plt.xlabel('Category')
plt.ylabel('Sales')
plt.show()
Histogram (Salary Distribution)
sns.histplot(df['salary'], bins=10, kde=True)
plt.title('Salary Distribution')
plt.show()
Box Plot (Outliers in Sales Data)
sns.boxplot(y=df['sales'])
plt.title('Sales Data Outliers')
plt.show()
Heatmap (Correlation Between Variables)
sns.heatmap(df.corr(), annot=True, cmap='coolwarm') plt.title('Feature Correlation Heatmap') plt.show()
3️⃣ Detecting Anomalies & Outliers
Outliers can skew results and should be identified.
In SQL:
Find records with unusually high salaries
SELECT * FROM employees WHERE salary > (SELECT AVG(salary) + 2 * STDDEV(salary) FROM employees);
In Python (Pandas & NumPy):
Using Z-Score (Values Beyond 3 Standard Deviations)
from scipy import stats df['z_score'] = stats.zscore(df['salary']) df_outliers = df[df['z_score'].abs() > 3]
Using IQR (Interquartile Range)
Q1 = df['salary'].quantile(0.25)
Q3 = df['salary'].quantile(0.75)
IQR = Q3 - Q1
df_outliers = df[(df['salary'] < (Q1 - 1.5 * IQR)) | (df['salary'] > (Q3 + 1.5 * IQR))]
4️⃣ Key EDA Steps
Understand the Data → Check missing values, duplicates, and column types
Summarize Statistics → Mean, Median, Standard Deviation, etc.
Visualize Trends → Histograms, Box Plots, Heatmaps
Detect Outliers & Anomalies → Z-Score, IQR
Feature Engineering → Transform variables if needed
Mini Task for You: Write an SQL query to find employees whose salaries are above two standard deviations from the mean salary.
Here you can find the roadmap for data analyst: https://t.me/sqlspecialist/1159
Like this post if you want me to continue covering all the topics! ❤️
Share with credits: https://t.me/sqlspecialist
Hope it helps :)
#sqlSELECT e.name, e.salary, d.department_name
FROM employees e
INNER JOIN departments d ON e.department = d.department_id;
• LEFT JOIN: Returns all rows from the left table and matched rows from the right table. If no match, returns NULL.
SELECT e.name, e.salary, d.department_name
FROM employees e
LEFT JOIN departments d ON e.department = d.department_id;
• RIGHT JOIN: Returns all rows from the right table and matched rows from the left table. If no match, returns NULL.
SELECT e.name, e.salary, d.department_name
FROM employees e
RIGHT JOIN departments d ON e.department = d.department_id;
• FULL OUTER JOIN: Returns all rows when there is a match in one of the tables.
SELECT e.name, e.salary, d.department_name
FROM employees e
FULL OUTER JOIN departments d ON e.department = d.department_id;
6. Subqueries and Nested Queries
Subqueries are queries embedded inside other queries. They can be used in the SELECT, FROM, and WHERE clauses.
Correlated Subqueries
A correlated subquery references columns from the outer query.
-- Find employees with salaries above the average salary of their department
SELECT name, salary
FROM employees e1
WHERE salary > (SELECT AVG(salary)
FROM employees e2
WHERE e1.department = e2.department);
Using Subqueries in SELECT
You can also use subqueries in the SELECT statement:
SELECT name,
(SELECT AVG(salary) FROM employees) AS avg_salary
FROM employees;
7. Advanced SQL
Window Functions
Window functions perform calculations across a set of table rows related to the current row. They do not collapse rows like GROUP BY.
-- Rank employees by salary within each department
SELECT name, department, salary,
RANK() OVER (PARTITION BY department ORDER BY salary DESC) AS rank
FROM employees;
Common Table Expressions (CTEs)
A CTE is a temporary result set that can be referenced within a SELECT, INSERT, UPDATE, or DELETE statement.
-- Calculate department-wise average salary using a CTE
WITH avg_salary_cte AS (
SELECT department, AVG(salary) AS avg_salary
FROM employees
GROUP BY department
)
SELECT e.name, e.salary, a.avg_salary
FROM employees e
JOIN avg_salary_cte a ON e.department = a.department;
8. Data Transformation and Cleaning
CASE Statements
The CASE statement allows you to perform conditional logic within SQL queries.
-- Categorize employees based on salary
SELECT name,
CASE
WHEN salary < 50000 THEN 'Low'
WHEN salary BETWEEN 50000 AND 100000 THEN 'Medium'
ELSE 'High'
END AS salary_category
FROM employees;
String Functions
SQL offers several functions to manipulate strings:
-- Concatenate first and last names
SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees;
-- Trim extra spaces from a string
SELECT TRIM(name) FROM employees;
Date and Time Functions
SQL allows you to work with date and time values:
-- Calculate tenure in days
SELECT name, DATEDIFF(CURDATE(), hire_date) AS days_tenure
FROM employees;
9. Database Management
Indexing
Indexes improve query performance by allowing faster retrieval of rows.
-- Create an index on the department column for faster lookups
CREATE INDEX idx_department ON employees(department);
Views
A view is a virtual table based on the result of a query. It simplifies complex queries by allowing you to reuse the logic.
-- Create a view for high-salary employees
CREATE VIEW high_salary_employees AS
SELECT name, salary
FROM employees
WHERE salary > 100000;
-- Query the view
SELECT * FROM high_salary_employees;
Transactions
A transaction ensures that a series of SQL operations are completed successfully. If any part fails, the entire transaction can be rolled back to maintain data integrity.
-- -- Transaction example
START TRANSACTION;
UPDATE employees SET salary = salary + 5000 WHERE department = 'HR';
DELETE FROM employees WHERE id = 10;
COMMIT; -- Commit the transaction if all
Best SQL Interview Resources-- Create a table with columns for ID, name, salary, and hire date
CREATE TABLE employees (
id INT PRIMARY KEY,
name VARCHAR(50),
salary DECIMAL(10, 2),
hire_date DATE
);
-- Alter an existing table to add a new column for department
ALTER TABLE employees ADD department VARCHAR(50);
-- Drop a table (delete it from the database)
DROP TABLE employees;
Data Insertion, Updating, and Deletion
SQL allows you to manipulate data using INSERT, UPDATE, and DELETE commands:
-- Insert a new employee record
INSERT INTO employees (id, name, salary, hire_date, department)
VALUES (1, 'Alice', 75000.00, '2022-01-15', 'HR');
-- Update the salary of employee with id 1
UPDATE employees
SET salary = 80000
WHERE id = 1;
-- Delete the employee record with id 1
DELETE FROM employees WHERE id = 1;
3. Data Retrieval
SELECT Statement
The SELECT statement is used to retrieve data from a database:
SELECT * FROM employees; -- Retrieve all columns
SELECT name, salary FROM employees; -- Retrieve specific columns
Filtering Data with WHERE
The WHERE clause filters data based on specific conditions:
SELECT * FROM employees
WHERE salary > 60000 AND department = 'HR'; -- Filter records based on salary and department
Sorting Data with ORDER BY
The ORDER BY clause sorts the result set by one or more columns:
SELECT * FROM employees
ORDER BY salary DESC; -- Sort by salary in descending order
Aliasing
You can use aliases to rename columns or tables for clarity:
SELECT name AS employee_name, salary AS monthly_salary FROM employees;
4. Aggregate Functions
Aggregate functions perform calculations on a set of values and return a single result.
Common Aggregate Functions
SELECT COUNT(*) AS total_employees, AVG(salary) AS average_salary
FROM employees; -- Count total employees and calculate the average salary
GROUP BY and HAVING
• GROUP BY is used to group rows sharing the same value in a column.
• HAVING filters groups based on aggregate conditions.
-- Find average salary by department
SELECT department, AVG(salary) AS average_salary
FROM employees
GROUP BY department;
-- Filter groups with more than 5 employees
SELECT department, COUNT(*) AS employee_count
FROM employees
GROUP BY department
HAVING COUNT(*) > 5;
5. Joins
Joins are used to combine rows from two or more tables based on related columns.
Types of Joins
اکنون در دسترس! پژوهش تلگرام ۲۰۲۵ — مهمترین بینشهای سال 
