игра брюс 2048
Главная / Базы данных / Основы SQL / Тест 4

Основы SQL - тест 4

Упражнение 1:
Номер 1

Пусть дана таблица Автор с полями

ФамилияVARCHAR(50)
ПолCHAR(3)
Дата_рожденияDATETIME
ТелефонCHAR(9)
Количество_трудовINT
ГородVARCHAR(15)

Найти авторов, количество трудов которых превышает 10, но не больше 20.


Ответ:

 (1) SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов>10 And Количество_трудов<=20 

 (2) SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов Between 10 And 20 

 (3) SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов Between 11 And 20 

 (4) SELECT Фамилия, Количество_трудов FROM Автор WHERE Количество_трудов>=11 Or Количество_трудов<=19 


Номер 2

Пусть дана таблица Рейс с полями

Номер_рейсаINT
Конечный_пунктCHAR(10)
Дата_вылетаDATETIME
Продолжительность_маршрутаINT
Число_билетовINT
СтоимостьMONEY

Вывести список рейсов, продолжительность маршрутов которых не более 500 км и не менее 100 км, а стоимость билета - от 800 до 1500 руб.


Ответ:

 (1) SELECT Номер_рейса, Продолжительность_маршрута, Стоимость FROM Рейс WHERE Продолжительность_маршрута>=100 And Продолжительность_маршрута<=500 AND Стоимость>=800 And Стоимость<=1500 

 (2) SELECT Номер_рейса, Продолжительность_маршрута, Стоимость FROM Рейс WHERE Продолжительность_маршрута>=100 And Продолжительность_маршрута<500 OR Стоимость>=800 And Стоимость<=1500 

 (3) SELECT Номер_рейса, Продолжительность_маршрута, Стоимость FROM Рейс WHERE (Продолжительность_маршрута Between 100 And 500) AND (Стоимость Between 800 And 1500) 

 (4) SELECT Номер_рейса, Продолжительность_маршрута, Стоимость FROM Рейс WHERE Продолжительность_маршрута Between 100 OR 500 AND Стоимость Between 800 OR 1500 


Номер 3

Пусть дана таблица Блюдо с полями

Название_блюдаVARCHAR(20)
Время_приготовленияDATETIME
КалорийностьINT
ПоварVARCHAR(20)
СтоимостьMONEY

Определить повара, стоимость блюд которого не превышает 100 руб., а калорийность – 400 ккал.


Ответ:

 (1) SELECT Повар, Калорийность, Стоимость FROM Блюдо WHERE Калорийность<=400 AND Стоимость<=100 

 (2) SELECT Повар, Калорийность, Стоимость FROM Блюдо WHERE Калорийность>400 OR Стоимость<100 

 (3) SELECT Повар, Калорийность, Стоимость FROM Блюдо WHERE Between(Калорийность<400 AND Стоимость<100) 

 (4) SELECT Повар, Калорийность, Стоимость FROM Блюдо WHERE Калорийность<=400 OR Стоимость<=100 


Номер 4

Пусть дана таблица Город с полями

Код_ГородаCHAR(5)
НазваниеVARCHAR(20)
ТарифMONEY
РегионVARCHAR(30)

Найти регионы, стоимость минуты телефонного разговора с которыми не меньше 10 руб., но не больше 100 руб.


Ответ:

 (1) SELECT DISTINCT Регион, Тариф FROM Город WHERE Тариф>=10 And Тариф<=100 

 (2) SELECT DISTINCT Регион, Тариф FROM Город WHERE Тариф>10 OR Тариф<100 

 (3) SELECT DISTINCT Регион, Тариф FROM Город WHERE Тариф Between 10 And 100 

 (4) SELECT DISTINCT Регион, Тариф FROM Город WHERE Тариф Between 10 OR 100 


Упражнение 2:
Номер 1

Пусть дана таблица Автор.

ФамилияVARCHAR(50)
ПолCHAR(3)
Дата_рожденияDATETIME
ТелефонCHAR(9)
Количество_трудовINT
ГородVARCHAR(15)

 Найти города, в которых живут авторы, родившиеся не ранее 1982 года и издавшие более 10 книг.


Ответ:

 (1) SELECT Город FROM Автор WHERE Дата_рождения>=’01/01/1982’ AND Количество_трудов>10 

 (2) SELECT Город, Дата_рождения,Количество_трудов FROM Автор WHERE Дата_рождения<’01/01/1982’ AND Количество_трудов>10 

 (3) SELECT Город FROM Автор WHERE Дата_рождения>’01/01/1982’ OR Количество_трудов<10 


