Changes between Initial Version and Version 1 of AdvancedReport16


Ignore:
Timestamp:
08/21/26 06:49:12 (28 hours ago)
Author:
235018
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AdvancedReport16

    v1 v1  
     1= Each store's average pay
     2{{{#!sql
     3CREATE OR REPLACE FUNCTION get_stores_average_pay()
     4RETURNS TABLE (
     5    store_id INT,
     6    store_name TEXT,
     7    average_pay NUMERIC
     8)
     9LANGUAGE plpgsql
     10AS $$
     11BEGIN
     12    RETURN QUERY
     13    SELECT
     14        s.store_id,
     15        s.name AS store_name,
     16        COALESCE(AVG(w.wage), 0) AS average_pay
     17    FROM store s
     18    LEFT JOIN worked w
     19        ON s.store_id = w.store_id
     20    GROUP BY
     21        s.store_id,
     22        s.name
     23    ORDER BY
     24        average_pay DESC;
     25END;
     26$$;
     27
     28}}}
     29
     30== Relational Algebra
     31- S(store_id, name, date_of_founding, physical_address, store_email, rating)
     32- W(id, date, store_ID, week, total_week, pay_method, wage, working_hours)
     33
     34**JOIN stores with employee records:**
     35- J1 ← S ⟕S.store_id = W.store_ID W
     36
     37**Calculate average wage for each store:**
     38- R ← γstore_id, name;
     39     AVG(wage) → average_pay
     40     (J1)
     41
     42**Sort by average wage:**
     43- R_final ← τaverage_pay DESC(R)
     44
     45