Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Создайте запрос, включающий наборы, вес и цена которых превышают
- # соответственно 375 г. и 150 рублей.
- 1) SELECT * FROM наборы as p
- where p.Вес > 375
- AND p.Стоимость > 150
- --------------------------------------------------------------------------------
- # Создайте запрос, который выдает список наборов стоимостью от 100 рублей до
- # 150 рублей, число которых на складе превышает 500 штук.
- 2) SELECT * FROM наборы as p
- where p.Стоимость >= 100
- AND p.Стоимость < 150
- AND p.Количество > 500
- --------------------------------------------------------------------------------
- # Создайте простой запрос, перечисляющий заказчиков новогодних наборов,
- # размещенных с 10 по 25 декабря.
- 3) SELECT * FROM заказы as p
- where p.ДатаЗаказа > "2012-12-10"
- AND p.ДатаЗаказа < "2012-12-25"
- SELECT заказчики.Фамилия AS "Фамилия", заказы.ДатаЗаказа AS "Дата Заказа"
- From заказы
- JOIN заказчики
- ON заказы.КодЗаказчика=заказчики.КодЗаказчика
- where заказы.ДатаЗаказа > "2012-12-10"
- AND заказы.ДатаЗаказа < "2012-12-25";
- SELECT заказчики.Фамилия AS "Фамилия", заказы.ДатаЗаказа AS "Дата Заказа"
- From заказы
- JOIN заказчики
- ON заказы.КодЗаказчика=заказчики.КодЗаказчика
- where заказы.ДатаЗаказа > "2012-12-10"
- AND заказы.ДатаЗаказа < "2012-12-25"
- AND заказы.ПодарочныйВариант="Новогодний набор";
- --------------------------------------------------------------------------------
- # Создайте запрос, перечисляющий заказчиков подарочных наборов и даты их
- # заказов.
- 4) SELECT заказчики.Фамилия AS "Фамилия", заказы.ДатаЗаказа AS "Дата Заказа"
- From заказы
- JOIN заказчики
- ON заказы.КодЗаказчика=заказчики.КодЗаказчика
- SELECT заказчики.Фамилия AS "Фамилия", заказы.ДатаЗаказа AS "Дата Заказа"
- From заказы
- JOIN заказчики
- ON заказы.КодЗаказчика=заказчики.КодЗаказчика
- where заказы.ПодарочныйВариант="Праздничный набор";
- ***********************************************************************
- --------------------------------------------------------------------------------
- # Включите в запрос 3 суммарную стоимость заказа.
- 5) SELECT заказчики.Фамилия AS "Фамилия", заказы.ДатаЗаказа AS "Дата Заказа", sum(наборы.Стоимость) AS "Сумма"
- From заказы
- JOIN заказчики
- ON заказы.КодЗаказчика=заказчики.КодЗаказчика
- JOIN наборы
- ON наборы.КодНабора=заказы.КодНабора
- where заказы.ДатаЗаказа > "2012-12-10"
- AND заказы.ДатаЗаказа < "2012-12-25"
- AND заказы.ПодарочныйВариант="Новогодний набор"
- GROUP BY заказчики.Фамилия, заказы.ДатаЗаказа;
- --------------------------------------------------------------------------------
- # Сохраните результат работы запроса 1 в отдельную таблицу с названием
- # «Дорогие подарки»
- 6) CREATE TABLE ДорогиеПодарки
- (
- SELECT * FROM наборы as p
- where p.Вес > 375
- AND p.Стоимость > 150
- )
- --------------------------------------------------------------------------------
- # Создайте запрос, подсчитывающий общее количество заказов для каждого
- # заказчика
- 7) SELECT заказчики.КодЗаказчика, заказчики.Фамилия, count(*) AS "Kоличество заказов"
- FROM заказы
- JOIN заказчики
- ON заказы.КодЗаказчика=заказчики.КодЗаказчика
- GROUP BY заказчики.КодЗаказчика, заказчики.Фамилия;
- --------------------------------------------------------------------------------
- # Получите все наборы, которые были заказаны заказчиком с кодом 44.
- 8) SELECT КодЗаказчика, ПодарочныйВариант
- FROM заказы
- WHERE КодЗаказчика=44
- GROUP BY ПодарочныйВариант;
- SELECT наборы.КодНабора AS "Код Набора"
- FROM наборы
- JOIN заказы
- ON наборы.КодНабора=заказы.КодНабора
- SELECT КодНабора
- FROM заказы as з
- WHERE з.КодЗаказчика = 44
- --------------------------------------------------------------------------------
- # Получить названия всех наборов из прошлого запроса
- SELECT DISTINCT заказы.КодНабора AS "Код Набора", наборы.Название
- FROM наборы
- JOIN заказы
- ON наборы.КодНабора=заказы.КодНабора
- WHERE заказы.КодЗаказчика = 44
- SELECT DISTINCT ПодарочныйВариант
- FROM заказы
- WHERE КодЗаказчика=44
- ;
- _==============================================================================__
- _==============================================================================__
- _==============================================================================__
- _==============================================================================__
- _==============================================================================__
- _==============================================================================__
- _==============================================================================__
- _==============================================================================__
- 1)Создайте запрос на выборку данных о работниках.
- SELECT * FROM работники;
- -------------------------
- 2)Создайте запрос на выборку данных о работниках, которые назначены на ремонт зданий.
- SELECT * FROM работники
- JOIN назначение
- WHERE (работники.Код_работника=назначение.Код_работника);
- -------------------------
- 3)Создайте запрос на выборку данных о работниках, которые назначены на ремонт зданий с кодом 6990
- SELECT * FROM работники
- JOIN назначение
- WHERE (работники.Код_работника=назначение.Код_работника AND Назначение.Код_здания=6990);
- -------------------------
- 4)Создайте запрос на выборку данных о зданиях, ремонт которых начат после 01.01.2020 и закончен до 01.12.2021 года.
- SELECT * FROM здание
- WHERE (Дата_начала>'2020-01-01'
- AND Дата_начала<'2021-12-01');
- -------------------------
- 5)Дополните предыдущий запрос информацией об окончании ремонта зданий ( `Дата окончания` = `Дата начала` + `Число недель` * 7 ).
- SELECT *, DATE_ADD(Дата_начала, INTERVAL Число_недель_ремонта * 7 DAY) AS 'Дата окончания' FROM здание
- WHERE (Дата_начала>'2020-01-01'
- AND Дата_начала<'2021-12-01');
- -------------------------
- 6)В предыдущем запросе даты выведите в формате DD-MM-YYYY . (В MySQL для этого используйте функцию DATE_FORMAT.
- SELECT *, DATE_FORMAT(DATE_ADD(Дата_начала, INTERVAL Число_недель_ремонта * 7 DAY),'%D-%M-%Y') AS 'Дата окончания' FROM здание
- WHERE (Дата_начала>'2020-01-01'
- AND Дата_начала<'2021-12-01');
- -------------------------
- 7)Создайте запрос для получения информации о часовой ставке работников задаваемой специальности, например каменщика.
- SELECT Часовая_ставка
- FROM специальность
- WHERE Специальность='Каменщик'
- -------------------------
- 8)Извлечь из таблицы Здание и таблицы Назначение данные о зданиях, ремонт
- которых должен начаться в 2001 году и работников, которых назначают на ремонт
- этого здания. Полученные данные перенести в новую таблицу Перспектива.
- CREATE TABLE Перспектива
- (Код_здания int not null,
- Адрес CHAR(30),
- Тип_здания CHAR(20),
- Уровень_качества CHAR(5),
- Дата_начала date,
- Число_недель_ремонта int,
- Код_работника int not null,
- PRIMARY KEY (Код_здания, Код_работника));
- INSERT
- INTO Перспектива (Код_здания, Адрес, Тип_здания, Уровень_качества, Дата_начала, Число_недель_ремонта, Код_работника)
- SELECT здание.Код_здания, здание.Адрес, здание.Тип_здания, здание.Уровень_качества, здание.Дата_начала, здание.Число_недель_ремонта, назначение.Код_работника
- FROM здание
- JOIN назначение
- ON здание.Код_здания = назначение.Код_здания
- WHERE здание.Дата_начала>'2020-01-01'
- -------------------------
- 9)Получить зарплату каждого работника, которая рассчитывается как 8*`Число
- дней`*`Почасовая ставка`+`Премиальные`.
- SELECT работники.Имя, работники.Код_работника, 8 * работники.Число_дней * специальность.Часовая_ставка + специальность.Премиальные AS 'Зарплата'
- FROM работники
- JOIN специальность
- ON работники.Специальность = специальность.Специальность
- -------------------------
- 10)Сохранить результат этого запроса в таблицу Зарплата.
- CREATE TABLE Зарплата
- (Имя CHAR(20),
- Код_работника int not null,
- Зарплата int,
- PRIMARY KEY (Код_работника));
- INSERT
- INTO Зарплата (Имя, Код_работника, Зарплата)
- SELECT работники.Имя, работники.Код_работника, 8 * работники.Число_дней * специальность.Часовая_ставка + специальность.Премиальные
- FROM работники
- JOIN специальность
- ON работники.Специальность = специальность.Специальность;
- -------------------------
- 11)
- -------------------------
- 12)
- -------------------------
- 13)
- -------------------------
- 14)
- -------------------------
- 15)
- -------------------------
- 16)
- -------------------------
- №
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement