MySQL 8.0.46 для навчальних цілей

Статус MySQL: Онлайн

Версія MySQL: 8.0.46

База даних "Employees" доступна!

Ви можете виконувати SQL-запити до бази даних employees.

Переглянути деталі
Параметри підключення

MySQL працює всередині цього Space і доступний лише через веб-консоль нижче або API /execute. Параметри підключення застосунку:

  • Хост: 127.0.0.1
  • Порт: 3306
  • Користувач: student
  • Пароль: student
  • SSL-режим: DISABLED
SQL Консоль
SQL з'явиться в полі нижче. Перевірте його й натисніть «Виконати».
Схема бази "employees"
  • current_dept_emp: emp_no, dept_no, from_date, to_date
  • departments: dept_no, dept_name
  • dept_emp: emp_no, dept_no, from_date, to_date
  • dept_emp_latest_date: emp_no, from_date, to_date
  • dept_manager: emp_no, dept_no, from_date, to_date
  • employees: emp_no, birth_date, first_name, last_name, gender, hire_date
  • salaries: emp_no, salary, from_date, to_date
  • titles: emp_no, title, from_date, to_date
Доступні бази даних
Приклади SQL запитів до бази "Employees"

Спробуйте наступні запити. Над кожним SQL — запит людською мовою, який до нього призводить:

1. Які таблиці є в базі employees?
SHOW TABLES FROM employees;
2. Покажи перших 10 співробітників з іменем, статтю та датою прийняття на роботу.
SELECT emp_no, first_name, last_name, gender, hire_date FROM employees LIMIT 10;
3. Які відділи є в компанії?
SELECT * FROM departments;
4. Знайди всіх співробітників на ім'я Georgi, прийнятих після 1990 року.
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;
5. Які посади були в співробітника з номером 10001 і коли?
SELECT title, from_date, to_date FROM titles WHERE emp_no = 10001 ORDER BY from_date;

6. Хто зараз працює і в якому відділі? Покажи 10 записів.
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;
7. Хто отримує найвищу зарплату зараз? Покажи топ-10.
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;
8. Хто керує кожним відділом зараз?
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';

9. Скільки всього співробітників у базі?
SELECT COUNT(*) AS total_employees FROM employees;
10. Скільки чоловіків і скільки жінок серед співробітників?
SELECT gender, COUNT(*) AS cnt FROM employees GROUP BY gender;
11. Скільки людей зараз працює в кожному відділі? Відсортуй від найбільшого.
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;
12. Яка середня зарплата в кожному відділі зараз?
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;
13. Скільки людей приймали на роботу щороку?
SELECT YEAR(hire_date) AS hire_year, COUNT(*) AS hired FROM employees GROUP BY hire_year ORDER BY hire_year;