Spaces:
Paused
Paused
Приклади запитів: додано формулювання людською мовою та нові приклади
Browse files- 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 |
-
|
| 133 |
-
|
| 134 |
-
|
| 135 |
-
|
| 136 |
-
|
| 137 |
-
|
| 138 |
-
|
| 139 |
-
|
| 140 |
-
|
| 141 |
-
|
| 142 |
-
|
| 143 |
-
|
| 144 |
-
|
| 145 |
-
|
| 146 |
-
|
| 147 |
-
|
| 148 |
-
|
| 149 |
-
|
| 150 |
-
|
| 151 |
-
|
| 152 |
-
|
| 153 |
-
|
| 154 |
-
|
| 155 |
-
|
| 156 |
-
|
| 157 |
-
|
| 158 |
-
|
| 159 |
-
|
| 160 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
| 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>
|