практика Flashcards
А теперь получите список сотрудников с зарплатой выше средней
SELECT * FROM workersWHERE salary > (SELECT AVG (salary) FROM workers);
Даны таблицы workers и departments. Найдите все департаменты без единого сотрудника
SELECT department_nameFROM workers wRIGHT JOIN departments d ON (w.department_id = d.department_id)WHERE first_name IS NULL;
Как выбрать записи с нечётными Id?
SQL запрос для выбора записей с нечётными id должен выглядеть следующим образом:
SELECT * FROM sample WHERE id % 2 != 0;
Если остаток от деления id на 2 равен нулю, перед нами чётное значение, и наоборот.
Найдите в таблице среднюю зарплату работников
SELECT AVG(salary) FROM workers;
Функция AVG() применяется только к числовым типам данных и возвращает среднее значение по столбцу.
Выберите только уникальные имена
SELECT DISTINCT name FROM users;
SELECT DISTINCT возвращает разные значения, даже если в выбранном столбце есть дубли.
При выборке из таблицы прибавьте к дате 1 день
SELECT DATE_ADD(date, 1 DAY) as new_date FROM table;
Функция DATE_ADD() прибавляет к дате заданный промежуток времени. Синтаксис выглядит следующим образом:
SELECT DATE_ADD(дата, INTERVAL что_прибавить) FROM имя_таблицы WHERE условие;
Как найти дубли в поле email?
SELECT email, COUNT(email)FROM customersGROUP BY emailHAVING COUNT(email) > 1;
Функция COUNT() возвращает количество строк из поля email. Оператор HAVING работает почти так же, как и WHERE, вот только применяется не для всех столбцов, а для набора, созданного оператором GROUP BY.
Замените в таблице зарплату работника на 1000, если она равна 900, и на 1500 в остальных случаях
Замена значений — одна из наиболее часто встречаемых задач по SQL на собеседованиях. Решить её несложно:
UPDATE table SET salary =CASEWHEN salary = 900 THEN 1000ELSE 1500END;
Оператор UPDATE используется для изменения существующих записей. Но ответы на подобные вопросы с собеседований по SQL должны быть более развёрнутыми. Уточните,что после UPDATE следует указать, какие записи должны быть обновлены. В противном случае обновятся все записи в таблице.В нашем примере условие задаётся через оператор CASE: если текущая зарплата равна 900, изменяем её на 1000, в остальных случаях — на 1500.
При выборке из таблицы пользователей создайте поле, которое будет включать в себя и имена, и зарплату
SELECT CONCAT(name, salary) AS new_field FROM users;
Функция CONCAT() используется для конкатенации (объединения) строк, неявно преобразуя при этом любые типы данных в строки.
Переименуйте таблицу
ALTER TABLE first_table RENAME second_table;
С помощью оператора ALTER TABLE можно добавлять, удалять, изменять столбцы, а также изменять название таблицы.