Это уже четвертая часть из 50 вопросов по SQL с примерами кода. Надеюсь, вы пробовали все предыдущие части. Если нет, сделайте это, оставив ссылку здесь

ЧАСТЬ-I

"ЧАСТЬ II"

ЧАСТЬ-III

В этой части мы увидим вопросы SQL и примеры кода для запросов на присоединение и подзапросы. Как и в предыдущей части, даже в этой части мы начнем с создания набора данных, чтобы упростить вам тестирование SQL. Давай начнем !!

Набор данных для тестов. Рассмотрим следующие две таблицы: «сотрудники» и «отделы».

CREATE TABLE employees (
    employee_id INT PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50),
    department_id INT,
    salary DECIMAL(10, 2),
    hire_date DATE
);
INSERT INTO employees (employee_id, first_name, last_name, department_id, salary, hire_date)
VALUES 
    (101, 'John', 'Doe', 1, 50000.00, '2021-01-15'),
    (102, 'Jane', 'Smith', 2, 55000.00, '2020-07-10'),
    (103, 'Michael', 'Johnson', 1, 60000.00, '2022-03-05'),
    (104, 'Emily', 'Brown', 3, 48000.00, '2023-02-20'),
    (105, 'William', 'Lee', 2, 52000.00, '2019-11-28');
CREATE TABLE departments (
    department_id INT PRIMARY KEY,
    department_name VARCHAR(50),
    location VARCHAR(50)
);
INSERT INTO departments (department_id, department_name, location)
VALUES
    (1, 'Sales', 'New York'),
    (2, 'Marketing', 'Los Angeles'),
    (3, 'Finance', 'Chicago'),
    (4, 'Human Resources', 'Houston'),
    (5, 'IT', 'San Francisco');
  1. Сотрудник с отделом. Напишите запрос SQL, чтобы найти имена сотрудников, а также названия их отделов и местонахождение.

Отвечать:

SELECT e.first_name, e.last_name, d.department_name, d.location
FROM employees e
JOIN departments d ON e.department_id = d.department_id;

Объяснение: здесь используется INNER JOIN для объединения таблиц «сотрудники» и «отделы» на основе department_id. Этот запрос извлекает имя и фамилию каждого сотрудника вместе с соответствующим названием отдела и его местоположением.

2. Сотрудник больше, чем средняя зарплата: как найти сотрудников, которые зарабатывают больше, чем средняя зарплата в их отделе?