Module 4 – Modifying and Analyzing Data with SQL Functions

 

 

Inserting and Updating Data:

1. INSERT Statement for Adding New Records:

   - Syntax:

     ```sql

     INSERT INTO employees (employee_id, employee_name, salary) VALUES (101, 'John Doe', 50000);

     ```

   - Best Practices:

     - Always specify column names when using the INSERT statement.

     - Ensure data types match the table schema.


2. UPDATE Statement for Modifying Existing Data:

   - Syntax:

     ```sql

     UPDATE employees SET salary = 55000 WHERE employee_id = 101;

     ```

   - Best Practices:

     - Use the WHERE clause to update specific records.

     - Double-check conditions to avoid unintended updates.


3. Deleting Data:

   - Understanding the DELETE Statement:

     - Syntax:

       ```sql

       DELETE FROM employees WHERE employee_id = 101;

       ```

     - Considerations:

       - Always use the WHERE clause to avoid unintentional data loss.

       - Be cautious when deleting from tables with relationships.


Aggregate Functions Revisited:


4. In-Depth Exploration of Aggregate Functions:

   - Common Aggregate Functions:

     - COUNT, SUM, AVG, MIN, MAX.

   - Syntax:

     ```sql

     SELECT AVG(salary) AS average_salary FROM employees;

     ```

   - Practical Applications:

     - Analyzing sales data, calculating average order value.


5. HAVING Clause for Filtering Results of Aggregate Functions:

   - Syntax:

     ```sql

     SELECT department_id, AVG(salary) AS avg_salary

     FROM employees

     GROUP BY department_id

     HAVING AVG(salary) > 60000;

     ```

   - Use Cases:

     - Filtering departments with average salaries above a certain threshold.


Window Functions:


6. Introduction to Window Functions:

   - Common Window Functions:

     - ROW_NUMBER(), RANK(), DENSE_RANK().

   - Syntax:

     ```sql

     SELECT employee_name, salary, ROW_NUMBER() OVER (ORDER BY salary DESC) AS rank

     FROM employees;

     ```

   - Analytical Functions for Running Totals and Averages:

     ```sql

     SELECT date, revenue, SUM(revenue) OVER (ORDER BY date) AS running_total

     FROM sales_data;

     ```


Common Table Expressions (CTEs):


7. Definition and Purpose of CTEs:

   - Definition:

     - A CTE is a named temporary result set that you can reference within a SELECT, INSERT, UPDATE, or DELETE statement.

   - Syntax:

     ```sql

     WITH high_salary_employees AS (

       SELECT employee_name, salary

       FROM employees

       WHERE salary > 60000

     )

     SELECT * FROM high_salary_employees;

     ```

   - Benefits:

     - Enhances readability and maintainability of complex queries.


8. Examples Illustrating the Benefits of CTEs:

   - Scenario:

     - Analyzing quarterly sales trends using a CTE.

     ```sql

     WITH quarterly_sales AS (

       SELECT quarter, SUM(revenue) AS total_revenue

       FROM sales_data

       GROUP BY quarter

     )

     SELECT * FROM quarterly_sales;

     ```


Key Takeaways:


- Advanced Data Modification Skills: Participants will master the art of modifying data using INSERT, UPDATE, and DELETE statements.


- Enhanced Data Analysis: Proficiency in using aggregate functions, HAVING clauses, window functions, and CTEs for insightful data analysis.


- Data Integrity and Best Practices: Understanding the importance of maintaining data integrity during modification and following best practices to avoid pitfalls.


Congratulations on completing Lesson 4! In our next module, we'll explore the world of operators in SQL, providing you with the tools to fine-tune your queries and unlock new possibilities in data manipulation. Keep practicing, and happy querying!


Modules