SyncShift/sql-correction-env
0
1from sql_env.models import SQLTask2from sql_env.grader import grade3 4MEDIUM_TASKS = [5 SQLTask(6 task_id="medium_001",7 difficulty="medium",8 broken_query="SELECT name, SUM(salary) FORM employees GRUP BY department",9 canonical_answer="SELECT name, SUM(salary) FROM employees GROUP BY department",10 error_hint=None,11 grader=grade,12 ),13 SQLTask(14 task_id="medium_002",15 difficulty="medium",16 broken_query="SELECT * FROM orders WHER total > 500 AND status = 'active' ORDR BY total DESC",17 canonical_answer="SELECT * FROM orders WHERE total > 500 AND status = 'active' ORDER BY total DESC",18 error_hint=None,19 grader=grade,20 ),21 SQLTask(22 task_id="medium_003",23 difficulty="medium",24 broken_query="SELECT department, COUNT(*) AS emp_count FORM employees GROUP BY department HAVNG COUNT(*) > 5",25 canonical_answer="SELECT department, COUNT(*) AS emp_count FROM employees GROUP BY department HAVING COUNT(*) > 5",26 error_hint=None,27 grader=grade,28 ),29 SQLTask(30 task_id="medium_004",31 difficulty="medium",32 broken_query="SELCT product_id, SUM(quantity) FROM sales WEHRE year = 2024 GROUP BY product_id",33 canonical_answer="SELECT product_id, SUM(quantity) FROM sales WHERE year = 2024 GROUP BY product_id",34 error_hint=None,35 grader=grade,36 ),37 SQLTask(38 task_id="medium_005",39 difficulty="medium",40 broken_query="SELECT e.name, d.dept_name FORM employees e INNE JOIN departments d ON e.dept_id = d.id WHER e.salary > 50000",41 canonical_answer="SELECT e.name, d.dept_name FROM employees e INNER JOIN departments d ON e.dept_id = d.id WHERE e.salary > 50000",42 error_hint=None,43 grader=grade,44 ),45 SQLTask(46 task_id="medium_006",47 difficulty="medium",48 broken_query="SELECT category, AVG(price) AS avg_price FORM products GRUP BY category ORDR BY avg_price DESC",49 canonical_answer="SELECT category, AVG(price) AS avg_price FROM products GROUP BY category ORDER BY avg_price DESC",50 error_hint=None,51 grader=grade,52 ),53 SQLTask(54 task_id="medium_007",55 difficulty="medium",56 broken_query="SELECT u.email, COUNT(o.id) AS order_count FORM users u LFT JOIN orders o ON u.id = o.user_id GRUP BY u.email",57 canonical_answer="SELECT u.email, COUNT(o.id) AS order_count FROM users u LEFT JOIN orders o ON u.id = o.user_id GROUP BY u.email",58 error_hint=None,59 grader=grade,60 ),61 SQLTask(62 task_id="medium_008",63 difficulty="medium",64 broken_query="SELECT id, title FORM articles WEHRE published = 1 ORDR BY created_at DESC LIMT 10",65 canonical_answer="SELECT id, title FROM articles WHERE published = 1 ORDER BY created_at DESC LIMIT 10",66 error_hint=None,67 grader=grade,68 ),69 SQLTask(70 task_id="medium_009",71 difficulty="medium",72 broken_query="SELECT region, SUM(revenue) AS total FORM sales GRUP BY region HAVNG SUM(revenue) > 100000",73 canonical_answer="SELECT region, SUM(revenue) AS total FROM sales GROUP BY region HAVING SUM(revenue) > 100000",74 error_hint=None,75 grader=grade,76 ),77 SQLTask(78 task_id="medium_010",79 difficulty="medium",80 broken_query="SELCT p.name, s.quantity FORM products p INNE JOIN stock s ON p.id = s.product_id WEHRE s.quantity < 10",81 canonical_answer="SELECT p.name, s.quantity FROM products p INNER JOIN stock s ON p.id = s.product_id WHERE s.quantity < 10",82 error_hint=None,83 grader=grade,84 ),85 SQLTask(86 task_id="medium_011",87 difficulty="medium",88 broken_query="SELECT customer_id, MAX(amount) AS max_order FORM orders GRUP BY customer_id ORDR BY max_order DESC",89 canonical_answer="SELECT customer_id, MAX(amount) AS max_order FROM orders GROUP BY customer_id ORDER BY max_order DESC",90 error_hint=None,91 grader=grade,92 ),93 SQLTask(94 task_id="medium_012",95 difficulty="medium",96 broken_query="SELECT t.name, COUNT(e.id) AS member_count FORM teams t LFT JOIN employees e ON t.id = e.team_id GRUP BY t.name",97 canonical_answer="SELECT t.name, COUNT(e.id) AS member_count FROM teams t LEFT JOIN employees e ON t.id = e.team_id GROUP BY t.name",98 error_hint=None,99 grader=grade,100 ),101 SQLTask(102 task_id="medium_013",103 difficulty="medium",104 broken_query="SELCT month, SUM(sales) FORM monthly_revenue WEHRE year = 2024 GRUP BY month ORDR BY month ASC",105 canonical_answer="SELECT month, SUM(sales) FROM monthly_revenue WHERE year = 2024 GROUP BY month ORDER BY month ASC",106 error_hint=None,107 grader=grade,108 ),109 SQLTask(110 task_id="medium_014",111 difficulty="medium",112 broken_query="SELECT c.name, AVG(r.rating) AS avg_rating FORM courses c INNE JOIN reviews r ON c.id = r.course_id GRUP BY c.name HAVNG AVG(r.rating) >= 4.0",113 canonical_answer="SELECT c.name, AVG(r.rating) AS avg_rating FROM courses c INNER JOIN reviews r ON c.id = r.course_id GROUP BY c.name HAVING AVG(r.rating) >= 4.0",114 error_hint=None,115 grader=grade,116 ),117 SQLTask(118 task_id="medium_015",119 difficulty="medium",120 broken_query="SELECT DISTINCT country FORM customers WEHRE signup_date > '2023-01-01' ORDR BY country ASC",121 canonical_answer="SELECT DISTINCT country FROM customers WHERE signup_date > '2023-01-01' ORDER BY country ASC",122 error_hint=None,123 grader=grade,124 ),125]126 