1.
Single-Row Functions
        Query 1: Using COUNT() to count the number of employees
         SELECT UPPER(first_name), LOWER(last_name)
        FROM employees;
2 Query 2: Using AVG() to calculate the average salary
   SELECT department_id, AVG(salary) AS average_salary
   FROM employees
  GROUP BY department_id;
        3.Group Functions
Query 1: Using COUNT() to count the number of employees
sql
Copy code
SELECT department_id, COUNT(*) AS employee_count
FROM employees
GROUP BY department_id;
Query 2: Using AVG() to calculate the average salary
sql
Copy code
SELECT department_id, AVG(salary) AS average_salary
FROM employees
GROUP BY department_id;
    2. Subqueries
        Query 1: Subquery to find employees with a salary higher than the average salary
        sql
        Copy code
        SELECT first_name, last_name, salary
        FROM employees
        WHERE salary > (SELECT AVG(salary) FROM employees);
Query 2: Subquery to find employees in departments with more than 10 employees
sql
Copy code
SELECT first_name, last_name, department_id
FROM employees
WHERE department_id IN (SELECT department_id FROM employees GROUP BY
department_id HAVING CO
   3. Joins
Query 1: Inner Join to get employee names and their department names
sql
Copy code
SELECT e.first_name, e.last_name, d.department_name
FROM employees e
INNER JOIN departments d
ON e.department_id = d.department_id;
Query 2: Left Join to get employee names and their manager's name
sql
Copy code
SELECT e.first_name AS Employee, m.first_name AS Manager
FROM employees e
LEFT JOIN employees m ON e.manager_id = m.employee_id;