DocUA Claude Sonnet 5.5 commited on
Commit
87fa366
·
1 Parent(s): 06cda86

Приклади запитів: додано формулювання людською мовою та нові приклади

Browse files
Files changed (1) hide show
  1. templates/index.html +36 -31
templates/index.html CHANGED
@@ -127,38 +127,43 @@
127
  <h5>Приклади SQL запитів до бази "Employees"</h5>
128
  </div>
129
  <div class="card-body">
130
- <p>Спробуйте наступні запити:</p>
131
-
132
- <div class="mb-3">
133
- <h6>1. Перегляд структури таблиць</h6>
134
- <pre><code>SHOW TABLES FROM employees;</code></pre>
135
- <button class="btn btn-sm btn-outline-primary" onclick="copyToQueryConsole('SHOW TABLES FROM employees;')">Копіювати до консолі</button>
136
- </div>
137
-
138
- <div class="mb-3">
139
- <h6>2. Перегляд співробітників</h6>
140
- <pre><code>SELECT emp_no, first_name, last_name, gender, hire_date
141
- FROM employees
142
- LIMIT 10;</code></pre>
143
- <button class="btn btn-sm btn-outline-primary" onclick="copyToQueryConsole('SELECT emp_no, first_name, last_name, gender, hire_date FROM employees LIMIT 10;')">Копіювати до консолі</button>
144
- </div>
145
-
146
- <div class="mb-3">
147
- <h6>3. Перегляд департаментів</h6>
148
- <pre><code>SELECT * FROM departments;</code></pre>
149
- <button class="btn btn-sm btn-outline-primary" onclick="copyToQueryConsole('SELECT * FROM departments;')">Копіювати до консолі</button>
150
- </div>
151
-
152
- <div class="mb-3">
153
- <h6>4. Запит з JOIN</h6>
154
- <pre><code>SELECT e.emp_no, e.first_name, e.last_name, d.dept_name
155
- FROM employees e
156
- JOIN dept_emp de ON e.emp_no = de.emp_no
157
- JOIN departments d ON de.dept_no = d.dept_no
158
- WHERE de.to_date = '9999-01-01'
159
- LIMIT 10;</code></pre>
160
- <button class="btn btn-sm btn-outline-primary" onclick="copyToQueryConsole('SELECT e.emp_no, e.first_name, e.last_name, d.dept_name FROM employees e JOIN dept_emp de ON e.emp_no = de.emp_no JOIN departments d ON de.dept_no = d.dept_no WHERE de.to_date = \'9999-01-01\' LIMIT 10;')">Копіювати до консолі</button>
 
 
 
 
161
  </div>
 
162
  </div>
163
  </div>
164
  </div>
 
127
  <h5>Приклади SQL запитів до бази "Employees"</h5>
128
  </div>
129
  <div class="card-body">
130
+ <p>Спробуйте наступні запити. Над кожним SQL — запит людською мовою, який до нього призводить:</p>
131
+
132
+ {% set examples = [
133
+ ("Які таблиці є в базі employees?",
134
+ "SHOW TABLES FROM employees;"),
135
+ ("Покажи перших 10 співробітників з іменем, статтю та датою прийняття на роботу.",
136
+ "SELECT emp_no, first_name, last_name, gender, hire_date FROM employees LIMIT 10;"),
137
+ ("Які відділи є в компанії?",
138
+ "SELECT * FROM departments;"),
139
+ ("Хто зараз працює і в якому відділі? Покажи 10 записів.",
140
+ "SELECT e.emp_no, e.first_name, e.last_name, d.dept_name FROM employees e JOIN dept_emp de ON e.emp_no = de.emp_no JOIN departments d ON de.dept_no = d.dept_no WHERE de.to_date = '9999-01-01' LIMIT 10;"),
141
+ ("Скільки всього співробітників у базі?",
142
+ "SELECT COUNT(*) AS total_employees FROM employees;"),
143
+ ("Скільки чоловіків і скільки жінок серед співробітників?",
144
+ "SELECT gender, COUNT(*) AS cnt FROM employees GROUP BY gender;"),
145
+ ("Скільки людей зараз працює в кожному відділі? Відсортуй від найбільшого.",
146
+ "SELECT d.dept_name, COUNT(*) AS headcount FROM dept_emp de JOIN departments d ON d.dept_no = de.dept_no WHERE de.to_date = '9999-01-01' GROUP BY d.dept_name ORDER BY headcount DESC;"),
147
+ ("Яка середня зарплата в кожному відділі зараз?",
148
+ "SELECT d.dept_name, ROUND(AVG(s.salary)) AS avg_salary FROM salaries s JOIN dept_emp de ON de.emp_no = s.emp_no AND de.to_date = '9999-01-01' JOIN departments d ON d.dept_no = de.dept_no WHERE s.to_date = '9999-01-01' GROUP BY d.dept_name ORDER BY avg_salary DESC;"),
149
+ ("Хто отримує найвищу зарплату зараз? Покажи топ-10.",
150
+ "SELECT e.first_name, e.last_name, s.salary FROM employees e JOIN salaries s ON s.emp_no = e.emp_no WHERE s.to_date = '9999-01-01' ORDER BY s.salary DESC LIMIT 10;"),
151
+ ("Хто керує кожним відділом зараз?",
152
+ "SELECT d.dept_name, e.first_name, e.last_name FROM dept_manager dm JOIN departments d ON d.dept_no = dm.dept_no JOIN employees e ON e.emp_no = dm.emp_no WHERE dm.to_date = '9999-01-01';"),
153
+ ("Скільки людей приймали на роботу щороку?",
154
+ "SELECT YEAR(hire_date) AS hire_year, COUNT(*) AS hired FROM employees GROUP BY hire_year ORDER BY hire_year;"),
155
+ ("Знайди всіх співробітників на ім'я Georgi, прийнятих після 1990 року.",
156
+ "SELECT emp_no, first_name, last_name, hire_date FROM employees WHERE first_name = 'Georgi' AND hire_date > '1990-01-01' ORDER BY hire_date LIMIT 20;"),
157
+ ("Які посади були в співробітника з номером 10001 і коли?",
158
+ "SELECT title, from_date, to_date FROM titles WHERE emp_no = 10001 ORDER BY from_date;"),
159
+ ] %}
160
+ {% for question, sql in examples %}
161
+ <div class="mb-4">
162
+ <h6>{{ loop.index }}. {{ question }}</h6>
163
+ <pre><code>{{ sql }}</code></pre>
164
+ <button class="btn btn-sm btn-outline-primary" onclick='copyToQueryConsole({{ sql|tojson }})'>Копіювати до консолі</button>
165
  </div>
166
+ {% endfor %}
167
  </div>
168
  </div>
169
  </div>