From c96456fe56a59f13e1ea9562682aa9606258315e Mon Sep 17 00:00:00 2001 From: Parth Modi Date: Sat, 4 Jan 2025 07:56:58 +0100 Subject: [PATCH 1/2] sql4 --- friendrequest2.sql | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 friendrequest2.sql diff --git a/friendrequest2.sql b/friendrequest2.sql new file mode 100644 index 0000000..91364b1 --- /dev/null +++ b/friendrequest2.sql @@ -0,0 +1,20 @@ +# Write your MySQL query statement below +WITH CTE AS(SELECT accepter_id +FROM + RequestAccepted +UNION ALL +SELECT requester_id +FROM + RequestAccepted +), +counter_table AS ( + SELECT accepter_id as id, + COUNT(accepter_id) as num + FROM CTE + GROUP BY accepter_id + ) + + SELECT id, num + FROM counter_table + ORDER BY num DESC + LIMIT 1; \ No newline at end of file From 3590ff932ae2592549c2113e49aea1903cdff7ac Mon Sep 17 00:00:00 2001 From: Parth Modi Date: Sat, 4 Jan 2025 07:57:24 +0100 Subject: [PATCH 2/2] sql4completed --- LeagueStatistics1.sql | 30 ++++++++++++++++++++++++++++++ SalesPerson.sql | 28 ++++++++++++++++++++++++++++ SeniorsJuniorstoJointhecompany.sql | 16 ++++++++++++++++ 3 files changed, 74 insertions(+) create mode 100644 LeagueStatistics1.sql create mode 100644 SalesPerson.sql create mode 100644 SeniorsJuniorstoJointhecompany.sql diff --git a/LeagueStatistics1.sql b/LeagueStatistics1.sql new file mode 100644 index 0000000..7609853 --- /dev/null +++ b/LeagueStatistics1.sql @@ -0,0 +1,30 @@ +# Write your MySQL query statement below +WITH CTE AS ( + SELECT home_team_id as r1, + home_team_goals as goals_home, + away_team_goals as goals_away + FROM Matches + UNION ALL + SELECT away_team_id as r1, + away_team_goals as goals_home, + home_team_goals as goals_away + FROM Matches +) + +SELECT + t.team_name, + COUNT(r1) AS matches_played, + SUM(CASE + WHEN c.goals_home > c.goals_away THEN 3 + WHEN c.goals_home = c.goals_away THEN 1 + ELSE 0 + END) AS points, + SUM(c.goals_home) AS goal_for, + SUM(c.goals_away) AS goal_against, + SUM(c.goals_home) - SUM(c.goals_away) AS goal_diff + FROM Teams t + INNER JOIN + CTE c + ON t.team_id = c.r1 + GROUP BY c.r1 + ORDER BY points DESC, goal_diff DESC, t.team_name; \ No newline at end of file diff --git a/SalesPerson.sql b/SalesPerson.sql new file mode 100644 index 0000000..6edce5a --- /dev/null +++ b/SalesPerson.sql @@ -0,0 +1,28 @@ +# Write your MySQL query statement below +#-----------------------Using CTE-------------------------------------------------------- +WITH CTE AS( + SELECT o.sales_id + FROM + Orders o + LEFT JOIN + Company c + ON o.com_id = c.com_id + WHERE c.name = "RED" +) +SELECT s.name +FROM SalesPerson s +WHERE s.sales_id NOT IN (SELECT sales_id FROM CTE); +#-----------------Using Subquery-------------------------------------------------------- +-- SELECT +-- s.name as 'name' +-- FROM +-- SalesPerson as s +-- WHERE s.sales_id NOT IN ( +-- SELECT o.sales_id +-- FROM +-- Orders o +-- LEFT JOIN +-- Company c +-- ON o.com_id = c.com_id +-- WHERE c.name = "RED" +-- ); diff --git a/SeniorsJuniorstoJointhecompany.sql b/SeniorsJuniorstoJointhecompany.sql new file mode 100644 index 0000000..ff09f54 --- /dev/null +++ b/SeniorsJuniorstoJointhecompany.sql @@ -0,0 +1,16 @@ +WITH CTE AS ( + SELECT employee_id, experience, + SUM(salary) OVER (PARTITION BY experience ORDER BY salary, employee_id) AS 'rsum' + FROM + candidates + ) +SELECT + 'Senior' AS experience, COUNT(employee_id) AS 'accepted_candidates' +FROM CTE +WHERE experience = 'Senior' AND rsum <= 70000; +UNION +SELECT 'Junior' as experience, COUNT(employee_id) AS 'accepted_candidates' +FROM CTE +WHERE experience = 'Junior' AND rsum <= (SELECT 70000 - IFNULL(MAX(rsum), 0) FROM CTE WHERE experience = 'Senior' AND rsum<=70000) + + \ No newline at end of file