Номер 2

Пусть дана таблица Рейс.

Номер_рейсаINT
Конечный_пунктCHAR(10)
Дата_вылетаDATETIME
Продолжительность_маршрутаINT
Число_билетовINT
СтоимостьMONEY

Вывести номера рейсов до Москвы с датой вылета не позднее 8 марта, но не ранее 1 марта.


Ответ:

 (1) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' AND Дата_вылета>='3/1/2004' And Дата_вылета<='3/8/2004' 

 (2) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' OR Дата_вылета>='3/1/2004' And Дата_вылета<='3/8/2004' 

 (3) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' AND Дата_вылета>='3/1/2004' OR Дата_вылета<='3/8/2004' 

 (4) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' AND (Дата_вылета>='3/1/2004' OR Дата_вылета<='3/8/2004') 


Номер 3
				

Пусть дана таблица Блюдо.

Название_блюдаVARCHAR(20)
Время_приготовленияDATETIME
КалорийностьINT
ПоварVARCHAR(20)
СтоимостьMONEY

Определить список блюд, приготовленных поваром Ивановым менее чем за 3 мин или более чем за 20 мин.


Ответ:

 (1) SELECT Название_блюда, Повар, Время_приготовления FROM Блюдо WHERE Повар='Иванов' AND (Время_приготовления<3 Or Время_приготовления>20) 

 (2) SELECT Название_блюда, Повар, Время_приготовления FROM Блюдо WHERE Повар='Иванов' AND Время_приготовления<3 Or Время_приготовления>20 

 (3) SELECT Название_блюда, Повар, Время_приготовления FROM Блюдо WHERE Повар='Иванов' OR Время_приготовления<3 OR Время_приготовления>20 

 (4) SELECT Название_блюда, Повар, Время_приготовления FROM Блюдо WHERE Повар='Иванов' AND Время_приготовления Between (<3 Or >20) 


Номер 4
				

Пусть дана таблица Город.

Код_ГородаCHAR(5)
НазваниеVARCHAR(20)
ТарифMONEY
РегионVARCHAR(30)

Найти города Поволжья или Урала, телефонные тарифы для которых выше 5 руб.


Ответ:

 (1) SELECT Название, Регион, Тариф FROM Город WHERE Регион='Поволжье' AND Тариф>5 OR Регион='Урал' 

 (2) SELECT Название, Регион, Тариф FROM Город WHERE (Регион='Поволжье' OR Регион='Урал') AND Тариф>5 

 (3) SELECT Название, Регион, Тариф FROM Город WHERE Регион='Поволжье' AND Тариф>5 OR Регион='Урал' AND Тариф>5 

 (4) SELECT Название, Регион, Тариф FROM Город WHERE Регион='Поволжье' OR Регион='Урал' AND Тариф>5 


Упражнение 3:
Номер 1
				

Пусть дана таблица Автор.

ФамилияVARCHAR(50)
ПолCHAR(3)
Дата_рожденияDATETIME
ТелефонCHAR(9)
Количество_трудовINT
ГородVARCHAR(15)

Определить авторов, фамилии которых начинаются с буквы "Б" или "Г" и содержат слог "ор".


Ответ:

 (1) SELECT Фамилия FROM Автор WHERE (Фамилия Like 'Б%' Or Фамилия Like 'Г%') And Фамилия Like '%ор%' 

 (2) SELECT Фамилия FROM Автор WHERE Фамилия Like 'Б' Or Фамилия Like 'Г' And Фамилия Like '%ор%' 

 (3) SELECT Фамилия FROM Автор WHERE (Фамилия Like 'Б_' AND Фамилия Like 'Г_') And Фамилия Like '_ор_' 

 (4) SELECT Фамилия FROM Автор WHERE (Фамилия Like 'Б_%' Or Фамилия Like 'Г_%') Or Фамилия Like '%ор%' 


Номер 2
				

Пусть дана таблица Рейс.

Номер_рейсаINT
Конечный_пунктCHAR(10)
Дата_вылетаDATETIME
Продолжительность_маршрутаINT
Число_билетовINT
СтоимостьMONEY

Вывести номера рейсов с датой отправления в города, в названии которых встречаются буквы "ц" или "х".


