На NOW, CURRENT_DATE, CURRENT_TIME



Примеры решения задач

Задача

Задача. Выберите из таблицы workers записи с id равным 3, 5, 6, 10.

Решение :

SELECT * FROM workers WHERE id IN(3,5,6,10)

Задача

Задача. Выберите из таблицы workers записи с id равным 3, 5, 6, 10 и логином, равным 'eee', 'zzz' или 'ggg'.

Решение :

SELECT * FROM workers WHERE id IN(3,5,6,10) AND login IN("eee", "zzz", "ggg")

Задача

Задача. Выберите из таблицы workers записи c зарплатой от 500 до 1500.

Решение :

SELECT * FROM workers WHERE price BETWEEN 500 AND 1500

Задача

Задача . Выберите из таблицы workers все записи так, чтобы вместо id было workersId, вместо login – workersLogin, вместо salary - workersSalary.

Решение :

SELECT id AS userId, login AS userLogin, salary AS userSalary FROM workers

Задача

Задача. Найдите в таблице workers минимальный возраст.

Решение :

SELECT MIN(age) FROM workers

Задача

Задача. Найдите в таблице workers суммарный возраст.

Решение :

SELECT SUM(age) FROM workers

Задача

Задача. Вставьте в таблицу workers запись с полем date с текущим моментом времени в формате 'год-месяц-день часы:минуты:секунды'.

Решение :

INSERT INTO workers ('name', 'date') VALUES ('Вася', NOW())

Задача

Задача. Вставьте в таблицу workers запись с полем date с текущей датой в формате 'год-месяц-день'.

Решение :

INSERT INTO workers ('name', 'date') VALUES ( 'Маша', CURDATE())

Задача

Задача. При выборке из таблицы workers запишите день, месяц и год в отдельные поля.

Решение :

SELECT EXTRACT(DAY FROM date) AS day,EXTRACT(MONTH FROM date) AS month,EXTRACT(YEAR FROM date) AS year FROM workers

Задача

Задача. Выберите из таблицы workers записи, в которых минуты больше секунд.

Решение :

SELECT * FROM workers WHERE HOUR(date) > SECOND(date)

Задача

Задача. При выборке из таблицы workers прибавьте к дате 1 год.

Решение :

SELECT DATE_ADD(date, INTERVAL 1 YEAR) as date FROM workers

Или:

SELECT date + INTERVAL 1 YEAR as date FROM workers

Задача

Задача. При выборке из таблицы workers отнимите от даты 1 год.

Решение :

SELECT DATE_ADD(date, INTERVAL - 1 YEAR) as date FROM workers

Или:

SELECT date - INTERVAL 1 YEAR as date FROM workers

Задача

Задача. При выборке из таблицы workers прибавьте к дате 3 года, 4 месяца.

Решение :

SELECT DATE_ADD(date, INTERVAL "3:4" YEAR_MONTH) as date FROM workers

Или:

SELECT date + INTERVAL 3 YEAR + INTERVAL 4 MONTH as date FROM workers

Задача

Задача. При выборке из таблицы workers прибавьте к дате 4 дня, 3 часа, 2 минуты, 1 секунду.

Решение :

SELECT DATE_SUB(date, INTERVAL "4 3:2:1" DAY_SECOND) FROM workers

Задача

Задача. При выборке из таблицы workers прибавьте к дате 3 дня и отнимите 2 часа.

Решение :

SELECT date + INTERVAL 3 DAY - INTERVAL 2 HOUR FROM workers

Задачи для решения

Во всех задачах ниже считайте, что таблица workers имеет поля id, login, salary, age, date, description (и другие при необходимости).

На IN

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: IN .

Выберите из таблицы workers записи с id равным 1, 2, 3, 5, 14. Скрыть решение.

Решение:

SELECT * FROM workers WHERE id IN(1,2,3,5,14)

Выберите из таблицы workers записи с login равным 'eee', 'bbb', 'zzz'. Скрыть решение.

Решение:

SELECT * FROM workers WHERE login IN("eee", "bbb", "zzz")

Выберите из таблицы workers записи с id равным 1, 2, 3, 7, 9, и логином, равным 'user', 'admin', 'ivan' и зарплатой больше 300. Скрыть решение.

Решение:

SELECT * FROM workers WHERE id IN(1,2,3,7,9) AND login IN("user", "admin", "ivan") AND price>300

На BETWEEN

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: BETWEEN .

Выберите из таблицы workers записи c зарплатой от 100 до 1000. Скрыть решение.

Решение:

SELECT * FROM workers WHERE salary BETWEEN 100 AND 1500

Выберите из таблицы workers записи c id от 3 до 10 и зарплатой от 300 до 500. Скрыть решение.

Решение:

SELECT * FROM workers WHERE id BETWEEN 3 AND 10 AND salary BETWEEN 100 AND 500

На AS

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: AS .

Выберите из таблицы workers все записи так, чтобы вместо id было userId, вместо login – userLogin, вместо salary - userSalary. Скрыть решение.

Решение:

SELECT id AS userId, login AS userLogin, salary AS userSalary FROM workers

На DISTINCT

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: DISTINCT .

Выберите из таблицы workers все записи так, чтобы туда попали только записи с разной зарплатой (без дублей). Скрыть решение.

Решение:

