SQLize Online / PHPize Online  /  SQLtest Online

A A A
Share      Blog   Popular
Copy Format Clear
CREATE TABLE Staff( staff_id INT PRIMARY KEY AUTO_INCREMENT, name VARCHAR(100), salary INT, email VARCHAR(50), birthday DATE, jobtitle_id INT ); INSERT INTO Staff(name, salary, email, birthday, jobtitle_id) VALUES ('Иванов Сергей', 100000, 'test@test.ru', '1990-03-03', 1), ('Петров Пётр', 60000, 'petr@test.ru', '2000-12-01', 7), ('Сидоров Василий', 80000, 'test@test.ru', '1999-02-04', 6), ('Максимов Иван', 70000, 'ivan.m@test.ru', '1997-10-02', 4), ('Попов Иван', 120000, 'popov@test.ru', '2001-04-25', 5); CREATE TABLE Jobtitles( jobtitle_id INT, name VARCHAR(100) ); INSERT INTO Jobtitles(jobtitle_id, name) VALUES (1, "Разработчик"), (2, "Системный аналитик"), (3, "Менеджер проектов"), (4, "Системный администратор"), (5, "Руководитель группы"), (6, "Инженер тестирования"), (7, "Сотрудник группы поддержки"); /* Напишите запрос, с помощью которого можно найти дубли в поле email из таблицы Sfaff. */ SELECT * FROM Staff WHERE email IN ( SELECT email FROM Staff GROUP BY 1 HAVING COUNT(*) > 1 ); /* Напишите запрос, с помощью которого можно определить возраст каждого сотрудника из таблицы Staff на момент запроса. Примечание: юридически возраст человека увеличивается в конце дня рождения, т.е. при наступлении следующего дня. */ SELECT *, IF(DAYOFYEAR(NOW()) > DAYOFYEAR(birthday), YEAR(NOW()) - YEAR(birthday), YEAR(NOW()) - YEAR(birthday) -1) AS age FROM Staff; /* Напишите запрос, с помощью которого можно определить должность (Jobtitles.name) со вторым по величине уровнем зарплаты. */ SELECT jobtitle_id, salary, RANK() OVER () as rnk FROM Staff;
Stuck with a problem? Got Error? Ask ChatGPT!
Copy Clear