Ответ:

 (1) SELECT Номер_рейса, Дата_вылета, Конечный_пункт FROM Рейс WHERE Конечный_пункт Like '%ц%' And Конечный_пункт Like '%х%' 

 (2) SELECT Номер_рейса, Дата_вылета,Конечный_пункт FROM Рейс WHERE Конечный_пункт Like '%ц%' And Like '%х%' 

 (3) SELECT Номер_рейса, Дата_вылета,Конечный_пункт FROM Рейс WHERE Конечный_пункт Like '%ц%' Or Конечный_пункт Like '%х%' 

 (4) SELECT Номер_рейса, Дата_вылета,Конечный_пункт FROM Рейс WHERE Конечный_пункт Like '%ц_х%' And Конечный_пункт Like '%х_ц%' 


Номер 4
				

Пусть дана таблица Город.

Код_ГородаCHAR(5)
НазваниеVARCHAR(20)
ТарифMONEY
РегионVARCHAR(30)

Вывести в алфавитном порядке список городов Поволжского региона, в коде которых встречается цифра 9.


Ответ:

 (1) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '%9%' AND Регион='Поволжье' ORDER BY Название 

 (2) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '%9%' OR Регион='Поволжье' ORDER BY Название 

 (3) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '%9_' OR Регион='Поволжье' ORDER BY Название 

 (4) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '_9_' AND Регион='Поволжье' ORDER BY Название 


Упражнение 4:
Номер 1
				

Пусть дана таблица Автор.

ФамилияVARCHAR(50)
ПолCHAR(3)
Дата_рожденияDATETIME
ТелефонCHAR(9)
Количество_трудовINT
ГородVARCHAR(15)

Вывести в алфавитном порядке фамилии авторов из Самары, в телефонном номере которых на втором или третьем месте стоят цифры 5 или 8, а последними являются цифры 34.


Ответ:

 (1) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' AND (Телефон Like '_[5,8]%' Or Телефон Like '__[5,8]%') And Телефон Like '%[3][4]' ORDER BY Фамилия 

 (2) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' AND Телефон Like '_[5,8]%' Or Телефон Like '__[5,8]%' And Телефон Like '%[3][4]' ORDER BY Фамилия 

 (3) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' AND (Телефон Like '_[5,8]%' AND Телефон Like '__[5,8]%') And Телефон Like '%[3][4]' ORDER BY Фамилия 

 (4) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' OR (Телефон Like '_[5,8]%' AND Телефон Like '__[5,8]%') OR Телефон Like '%[3][4]' ORDER BY Фамилия 


Номер 2
				

Пусть дана таблица Рейс.

Номер_рейсаINT
Конечный_пунктCHAR(10)
Дата_вылетаDATETIME
Продолжительность_маршрутаINT
Число_билетовINT
СтоимостьMONEY

Определить в убывающем порядке стоимость билетов на рейсы, вылетающие в Москву, Петербург или Самару не позднее 1 апреля, а в Саратов – не позднее 7 апреля.


Ответ:

 (1) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE (Конечный_пункт In ('Москва', 'Петербург', 'Самара') AND Дата_вылета<='4/1/2004') OR (Конечный_пункт='Саратов' AND Дата_вылета<='4/7/2004') ORDER BY Стоимость DESC 

 (2) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт In ('Москва', 'Петербург', 'Самара') OR Дата_вылета<='4/1/2004' OR (Конечный_пункт='Саратов' AND Дата_вылета<='4/7/2004') ORDER BY Стоимость DESC 

 (3) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт In ('Москва', 'Петербург', 'Самара') AND Дата_вылета<='4/1/2004' OR Конечный_пункт='Саратов' AND Дата_вылета<='4/7/2004' ORDER BY Стоимость DESC 

 (4) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE (Конечный_пункт In ('Москва', 'Петербург', 'Самара') AND Дата_вылета<='4/1/2004') OR (Конечный_пункт='Саратов' OR Дата_вылета<='4/7/2004') ORDER BY Стоимость DESC 


Номер 3
				

Пусть дана таблица Блюдо.

Название_блюдаVARCHAR(20)
Тип_блюдаVARCHAR(20)
Время_приготовленияDATETIME
КалорийностьINT
ПоварVARCHAR(20)
СтоимостьMONEY

Вывести в алфавитном порядке фамилии поваров, блюда которых относятся к десерту или выпечке, стоимость не превышает 50 руб., а калорийность не больше 300 ккал.