SELECT DISTINCT salary FROM workers

Получите SQL запросом все возрасты без дублирования. Показать решение.

На MIN и MAX

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: MIN , MAX .

Найдите в таблице workers минимальную зарплату. Скрыть решение.

Решение:

SELECT MIN(salary) FROM workers

Найдите в таблице workers максимальную зарплату. Скрыть решение.

Решение:

SELECT MAX(salary) FROM workers

На SUM

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: SUM .

Найдите в таблице workers суммарную зарплату. Скрыть решение.

Решение:

SELECT SUM(salary) FROM workers

Найдите в таблице workers суммарную зарплату для людей в возрасте от 21 до 25. Скрыть решение.

Решение:

SELECT SUM(salary) FROM workers WHERE age BETWEEN 21 AND 25

Найдите в таблице workers суммарную зарплату для id, равного 1, 2, 3 и 5. Скрыть решение.

Решение:

SELECT SUM(salary) FROM workers WHERE id IN(1,2,3,5)

На AVG

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: AVG .

Найдите в таблице workers среднюю зарплату. Скрыть решение.

Решение:

SELECT AVG(salary) FROM workers

Найдите в таблице workers средний возраст. Скрыть решение.

Решение:

SELECT AVG(age) FROM workers

На NOW, CURRENT_DATE, CURRENT_TIME

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: NOW , CURRENT_DATE , CURRENT_TIME .

Выберите из таблицы workers все записи, у которых дата больше текущей. Скрыть решение.

Решение:

SELECT * FROM workers WHERE date>CURRENT_DATE()

Вставьте в таблицу workers запись с полем date с текущим моментом времени в формате 'год-месяц-день часы:минуты:секунды'. Скрыть решение.

Решение:

INSERT INTO workers ('name', 'date') VALUES ('Вася', NOW())

Вставьте в таблицу workers запись с полем date с текущей датой в формате 'год-месяц-день'.Скрыть решение.

Решение:

INSERT INTO workers ('name', 'date') VALUES ('Петя', CURDATE())

Вставьте в таблицу workers запись с полем time с текущим моментом времени в формате 'часы:минуты:секунды'. Скрыть решение.

Решение:

INSERT INTO workers ('name', 'time') VALUES ('Коля', CURTIME())

На работу с частью даты

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: SECOND , MINUTE , HOUR , DAY , MONTH , YEAR , DAYOFWEEK , WEEKDAY .

Выберите из таблицы workers все записи за 2016 год. Скрыть решение.

Решение:

SELECT * FROM workers WHERE YEAR(date) = 2016

Выберите из таблицы workers все записи за март любого года. Скрыть решение.

Решение:

SELECT * FROM workers WHERE MONTH(date) = 3

Выберите из таблицы workers все записи за третий день месяца. Скрыть решение.

Решение:

SELECT * FROM workers WHERE DAY(date) = 3

Выберите из таблицы workers все записи за пятый день апреля любого года. Скрыть решение.

Решение:

SELECT * FROM workers WHERE MONTH(date) = 4 AND DAY(date) = 5

Выберите из таблицы workers все записи за следующие дни любого месяца: 1, 7, 11, 12, 15, 19, 21, 29. Скрыть решение.

Решение:

SELECT * FROM workers WHERE DAY(date) IN(1,7,11,12,15,19,21,29)

Выберите из таблицы workers все записи за вторник. Скрыть решение.

Решение:

SELECT * FROM workers WHERE DAYOFWEEK(date)= 3

Выберите из таблицы workers все записи за первую декаду любого месяца 2016 года. Скрыть решение.

Решение:

SELECT * FROM workers WHERE DAY(date) <= 10 AND YEAR(date)= 2016

Выберите из таблицы workers все записи, в которых день меньше месяца. Скрыть решение.

Решение:

SELECT * FROM workers WHERE DAY(date) < MONTH(date)

При выборке из таблицы workers запишите день, месяц и год в отдельные поля. Скрыть решение.

Решение:

SELECT DAY(date) AS day, MONTH(date) AS month, YEAR(date) AS year FROM workers

При выборке из таблицы workers создайте новое поле today, в котором будет номер текущего дня недели. Скрыть решение.

Решение:

SELECT WEEKDAY(NOW()) as today FROM workers;

На EXTRACT, DATE

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: EXTRACT , DATE .

При выборке из таблицы workers запишите год, месяц и день в отдельные поля с помощью EXTRACT. Скрыть решение.

Решение:

SELECT EXTRACT(YEAR FROM date) AS year,EXTRACT(MONTH FROM date) AS month,EXTRACT(DAY FROM date) AS dayFROM workers

При выборке из таблицы workers запишите день, месяц и год в отдельное поле с помощью DATE в формате 'год-месяц-день'. Скрыть решение.

Решение:

SELECT DATE(date) FROM workers

На DATE_FORMAT

Для решения задач данного блока вам понадобятся следующие SQL команды и функции: DATE_FORMAT .

При выборке из таблицы workers выведите дату в формате '31.12.2025'. Скрыть решение.

Решение:

SELECT DATE_FORMAT(date, '%d.%m.%Y') FROM workers

При выборке из таблицы workers выведите дату в формате '2025% 31.12'. Скрыть решение.

Решение:


Дата добавления: 2018-09-20; просмотров: 1104; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!