Data Analytics
Perfect channel to learn Data Analytics Learn SQL, Python, Alteryx, Tableau, Power BI and many more For Promotions: @coderfun @love_data
إظهار المزيد📈 نظرة تحليلية على قناة تيليجرام Data Analytics
تُعد قناة Data Analytics (@sqlspecialist) في القطاع اللغوي الإنكليزية لاعباً نشطاً. يضم المجتمع حالياً 109 719 مشتركاً، محتلاً المرتبة 1 116 في فئة التكنولوجيات والتطبيقات والمرتبة 2 331 في منطقة الهند.
📊 مؤشرات الجمهور والحراك
منذ تأسيسه في невідомо، حقق المشروع نمواً سريعاً وجمع 109 719 مشتركاً.
بحسب آخر البيانات بتاريخ 26 يونيو, 2026، تحافظ القناة على نشاط مستقر. خلال آخر 30 يوماً تغيّر عدد الأعضاء بمقدار 579، وفي آخر 24 ساعة بمقدار 1، مع بقاء الوصول العام مرتفعاً.
- حالة التحقق: غير موثّقة
- معدل التفاعل (ER): يبلغ متوسط تفاعل الجمهور 2.58%. وخلال أول 24 ساعة من النشر يحصد المحتوى عادةً 0.93% من ردود الفعل نسبةً إلى إجمالي المشتركين.
- وصول المنشورات: يحصل كل منشور على متوسط 2 827 مشاهدة. وخلال اليوم الأول يجمع عادةً 1 016 مشاهدة.
- التفاعلات والاستجابة: يتفاعل الجمهور بانتظام؛ متوسط التفاعلات لكل منشور يبلغ 7.
- الاهتمامات الموضوعية: يركز المحتوى على مواضيع رئيسية مثل row, sql, analytic, analyst, visualization.
📝 الوصف وسياسة المحتوى
يصف المؤلف القناة بأنها مساحة للتعبير عن الآراء الذاتية:
“Perfect channel to learn Data Analytics
Learn SQL, Python, Alteryx, Tableau, Power BI and many more
For Promotions: @coderfun @love_data”
بفضل وتيرة التحديث المرتفعة (أحدث البيانات بتاريخ 27 يونيو, 2026) تحافظ القناة على حداثتها ومستوى وصول مرتفع. وتُظهر التحليلات تفاعلاً نشطاً من الجمهور، ما يجعلها نقطة تأثير مهمة ضمن فئة التكنولوجيات والتطبيقات.
DELETE, TRUNCATE, and DROP in SQL?
DELETE:
- DELETE is a DML (Data Manipulation Language) command used to remove specific rows from a table based on a WHERE clause.
- It logs each row deletion in the transaction log, making it slower and allowing the operation to be rolled back.
- Triggers are fired for the operation.
Example:
DELETE FROM employees WHERE department_id = 3;
This command deletes all rows from the employees table where the department_id is 3.
TRUNCATE:
- TRUNCATE is a DDL (Data Definition Language) command used to remove all rows from a table, effectively resetting it.
- It is faster than DELETE because it doesn't log individual row deletions; instead, it logs the deallocation of the data pages.
- Triggers are not fired for the operation, and it cannot be rolled back in some databases.
Example:
TRUNCATE TABLE employees;
This command removes all rows from the employees table but retains the table structure for future use.
DROP:
- DROP is a DDL command used to delete the entire table or database from the database system.
- It completely removes the table structure along with all the data and cannot be rolled back.
Example:
DROP TABLE employees;
This command completely removes the employees table from the database.
### Key Differences:
1. Purpose:
- DELETE removes specific rows.
- TRUNCATE removes all rows but retains the table structure.
- DROP removes the entire table or database.
2. Logging and Performance:
- DELETE logs each row deletion, making it slower.
- TRUNCATE deallocates data pages, making it faster.
- DROP simply removes the entire table structure.
3. Rollback:
- DELETE can be rolled back.
- TRUNCATE might not be rolled back depending on the database system.
- DROP cannot be rolled back.
Tip: Choose the appropriate command based on the task: use DELETE for selective row removal, TRUNCATE for clearing a table while keeping its structure, and DROP when you no longer need the table or database at all.
Share with credits: https://t.me/sqlspecialist
Hope it helps :)UNION and UNION ALL in SQL.
UNION:
- Combines the result sets of two or more SELECT statements into a single result set.
- Removes duplicate rows from the combined result set.
- The columns in the SELECT statements must have the same number of columns, in the same order, with compatible data types.
Example:
SELECT first_name, last_name FROM employees
UNION
SELECT first_name, last_name FROM managers;
This query returns a list of unique first and last names from both the employees and managers tables, removing duplicates.
UNION ALL:
- Combines the result sets of two or more SELECT statements into a single result set.
- Includes all rows from the result sets, including duplicates.
- The columns in the SELECT statements must also match in number, order, and data types.
Example:
SELECT first_name, last_name FROM employees
UNION ALL
SELECT first_name, last_name FROM managers;
This query returns all first and last names from both the employees and managers tables, including any duplicates.
### Key Differences:
1. Duplicates:
- UNION removes duplicates.
- UNION ALL keeps all duplicates.
2. Performance:
- UNION is slower due to the need to remove duplicates.
- UNION ALL is faster as it doesn't need to check for duplicates.
Tip: Use UNION ALL when you are sure that there are no duplicates or when you want to retain all entries. Use UNION when you need unique records in the result set.
Here you can find SQL Interview Resources👇
https://topmate.io/analyst/864764
Share with credits: https://t.me/sqlspecialist
Hope it helps :) SELECT first_name, last_name, salary,
ROW_NUMBER() OVER (PARTITION BY department_id ORDER BY salary DESC) AS row_num
FROM employees;
2. RANK():
- Purpose: Assigns a rank to each row within the partition of a result set. The rank of a row is one plus the number of ranks that come before it.
- Example:
SELECT first_name, last_name, salary,
RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS rank
FROM employees;
3. DENSE_RANK():
- Purpose: Similar to RANK(), but ranks are consecutive integers, meaning no gaps between rank values.
- Example:
SELECT first_name, last_name, salary,
DENSE_RANK() OVER (PARTITION BY department_id ORDER BY salary DESC) AS dense_rank
FROM employees;
4. NTILE():
- Purpose: Divides the result set into a specified number of roughly equal parts, or buckets, and assigns a bucket number to each row.
- Example:
SELECT first_name, last_name, salary,
NTILE(4) OVER (ORDER BY salary DESC) AS quartile
FROM employees;
5. LAG():
- Purpose: Provides access to a row at a given physical offset that comes before the current row.
- Example:
SELECT first_name, last_name, salary,
LAG(salary, 1, 0) OVER (ORDER BY salary DESC) AS previous_salary
FROM employees;
6. LEAD():
- Purpose: Provides access to a row at a given physical offset that follows the current row.
- Example:
SELECT first_name, last_name, salary,
LEAD(salary, 1, 0) OVER (ORDER BY salary DESC) AS next_salary
FROM employees;
7. FIRST_VALUE() and LAST_VALUE():
- Purpose: Returns the first and last value in an ordered set of values.
- Example:
SELECT first_name, last_name, salary,
FIRST_VALUE(salary) OVER (ORDER BY salary DESC) AS highest_salary,
LAST_VALUE(salary) OVER (ORDER BY salary DESC) AS lowest_salary
FROM employees;
8. SUM() OVER, AVG() OVER, MIN() OVER, MAX() OVER:
- Purpose: Performs aggregate calculations over a window of rows.
- Example:
SELECT first_name, last_name, salary,
SUM(salary) OVER (PARTITION BY department_id ORDER BY salary DESC) AS running_total
FROM employees;
Tip: Window functions are essential for advanced SQL querying. They allow for complex calculations and data analysis without collapsing the result set into aggregated rows. Familiarize yourself with the syntax and use cases of each window function to effectively utilize them in your queries.
Here you can find SQL Interview Resources👇
https://topmate.io/analyst/864764
Share with credits: https://t.me/sqlspecialist
Hope it helps :) SELECT first_name, last_name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
2. Multi-row Subquery:
- Returns multiple rows and a single column.
- Example:
SELECT first_name, last_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location = 'New York');
3. Multi-column Subquery:
- Returns multiple columns and rows.
- Example:
SELECT first_name, last_name
FROM employees
WHERE (department_id, salary) IN (SELECT department_id, MAX(salary) FROM employees GROUP BY department_id);
4. Correlated Subquery:
- Refers to columns in the outer query and executes once for each row selected by the outer query.
- Example:
SELECT e1.first_name, e1.salary
FROM employees e1
WHERE e1.salary > (SELECT AVG(e2.salary) FROM employees e2 WHERE e2.department_id = e1.department_id);
Using Subqueries in Different Clauses:
1. In the SELECT Clause:
- Example:
SELECT first_name, last_name, (SELECT department_name FROM departments WHERE departments.department_id = employees.department_id) AS department
FROM employees;
2. In the FROM Clause:
- Example:
SELECT AVG(salary)
FROM (SELECT salary FROM employees WHERE department_id = 1) AS dept1_salaries;
3. In the WHERE Clause:
- Example:
SELECT first_name, last_name
FROM employees
WHERE department_id = (SELECT department_id FROM departments WHERE department_name = 'HR');
4. In the HAVING Clause:
- Example:
SELECT department_id, AVG(salary)
FROM employees
GROUP BY department_id
HAVING AVG(salary) > (SELECT AVG(salary) FROM employees);
Example Scenario:
Consider the following employees and departments tables:
-- employees table
+-------------+------------+----------+-------------+
| employee_id | first_name | salary | department_id|
+-------------+------------+----------+-------------+
| 1 | Alice | 60000 | 1 |
| 2 | Bob | 55000 | 1 |
| 3 | Carol | 75000 | 2 |
| 4 | David | 80000 | 2 |
| 5 | Eve | 72000 | 3 |
+-------------+------------+----------+-------------+
-- departments table
+---------------+-----------------+---------+
| department_id | department_name | location|
+---------------+-----------------+---------+
| 1 | HR | London |
| 2 | Finance | New York|
| 3 | IT | San Francisco|
+---------------+-----------------+---------+
Using subqueries:
-- Single-row subquery example
SELECT first_name, last_name
FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees);
-- Multi-row subquery example
SELECT first_name, last_name
FROM employees
WHERE department_id IN (SELECT department_id FROM departments WHERE location = 'New York');
-- Multi-column subquery example
SELECT first_name, last_name
FROM employees
WHERE (department_id, salary) IN (SELECT department_id, MAX(salary) FROM employees GROUP BY department_id);
-- Correlated subquery example
SELECT e1.first_name, e1.salary
FROM employees e1
WHERE e1.salary > (SELECT AVG(e2.salary) FROM employees e2 WHERE e2.department_id = e1.department_id);
Here you can find SQL Interview Resources👇
https://topmate.io/analyst/864764
Share with credits: https://t.me/sqlspecialist
Hope it helps :)GROUP BY clause to group the result set by one or more columns.
Common Aggregate Functions:
1. COUNT():
- Purpose: Returns the number of rows that match a specified condition.
- Example:
SELECT COUNT(*) AS total_employees FROM employees;
2. SUM():
- Purpose: Returns the total sum of a numeric column.
- Example:
SELECT SUM(salary) AS total_salary FROM employees;
3. AVG():
- Purpose: Returns the average value of a numeric column.
- Example:
SELECT AVG(salary) AS average_salary FROM employees;
4. MIN():
- Purpose: Returns the minimum value in a set of values.
- Example:
SELECT MIN(salary) AS minimum_salary FROM employees;
5. MAX():
- Purpose: Returns the maximum value in a set of values.
- Example:
SELECT MAX(salary) AS maximum_salary FROM employees;
Using Aggregate Functions with GROUP BY:
Aggregate functions are commonly used with the GROUP BY clause to group rows that have the same values in specified columns into summary rows.
Example:
SELECT department_id, COUNT(*) AS total_employees, AVG(salary) AS average_salary
FROM employees
GROUP BY department_id;
In this example, the query groups the employees by their department_id and calculates the total number of employees and the average salary for each department.
Example Scenario:
Consider the following employees table:
+-------------+------------+--------+-------------+
| employee_id | first_name | salary | department_id|
+-------------+------------+--------+-------------+
| 1 | Alice | 60000 | 1 |
| 2 | Bob | 55000 | 1 |
| 3 | Carol | 75000 | 2 |
| 4 | David | 80000 | 2 |
| 5 | Eve | 72000 | 3 |
+-------------+------------+--------+-------------+
Using aggregate functions:
-- COUNT example
SELECT COUNT(*) AS total_employees FROM employees;
-- SUM example
SELECT SUM(salary) AS total_salary FROM employees;
-- AVG example
SELECT AVG(salary) AS average_salary FROM employees;
-- MIN example
SELECT MIN(salary) AS minimum_salary FROM employees;
-- MAX example
SELECT MAX(salary) AS maximum_salary FROM employees;
-- Using GROUP BY
SELECT department_id, COUNT(*) AS total_employees, AVG(salary) AS average_salary
FROM employees
GROUP BY department_id;
Tip: Aggregate functions are powerful tools for summarizing and analyzing data in SQL. They are essential for generating reports and insights from large datasets. Practice using aggregate functions with and without the GROUP BY clause to understand their capabilities fully.
Here you can find SQL Interview Resources👇
https://topmate.io/analyst/864764
Like this post if you need more 👍❤️
Share with credits: https://t.me/sqlspecialist
Hope it helps :) CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
hire_date DATE
);
In this example, employee_id is the primary key of the employees table. It uniquely identifies each employee.
Foreign Key:
- Definition: A foreign key is a column (or a set of columns) in one table that uniquely identifies a row in another table. The foreign key establishes a relationship between the two tables.
- Purpose: To maintain referential integrity between the related tables by ensuring that the value in the foreign key column(s) matches a value in the referenced primary key column(s).
- Example:
CREATE TABLE departments (
department_id INT PRIMARY KEY,
department_name VARCHAR(50)
);
CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
hire_date DATE,
department_id INT,
FOREIGN KEY (department_id) REFERENCES departments(department_id)
);
In this example, department_id in the employees table is a foreign key that references department_id in the departments table. This establishes a relationship between employees and their respective departments.
Key Differences:
| Feature | Primary Key | Foreign Key |
|---------------|---------------------------------------|----------------------------------------|
| Uniqueness | Must be unique | Can have duplicate values |
| NULL Values | Cannot be NULL | Can contain NULL values |
| Purpose | Uniquely identifies each row in a table| Establishes a relationship between tables |
| Table | Each table can have only one primary key | A table can have multiple foreign keys |
| Enforcement | Enforces entity integrity | Enforces referential integrity |
Example of Referential Integrity:
-- Insert into departments
INSERT INTO departments (department_id, department_name) VALUES (1, 'HR');
INSERT INTO departments (department_id, department_name) VALUES (2, 'Finance');
-- Insert into employees
INSERT INTO employees (employee_id, first_name, last_name, hire_date, department_id)
VALUES (101, 'Alice', 'Smith', '2024-01-15', 1); -- Valid: department_id 1 exists
INSERT INTO employees (employee_id, first_name, last_name, hire_date, department_id)
VALUES (102, 'Bob', 'Brown', '2024-02-20', 3); -- Invalid: department_id 3 does not exist, will cause an error
Tip: Understanding primary and foreign keys is essential for designing relational databases that maintain data integrity and support complex relationships between tables. Always ensure that primary keys are unique and non-null and that foreign keys correctly reference existing primary key values in related tables.
Here you can find SQL Interview Resources👇
https://topmate.io/analyst/864764
Like this post if you need more 👍❤️
Share with credits: https://t.me/sqlspecialist
Hope it helps :) SELECT employees.employee_id, employees.first_name, departments.department_name
FROM employees
INNER JOIN departments ON employees.department_id = departments.department_id;
2. LEFT JOIN (or LEFT OUTER JOIN):
- Definition: Returns all rows from the left table and the matched rows from the right table. If no match is found, NULL values are returned for columns from the right table.
- Example:
SELECT employees.employee_id, employees.first_name, departments.department_name
FROM employees
LEFT JOIN departments ON employees.department_id = departments.department_id;
3. RIGHT JOIN (or RIGHT OUTER JOIN):
- Definition: Returns all rows from the right table and the matched rows from the left table. If no match is found, NULL values are returned for columns from the left table.
- Example:
SELECT employees.employee_id, employees.first_name, departments.department_name
FROM employees
RIGHT JOIN departments ON employees.department_id = departments.department_id;
4. FULL JOIN (or FULL OUTER JOIN):
- Definition: Returns all rows when there is a match in either left or right table. If there is no match, the result is NULL from the side where there is no match.
- Example:
SELECT employees.employee_id, employees.first_name, departments.department_name
FROM employees
FULL OUTER JOIN departments ON employees.department_id = departments.department_id;
5. CROSS JOIN:
- Definition: Returns the Cartesian product of both tables, i.e., it combines each row of the first table with all rows of the second table.
- Example:
SELECT employees.first_name, departments.department_name
FROM employees
CROSS JOIN departments;
6. SELF JOIN:
- Definition: A join where a table is joined with itself.
- Example:
SELECT e1.employee_id, e1.first_name, e2.first_name AS manager_name
FROM employees e1
INNER JOIN employees e2 ON e1.manager_id = e2.employee_id;
Like this post if you need more 👍❤️
Share with credits: https://t.me/sqlspecialist
Hope it helps :) CREATE TABLE employees (
employee_id INT PRIMARY KEY,
first_name VARCHAR(50),
last_name VARCHAR(50),
hire_date DATE
);
- ALTER: Modifies the structure of an existing table.
ALTER TABLE employees ADD COLUMN salary DECIMAL(10, 2);
- DROP: Deletes a table, view, or other database objects.
DROP TABLE employees;
2. DML (Data Manipulation Language):
- Purpose: Manipulates the data stored in the database.
- Commands:
- SELECT: Retrieves data from one or more tables.
SELECT first_name, last_name FROM employees;
- INSERT: Adds new rows of data into a table.
INSERT INTO employees (employee_id, first_name, last_name, hire_date)
VALUES (1, 'John', 'Doe', '2024-07-28');
- UPDATE: Modifies existing data within a table.
UPDATE employees SET salary = 60000 WHERE employee_id = 1;
- DELETE: Removes rows of data from a table.
DELETE FROM employees WHERE employee_id = 1;
3. DCL (Data Control Language):
- Purpose: Controls access to the data within the database.
- Commands:
- GRANT: Provides specific privileges to users.
GRANT SELECT ON employees TO user_name;
- REVOKE: Removes specific privileges from users.
REVOKE SELECT ON employees FROM user_name;
4. TCL (Transaction Control Language):
- Purpose: Manages transactions within a database to ensure data integrity.
- Commands:
- COMMIT: Saves the changes made by the current transaction.
COMMIT;
- ROLLBACK: Undoes the changes made by the current transaction.
ROLLBACK;
- SAVEPOINT: Sets a savepoint within a transaction to which a rollback can occur.
SAVEPOINT savepoint_name;
Tip: Freshers should focus on mastering the syntax and use cases of these commands to effectively interact with relational databases.
Like this post if you need more 👍❤️
Share with credits: https://t.me/sqlspecialist
Hope it helps :)DELETE command is used to remove rows from a table based on a specified condition. It can delete all rows or specific rows that match the condition. DELETE operations can be rolled back if they are part of a transaction.
Example:
DELETE FROM employees WHERE department_id = 10;
Key Points:
- Deletes specified rows.
- Can use a WHERE clause to filter rows.
- Triggers are fired.
- Slower compared to TRUNCATE for large data sets due to row-by-row deletion.
- Transactional and can be rolled back.
TRUNCATE:
The TRUNCATE command is used to remove all rows from a table. It is faster than DELETE because it does not log individual row deletions. TRUNCATE operations cannot be rolled back if they are not part of a transaction.
Example:
TRUNCATE TABLE employees;
Key Points:
- Deletes all rows from a table.
- Cannot use a WHERE clause.
- Resets table's identity column (if any).
- Does not fire triggers.
- Faster than DELETE due to minimal logging.
- Transactional and can be rolled back only if part of a transaction.
DROP:
The DROP command is used to remove a table or database entirely from the database. This operation deletes the table schema and all its data, and it cannot be rolled back.
Example:
DROP TABLE employees;
Key Points:
- Deletes the entire table schema and data.
- Irreversible and cannot be rolled back.
- Removes all associated objects like constraints, triggers, and indexes.
- Not transactional.
Tip: Use DELETE when you need to remove specific rows and want the operation to be logged and potentially rolled back. Use TRUNCATE for quickly removing all rows in a table while retaining the table structure. Use DROP when you need to permanently remove a table and its schema from the database.
Here you can find SQL Interview Resources👇
https://topmate.io/analyst/864764
Like this post if you need more 👍❤️
Share with credits: https://t.me/sqlspecialist
Hope it helps :)
متاح الآن! بحث تيليغرام 2025 — أهم رؤى العام 