Ответ:

 (1) SELECT Повар, Тип_блюда, Стоимость, Калорийность FROM Блюдо WHERE Тип_блюда In ('десерт', 'выпечка') AND Стоимость<=50 AND Калорийность<=300 ORDER BY Повар 

 (2) SELECT Повар, Тип_блюда, Стоимость, Калорийность FROM Блюдо WHERE Тип_блюда In ('десерт', 'выпечка') OR Стоимость<=50 OR Калорийность<=300 ORDER BY Повар 

 (3) SELECT Повар, Тип_блюда, Стоимость, Калорийность FROM Блюдо WHERE (Тип_блюда In ('десерт', 'выпечка')) AND (Стоимость<=50 OR Калорийность<=300) ORDER BY Повар 

 (4) SELECT Повар, Тип_блюда, Стоимость, Калорийность FROM Блюдо WHERE (Тип_блюда='десерт' OR Тип_блюда= 'выпечка') AND Стоимость<=50 AND Калорийность<=300 ORDER BY Повар 


Номер 4

Пусть дана таблица Город.

Код_ГородаCHAR(5)
НазваниеVARCHAR(20)
ТарифMONEY
РегионVARCHAR(30)

Вывести регионы и города, стоимость минуты разговора с которыми либо меньше 20 руб., либо больше 100, а название города оканчивается на "-ов" или "-ин".


Ответ:

 (1) SELECT Регион, Название, Тариф FROM Город WHERE ((Название Like '%ов' Or Название Like '%ин') AND (Тариф<20 Or Тариф>100)) 

 (2) SELECT Регион, Название, Тариф FROM Город WHERE (Название Like '%ов' AND Название Like '%ин') OR (Тариф<20 AND Тариф>100) 

 (3) SELECT Регион, Название, Тариф FROM Город WHERE (Название Like '%ов' Or Название Like '%ин') OR (Тариф<20 Or Тариф>100) 


Упражнение 5:
Номер 1

Дана таблица Автор с полями

ФамилияVARCHAR(50)
ПолCHAR(1)
Дата_рожденияDATETIME
Телефон CHAR(9)
Количество_трудовINT
Город VARCHAR(15)

Найти города, в которых живут авторы, родившиеся позже 1 января 1982 года - мужчины, издавшие более 10 книг и имеющие телефон.


Ответ:

 (1) SELECT Город FROM Автор WHERE Дата_рождения>'1/1/1982' AND Количество_трудов>10 AND Пол='м' AND Телефон is not null 

 (2) SELECT Город, Дата_рождения, Количество_трудов FROM Автор WHERE Дата_рождения<'1/1/1982' AND Количество_трудов>10 AND Пол='м' AND Телефон='' 

 (3) SELECT Город FROM Автор WHERE Дата_рождения>'1982/1/1' OR Количество_трудов>10 OR Пол='м' AND Телефон not is null 

 (4) SELECT DISTINCT Город FROM Автор WHERE Дата_рождения>'1/1/1982' OR Количество_трудов<10 AND Пол='м' AND NOT Телефон 


Номер 2

Дана таблица Рейс с полями

Номер_рейса INT
Конечный_пункт CHAR(10)
Дата_вылетаDATETIME
Продолжительность_маршрутаINT
СтоимостьMONEY

Вывести информацию о рейсах до Москвы с датой вылета не позднее 8 марта, но не ранее 1 марта, со стоимостью билетов от 500 до 1000 руб.


Ответ:

 (1) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' AND Дата_вылета>='3/1/2004' And Дата_вылета<='3/8/2004' And Стоимость Between 500 and 1000 

 (2) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' OR Дата_вылета>='3/1/2004' And Дата_вылета<='3/8/2004' And Стоимость >= 500 <= 1000 

 (3) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' AND Дата_вылета>='3/1/2004' OR Дата_вылета<='3/8/2004' Стоимость Between 500 OR 1000 

 (4) SELECT Номер_рейса, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт='Москва' AND (Дата_вылета>='3/1/2004' OR Дата_вылета<='3/8/2004') And Стоимость >= 500 And Стоимость <= 1000 


Номер 3

Дана таблица Город с полями

Код_ГородаCHAR(5)
НазваниеVARCHAR(20)
ТарифMONEY
Регион VARCHAR(30)

Найти города Поволжья или Урала, стоимость минуты телефонного разговора с которыми не меньше 2 руб. и не больше 10 руб.


Ответ:

 (1) SELECT Название, Регион, Тариф FROM Город WHERE Регион='Поволжье' OR Регион='Урал' AND Тариф Between 2 and 10 

 (2) SELECT Название, Регион, Тариф FROM Город WHERE (Регион='Поволжье' OR Регион='Урал') AND Тариф Between 2 and 10 

 (3) SELECT Название, Регион, Тариф FROM Город WHERE (Регион='Поволжье' OR Регион='Урал') AND Тариф Between 2 OR 10 

 (4) SELECT Название, Регион, Тариф FROM Город WHERE Регион='Поволжье' OR Регион='Урал' AND Тариф >= 2 and 10 


Упражнение 6:
Номер 1
Дана таблица Автор. Вывести в алфавитном порядке фамилии авторов из Самары, в телефонном номере которых на первом или третьем месте стоит цифра от 5 до 8, а последними являются цифры 7 и 8.

Ответ:

 (1) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' AND (Телефон Like '[5-8]%' Or Телефон Like '__[5-8]%') And Телефон Like '%[7][8]' ORDER BY Фамилия 

 (2) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' AND Телефон Like '[5,6,7,8]%' Or Телефон Like '[5_6_7_8]%' And Телефон Like '%[7][8]' ORDER BY Фамилия 

 (3) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' AND (Телефон Like '%[5-8]%' AND Телефон Like '%%%[5_8]%') And Телефон Like '%[7][8]' ORDER BY Фамилия 

 (4) SELECT Фамилия, Город, Телефон FROM Автор WHERE Город='Самара' OR (Телефон Like '_[5-8]%' AND Телефон Like '__[5-8]%') OR Телефон Like '%[7][8]' ORDER BY Фамилия 


Номер 2
Дана таблица Рейс. Вывести в убывающем порядке список рейсов, вылетающих не позднее 1 апреля в Москву, Петербург или Самару, стоимость билета не более 1500 р.; в Саратов – не позднее 7 апреля, стоимость билета - от 500 до 800 р.

Ответ:

 (1) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE (Конечный_пункт In ('Москва', 'Петербург', 'Самара') AND Дата_вылета<='4/1/2004' AND Стоимость<=1500) OR (Конечный_пункт='Саратов' AND Дата_вылета<='4/7/2004' AND Стоимость>=500 AND Стоимость<=800) ORDER BY Стоимость DESC 

 (2) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт In ('Москва', 'Петербург', 'Самара') OR Дата_вылета<='4/1/2004' AND Стоимость<=1500 OR (Конечный_пункт='Саратов' AND Дата_вылета<='4/7/2004' OR Стоимость>=500 OR Стоимость<=800) ORDER BY Стоимость DESC 

 (3) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE Конечный_пункт In ('Москва', 'Петербург', 'Самара') AND Дата_вылета<='4/1/2004' AND Стоимость<=1500 OR Конечный_пункт='Саратов' AND Дата_вылета<='4/7/2004' AND Стоимость Between 500 and 800 ORDER BY Стоимость DESC 

 (4) SELECT Номер_рейса, Стоимость, Конечный_пункт, Дата_вылета FROM Рейс WHERE (Конечный_пункт In ('Москва', 'Петербург', 'Самара') AND Дата_вылета<='4/1/2004' AND Стоимость<=1500) OR (Конечный_пункт='Саратов' OR Дата_вылета<='4/7/2004' AND Стоимость Between 500 and 800) ORDER BY Стоимость DESC 


Номер 3
Дана таблица Город. Вывести в алфавитном порядке список городов Поволжского региона, в коде которых встречается цифра 9, а в названии города на втором месте стоит буква «д» или «ж».

Ответ:

 (1) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '%9%' AND Регион='Поволжье' AND Название Like '_[д,ж]%' ORDER BY Название 

 (2) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '%9%' OR Регион='Поволжье' AND Название Like '_[д,ж]' ORDER BY Название 

 (3) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '%9_' OR Регион='Поволжье' OR Название Like '_[д,ж]%' ORDER BY Название 

 (4) SELECT Название, Код_Города, Регион FROM Город WHERE Код_Города Like '_9_' AND Регион='Поволжье' AND Название Like '_[д-ж]%' ORDER BY Название 




Главная / Базы данных / Основы SQL / Тест 4