Основы SQL



Авторы специализируются на тестах по любым дисциплинам! Средний балл по тестам 4,6.
 
Любые вопросы по дистанционному обучению. Тесты, письменные работы, сессия под ключ.
 
Известный интернет сайт, помощь по любым учебным вопросам - от теста до дипломной работы. Личный менеджер.
 
Крупная биржа студенческих работ. Закажи напрямую у преподавателя. Низкие цены, стена заказов.
 

В базе данных basa_user зарегистрировано три пользователя UserA, UserB и UserC. Какие действия предпримет система?

Basa_user АдминистраторUserAUserBUserC

1

2
3

4

5

6

7

8CREATE TABLE tab
(id_t INT,
nam_t CHAR(8))
sp_addrole ‘role1’
sp_addrolemember
‘role1′,’UserA’
sp_addrolemember
‘role1′,’UserB’
GRANT INSERT ON
tab TO role1
GRANT INSERT ON
tab TO UserA
WITH GRANT
OPTION
REVOKE INSERT ON
tab
TO UserA CASCADE

 

GRANT INSERT ON
tab TO UserC  9INSERT INTO tab
values(1,’aa’)
INSERT INTO tab
values (2,’bb’)
INSERT INTO tab
values (3,’cc’)
INSERT INTO tab
values (4,’dd’)
10????

  • (Правильный ответ)10

ВыполненоВыполненоВыполненоОтклонено

  • 10

ВыполненоОтклоненоВыполненоОтклонено

  • 10

ВыполненоОтклоненоВыполненоВыполнено

  • 10

ОтклоненоВыполненоОтклоненоВыполнено

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

Код_Города

CHAR(5)

Название

VARCHAR(20)

Тариф

MONEY

Регион

VARCHAR(30)

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

  • SELECT DISTINCT Регион, ТарифFROM ГородWHERE Тариф Between 10 OR 100
  • (Правильный ответ)
    SELECT DISTINCT Регион, ТарифFROM ГородWHERE Тариф>=10 And Тариф<=100
  • SELECT DISTINCT Регион, ТарифFROM ГородWHERE Тариф>10 OR Тариф<100
  • (Правильный ответ)
    SELECT DISTINCT Регион, ТарифFROM ГородWHERE Тариф Between 10 And 100

Даны таблицы Рейс и Билет.

CREATE TABLE Рейс(Номер_рейса INT, Конечный_пункт VARCHAR(30), Продолжительность_маршрута INT) CREATE TABLE БИЛЕТ(Номер_места CHAR(3), Номер_рейса CHAR(6), Фамилия_пассажира VARCHAR(20))

Определить самый продолжительный рейс.

  • SELECT Рейс.Номер_рейса, Рейс.Конечный_пункт, Рейс.Продолжительность_маршрутаFROM РейсWHERE Рейс.Продолжительность_маршрута=   Max(Рейс.Продолжительность_маршрута)
  • SELECT Рейс.Номер_рейса, Рейс.Конечный_пункт, Рейс.Продолжительность_маршрутаFROM РейсWHERE Рейс.Продолжительность_маршрута=   (Max(SELECT Рейс.Продолжительность_маршрута     FROM Рейс))
  • (Правильный ответ)
    SELECT Рейс.Номер_рейса, Рейс.Конечный_пункт, Рейс.Продолжительность_маршрутаFROM РейсWHERE Рейс.Продолжительность_маршрута>=ALL    (SELECT Рейс.Продолжительность_маршрута    FROM Рейс)
  • (Правильный ответ)
    SELECT Рейс.Номер_рейса, Рейс.Конечный_пункт, Рейс.Продолжительность_маршрутаFROM РейсWHERE Рейс.Продолжительность_маршрута=   (SELECT Max(Рейс.Продолжительность_маршрута)       FROM Рейс)

Даны таблицы Автор и Книга.

CREATE TABLE Автор( Код_Автора INT , Фамилия VARCHAR(50)) CREATE TABLE Книга( Код_Книги INT, Название VARCHAR(50) NOT NULL, Цена MONEY, Издательство VARCHAR(50) NOT NULL, Код_Автора INT NOT NULL, Количество INT)

Определить авторов, чьи какие-либо книги проданы в наименьшем количестве.

  • (Правильный ответ)
    SELECT Автор.Фамилия, Книга.КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораWHERE Книга.Количество <=ALL(SELECT Книга.Количество FROM Книга)
  • (Правильный ответ)
    SELECT Автор.Фамилия, Книга.КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораWHERE Книга.Количество=(SELECT Min(Книга.Количество) FROM Книга)
  • SELECT Автор.Фамилия, Книга.КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораWHERE Книга.Количество = Min(Книга. Количество)
  • SELECT Автор.Фамилия, Книга. КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораWHERE Книга.Количество =Min(SELECT Книга.Количество FROM Книга)

В таблицу Город необходимо добавить сведения о регионе и изменить тип поля Код_Города на CHAR(5). Отметьте правильные ответы:

  • (Правильный ответ)
    ALTER TABLE Город ADD Регион VARCHAR(50)ALTER TABLE Город ALTER COLUMN Код_Города VARCHAR(5) NOT NULL
  • (Правильный ответ)
    ALTER TABLE Город ADD Регион VARCHAR(50)ALTER TABLE Город ALTER COLUMN Код_Города CHAR(5) NOT NULL
  • ALTER TABLE Город ADD COLUMN Регион VARCHAR(50) NOT NULLALTER TABLE Город DROP Код_ГородаALTER TABLE Город ADD COLUMN Код_Города VARCHAR(5)
  • ALTER TABLE Город ADD Регион VARCHAR(50) NOT NULLALTER TABLE Город ALTER Код_Города CHAR(5) NOT NULL

В таблице Город значения поля Тариф ограничить диапазоном от 0.1 руб. до 7.8. Руб.

  • (Правильный ответ)
    ALTER TABLE Город ADD CHECK(Тариф>=0.1 AND Тариф<=7.8)
  • ALTER TABLE Город ALTER Тариф MONEY CHECK(Тариф >=0.1 AND Тариф<=7.8)
  • ALTER TABLE Город ADD CHECK(Тариф <=0.1 AND >=7.8)
  • (Правильный ответ)
    ALTER TABLE Город ADD CONSTRAINT ch1 CHECK(Тариф Between 0.1 and 7.8)

Назовите преимущества архитектуры «клиент-сервер»?

  • (Правильный ответ) данные хранятся в единственном экземпляре на сервере
  • обработка запроса выполняется на компьютере-клиенте
  • результат запроса в виде файла возвращается клиенту

Для определения номера телефона (например, +74952539312) подойдет описание:

  • (Правильный ответ) Telephon CHAR(12)
  • Telephon INT
  • Telephon DECIMAL(10)

Какое из следующих описаний типов является неправильным?

  • DECIMAL(8,8)
  • DECIMAL(6,3)
  • (Правильный ответ) DECIMAL(12,14)

Какое из следующих чисел можно внести в поле, описанное как DECIMAL(6,3)?

  • 56716.222
  • -415.3567
  • (Правильный ответ) -123.423

Задание: Транзакции выполняют различные действия. Первой начинает работать транзакция пользователя UserA.

Пользователь UserAПользователь UserBUSE basa_userSET TRANSACTION ISOLATION LEVELREPEATABLE READ BEGIN TRANSACTION TRA1.SELECT * FROM Товар 3.UPDATE Товар SETостаток=остаток+10 WHERE Код_Товара=4 ROLLBACK TRANSACTION TRA USE basa_userSET TRANSACTION ISOLATIONLEVEL SERIALIZABLE BEGIN TRANSACTION TRB 2.SELECT * FROM Товар 4.DELETE FROM Товар WHEREКод_Товара=4ROLLBACK TRANSACTION TRB

Какие шаги система выполнит, а какие будут заблокированы?

  • (Правильный ответ)1
    2
    3
    4

    Блокируется

ВыполняетсяБлокируетсяВыполняется

  • 1
    2
    3
    4

    Выполняется

БлокируетсяВыполняетсяВыполняется

  • 1
    2
    3
    4

    Выполняется

БлокируетсяВыполняетсяБлокируется

  • 1
    2
    3
    4

    Блокируется

БлокируетсяВыполняетсяБлокируется

Дан некоторый фрагмент SQL-кода:

DECLARE @a CHAR(12)DECLARE @b DATETIMEDECLARE @c INTSET @a=’12.2.04’SET @b=’3.04.04’

Укажите правильные операторы для вычисления количества дней между датами:

  • SET @c=CAST(@b AS INT) +CAST(@a AS INT)
  • (Правильный ответ) SET @c=CAST(@b-CAST(@a AS DATETIME) AS INT)
  • SET @c=@b-CAST(@a AS DATETIME)
  • (Правильный ответ) SET @c=CAST((@b-@a) AS INT)

Какие из следующих строк можно внести в поле, описанное как VARCHAR(6), чтобы данные хранились без потерь?

  • Здравствуйте
  • (Правильный ответ) 123456
  • (Правильный ответ) Привет

Пусть номер страхового пенсионного свидетельства состоит из 11 цифр, разделенных знаками «-«, например: 063-840-013-82. Укажите правильный тип данных для его описания.

  • Pens_svid INT(11)
  • Пенс_свид FLOAT
  • (Правильный ответ) Пенс_свидетельство CHAR(14)
  • Пенс.свид. CHAR(14)

Какие из следующих описаний типов являются правильными?

  • DECIMAL(3,4)
  • (Правильный ответ) NUMERIC(7,7)
  • (Правильный ответ) DATETIME
  • INTEGER(11,2)

Создать базу данных basa1, причем для данных на диске D определить два файла с начальным размером по 100 Мб, но не более 500 Мб, с величиной прироста 10%, для журнала транзакций – на диске E один файл с начальным размером 50 Мб, но не более 100 Мб, с величиной прироста 10 Мб.

CREATE DATABASE basa1ON PRIMARY ( NAME=b1, FILENAME=’D:\user\b1.mdf’,SIZE=100MB, MAXSIZE=500, FILEGROWTH=10%),(NAME=b2, SIZE=100MB, MAXSIZE=500, FILEGROWTH=10%)LOG ON(NAME=l1, FILENAME=’E:\user\l1.ldf’, SIZE=50MB, MAXSIZE=100, FILEGROWTH=10)

Выберите правильный ответ.

  • неправильно указано логическое имя базы данных
  • база данных будет успешно создана
  • неправильно определен размер базы данных
  • (Правильный ответ) неправильно указано физическое имя базы данных

В таблицу Рейс необходимо добавить бортовой номер и увеличить длину поля Конечный_пункт.

  • ALTER TABLE Рейс ADD борт INT(5)ALTER TABLE Рейс ALTER ADD Конечный пункт VARCHAR(50)
  • (Правильный ответ)
    ALTER TABLE Рейс ADD COLUMN борт CHAR(5)ALTER TABLE Рейс ALTER COLUMN Конечный_пункт VARCHAR(50)
  • ALTER TABLE Рейс ADD COLUMN борт FLOAT(8,3)ALTER TABLE Рейс ALTER Конечный_пункт VARCHAR(50)
  • ALTER TABLE Рейс ADD COLUMN борт VARCHAR(3,1) NOT NULLALTER TABLE Рейс DROP Конечный_пунктALTER TABLE Рейс ADD COLUMN Конечный_пункт VARCHAR(50)

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

Код_Города

CHAR(5)

Название

VARCHAR(20)

Тариф

MONEY

Регион

VARCHAR(30)

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

  • SELECT Регион, Название, ТарифFROM ГородWHERE (Название Like ‘%ов’ Or Название Like ‘%ин’) OR (Тариф<20 Or Тариф>100)
  • SELECT Регион, Название, ТарифFROM ГородWHERE (Название Like ‘%ов’ AND Название Like ‘%ин’) OR (Тариф<20 AND Тариф>100)
  • (Правильный ответ)
    SELECT Регион, Название, ТарифFROM ГородWHERE ((Название Like ‘%ов’ Or Название Like ‘%ин’) AND (Тариф<20 Or Тариф>100))

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

Фамилия

VARCHAR(50)

Пол

CHAR(3)

Дата_рождения

DATETIME

Телефон

CHAR(9)

Количество_трудов

INT

Город

VARCHAR(15)

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

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

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

Код_Города

CHAR(5)

Название

VARCHAR(20)

Тариф

MONEY

Регион

VARCHAR(30)

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

  • SELECT Название, Код_Города, РегионFROM ГородWHERE Код_Города Like ‘%9%’ OR Регион=’Поволжье’ORDER BY Название
  • SELECT Название, Код_Города, РегионFROM ГородWHERE Код_Города Like ‘%9_’ OR Регион=’Поволжье’ORDER BY Название
  • SELECT Название, Код_Города, РегионFROM ГородWHERE Код_Города Like ‘_9_’ AND Регион=’Поволжье’ORDER BY Название
  • (Правильный ответ)
    SELECT Название, Код_Города, РегионFROM ГородWHERE Код_Города Like ‘%9%’ AND Регион=’Поволжье’ORDER BY Название

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

Название_блюда

VARCHAR(20)

Время_приготовления

DATETIME

Калорийность

INT

Повар

VARCHAR(20)

Стоимость

MONEY

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

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

Найти абонентов, которые звонят в Москву, но ни разу не звонили в Самару в мае.

CREATE TABLE Город ( Код_Города INT , Название VARCHAR(20) NOT NULL, Тариф MONEY) CREATE TABLE Разговор(Код_Разговора INT , Код_Города INT NOT NULL, Фамилия VARCHAR(20), Дата DATETIME NOT NULL, Продолжительность INT NOT NULL)

  • SELECT DISTINCT Разговор.ФамилияFROM РазговорWHERE Разговор.Фамилия IN(SELECT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’ AND Город.Название<>’Самара’ AND Month(Разговор.Дата)=5)
  • SELECT DISTINCT Разговор.ФамилияFROM РазговорWHERE Город.Название=’Москва’AND Город.Название<>’Самара’ AND Month(Разговор.Дата)=5
  • (Правильный ответ)
    SELECT DISTINCT Разговор.ФамилияFROM РазговорWHERE Разговор.Фамилия IN(SELECT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’)AND Разговор.Фамилия NOT IN(SELECT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Самара’ AND Month(Разговор.Дата)=5)
  • SELECT DISTINCT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’AND Город.Название<>’Самара’ AND Month(Разговор.Дата)=5

Даны таблицы

CREATE TABLE Город( Код_Города INT ,Название VARCHAR(20) NOT NULL,Тариф MONEY) CREATE TABLE Разговор(Код_Разговора INT ,Код_Города INT NOT NULL,Фамилия VARCHAR(20),Дата DATETIME NOT NULL,Продолжительность INT NOT NULL)

Найти абонентов, которые звонят в Москву, но ни разу не вели переговоры с Самарой.

  • SELECT DISTINCT Разговор.ФамилияFROM РазговорWHERE Город.Название=’Москва’AND Город.Название<>’Самара’
  • SELECT DISTINCT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’AND Город.Название<>’Самара’
  • (Правильный ответ)
    SELECT DISTINCT Разговор.ФамилияFROM РазговорWHERE Разговор.Фамилия IN(SELECT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’)AND Разговор.Фамилия NOT IN(SELECT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Самара’);
  • SELECT DISTINCT Разговор.ФамилияFROM РазговорWHERE Разговор.Фамилия IN(SELECT Разговор.ФамилияFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’ AND Город.Название<>’Самара’)

Даны таблицы Автор и Книга

CREATE TABLE Автор(Код_Автора INT , Фамилия VARCHAR(50), Пол VARCHAR(50) NOT NULL ) CREATE TABLE Книга( Код_Книги INT, Название VARCHAR(50) NOT NULL, Тематика VARCHAR(50) NOT NULL, Издательство VARCHAR(50) NOT NULL, Код_Автора INT NOT NULL)

Вывести список авторов, работающих в жанре «детектив».

  • (Правильный ответ)
    SELECT DISTINCT Автор.Фамилия, Книга.ИздательствоFROM Автор, Книга WHERE Автор.Код_Автора = Книга.Код_Автора AND Книга.Тематика =’Детектив’
  • (Правильный ответ)
    SELECT DISTINCT Автор.Фамилия, Книга.ИздательствоFROM Автор INNER JOIN Книга ON Автор.Код_Автора = Книга.Код_АвтораWHERE Книга.Тематика =’Детектив’
  • SELECT DISTINCT Автор.Фамилия, Книга.ИздательствоFROM Автор JOIN Книга ON Автор = КнигаWHERE Книга.Тематика =’Детектив’

Вывести список пассажиров, которые летали в апреле в Москву, но не летали в Киев в январе.

CREATE TABLE Рейс(Номер_рейса INT, Конечный_пункт VARCHAR(30), Дата_вылета DATETIME) CREATE TABLE БИЛЕТ(Номер_места CHAR(3), Номер_рейса CHAR(6), Дата_продажи DATETIME, Фамилия_пассажира VARCHAR(30))

  • (Правильный ответ)
    SELECT DISTINCT Билет.Фамилия_пассажираFROM БилетWHERE Билет.Фамилия_пассажира In (SELECT Билет.Фамилия_пассажираFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаWHERE Рейс.Конечный_пункт=’Москва’ AND Month(Рейс.Дата_вылета)=4) ANDБилет.Фамилия_пассажира NOT In(SELECT Билет.Фамилия_пассажираFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаWHERE Рейс.Конечный_пункт=’Киев’ AND Month(Рейс.Дата_вылета)=1)
  • SELECT DISTINCT Билет.Фамилия_пассажираFROM БилетWHERE Month(Рейс.Дата_вылета)=4 AND Билет.Фамилия_пассажира In (SELECT Билет.Фамилия_пассажираFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаWHERE Рейс.Конечный_пункт=’Москва’ ANDРейс.Конечный_пункт=’Киев’ AND Month(Рейс.Дата_вылета)=1)
  • SELECT DISTINCT Билет.Фамилия_пассажираFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаWHERE Рейс.Конечный_пункт=’Москва’ AND Month(Рейс.Дата_вылета)=4 ORРейс.Конечный_пункт<>’Киев’ AND Month(Рейс.Дата_вылета)=1
  • SELECT DISTINCT Билет.Фамилия_пассажираFROM БилетWHERE Рейс.Конечный_пункт=’Москва’ AND Month(Рейс.Дата_вылета)=4 ORРейс.Конечный_пункт<>’Киев’ AND Month(Рейс.Дата_вылета)=1)

Даны таблицы

CREATE TABLE Блюдо(Название_блюда VARCHAR(20) NOT NULL,Время_приготовления INT NOT NULL,Общая_калорийность INT NOT NULL,Номер_рецепта INT,Повар VARCHAR(20),Стоимость INT ) CREATE TABLE Компонент(Название_компонента VARCHAR(20),Калорийность INT NOT NULL,Жиры INT,Белки INT,Блюдо VARCHAR(20),Углеводы INT,Стоимость_100_грамм FLOAT NOT NULL)

Найти поваров, которые используют в своих блюдах компоненты без названия.

  • SELECT Блюдо.Повар, Блюдо.Название_блюда, Компонент.Название_компонентаFROM Блюдо INNER JOIN Компонент ON Блюдо.Название_блюда = Компонент.БлюдоWHERE Компонент.Название_компонента Is Null
  • SELECT Блюдо.Повар, Блюдо.Название_блюда, Компонент.Название_компонентаFROM Блюдо RIGHT JOIN Компонент ON Блюдо.Название_блюда = Компонент.БлюдоWHERE Компонент.Название_компонента Is Null
  • SELECT Блюдо.Повар, Блюдо.Название_блюда, Компонент.Название_компонентаFROM Блюдо,Компонент WHERE Блюдо.Название_блюда = Компонент.БлюдоAND Компонент.Название_компонента Is Null
  • (Правильный ответ)
    SELECT Блюдо.Повар, Блюдо.Название_блюда, Компонент.Название_компонентаFROM Блюдо LEFT JOIN Компонент ON Блюдо.Название_блюда = Компонент.БлюдоWHERE Компонент.Название_компонента Is Null

Вывести список авторов-женщин, работающих в жанре романа, но не в жанре фантастики.

CREATE TABLE Автор(Код_Автора INT , Фамилия VARCHAR(50), Пол VARCHAR(50) NOT NULL ) CREATE TABLE Книга( Код_Книги INT, Название VARCHAR(50) NOT NULL, Тематика VARCHAR(50) NOT NULL, Издательство VARCHAR(50) NOT NULL, Код_Автора INT NOT NULL)

  • SELECT Автор.Фамилия, Автор.Код_АвтораFROM Автор,КнигаWHERE Автор.Пол=’ж’ AND Автор.Код_Автора= Книга.Код_Автора ANDКнига.Тематика=’Роман’ AND(Книга.Тематика<>’Фантастика’)
  • SELECT Автор.Фамилия, Автор.Код_АвтораFROM АвторWHERE Автор.Пол=’ж’ AND Книга.Тематика=’Роман’ ANDКнига.Тематика=’Фантастика’
  • (Правильный ответ)
    SELECT Автор.Фамилия, Автор.Код_АвтораFROM АвторWHERE Автор.Пол=’ж’ AND Автор.Код_Автора IN (SELECT Книга.Код_АвтораFROM КнигаWHERE Книга.Тематика=’Роман’) ANDАвтор.Код_Автора NOT IN (SELECT Книга.Код_АвтораFROM КнигаWHERE Книга.Тематика=’Фантастика’)
  • SELECT Автор.Фамилия, Автор.Код_АвтораFROM АвторWHERE Автор.Пол=’ж’ AND Автор.Код_Автора IN (SELECT Книга.Код_АвтораFROM КнигаWHERE Книга.Тематика=’Роман’ ANDКнига.Тематика<>’Фантастика’)

Даны таблицы Город и Разговор.

CREATE TABLE Город ( Код_Города INT , Название VARCHAR(20) NOT NULL, Тариф MONEY) CREATE TABLE Разговор(Код_Разговора INT , Код_Города INT NOT NULL, Фамилия VARCHAR(20), Дата DATETIME NOT NULL, Продолжительность INT NOT NULL)

Вывести список абонентов, которые говорили с Москвой в апреле.

  • SELECT Разговор.Фамилия, Город.НазваниеFROM Город JOIN Разговор ON Город.Название=’Москва’ ON Город.Код_Города = Разговор.Код_Города AND Month(Разговор.Дата)=4
  • (Правильный ответ)
    SELECT Разговор.Фамилия, Город.НазваниеFROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Город.Название=’Москва’ AND Month(Разговор.Дата)=4
  • (Правильный ответ)
    SELECT Разговор.Фамилия, Город.НазваниеFROM Город, Разговор WHERE Город.Код_Города = Разговор.Код_Города AND Город.Название=’Москва’ AND Month(Разговор.Дата)=4

Даны таблицы

CREATE TABLE Город( Код_Города INT ,Название VARCHAR(20) NOT NULL,Тариф MONEY) CREATE TABLE Разговор(Код_Разговора INT ,Код_Города INT NOT NULL,Фамилия IVARCHAR(20),Дата DATETIME NOT NULL,Продолжительность INT NOT NULL)

Вывести список городов, с которыми не зарегистрировано ни одного телефонного разговора.

  • SELECT DISTINCT Город.Название FROM Город RIGHT JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Разговор.Код_Разговора Is Null
  • SELECT DISTINCT Город.Название FROM Город, Разговор WHERE Город.Код_Города = Разговор.Код_ГородаAND Разговор.Код_Разговора Is Null
  • SELECT DISTINCT Город.Название FROM Город INNER JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Разговор.Код_Разговора Is Null
  • (Правильный ответ)
    SELECT DISTINCT Город.Название FROM Город LEFT JOIN Разговор ON Город.Код_Города = Разговор.Код_ГородаWHERE Разговор.Код_Разговора Is Null

Даны таблицы

CREATE TABLE Блюдо(Название_блюда VARCHAR(20) NOT NULL,Время_приготовления INT NOT NULL,Общая_калорийность INT NOT NULL,Номер_рецепта INT,Повар VARCHAR(20),Стоимость MONEY ) CREATE TABLE Компонент(Название_компонента VARCHAR(20),Калорийность INT NOT NULL,Вес FLOAT,Белки INT,Блюдо VARCHAR(20),Углеводы INT,Стоимость MONEY NOT NULL)

Для каждого повара определить количество используемых компонентов и их общую стоимость

  • (Правильный ответ)
    SELECT Блюдо.Повар, Sum(Компонент.Вес*Компонент.Стоимость) AS Общ_Стоимость, Count(Компонент.Название_компонента) AS Кол_компонентFROM Блюдо INNER JOIN Компонент ON Блюдо.Название_блюда = Компонент.БлюдоGROUP BY Блюдо.Повар
  • SELECT Sum(Вес* Стоимость) AS Общ_Стоимость, Count(Название_компонента) AS Кол_компонентFROM Блюдо INNER JOIN Компонент ON Блюдо.Название_блюда = Компонент.БлюдоGROUP BY Повар
  • SELECT Блюдо.Повар, Sum(Компонент.Вес*Компонент.Стоимость) AS Общ_Стоимость, Count(Компонент.Название_компонента) AS Кол_компонентFROM Блюдо INNER JOIN Компонент ON Блюдо.Название_блюда = Компонент.Блюдо

Даны таблицы

CREATE TABLE Рейс(Номер_рейса INT,Конечный_пункт VARCHAR(30),Дата_вылета DATETIME,Продолжительность_маршрута INT,Число_билетов INT,Стоимость MONEY) CREATE TABLE БИЛЕТ(Номер_места CHAR(3),Номер_рейса INT,Дата_продажи DATETIME,Стоимость MONEY,Фамилия_пассажира VARCHAR(20))

Вывести список городов, куда было продано не менее 200 билетов на сумму, превышающую 10000 руб.

  • SELECT Рейс.Конечный_пункт, Count(Билет.Фамилия_пассажира) AS Кол_пассажиров, Sum(Рейс.Стоимость) AS Общ_СтоимостьFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаGROUP BY Рейс.Конечный_пунктHAVING Кол_пассажиров>=200 AND Общ_Стоимость>10000
  • SELECT Рейс.Конечный_пункт, Count(Билет.Фамилия_пассажира) AS Кол_пассажиров, Sum(Рейс.Стоимость) AS Общ_СтоимостьFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаHAVING Count(Билет.Фамилия_пассажира)>=200 AND Sum(Рейс.Стоимость)>10000
  • (Правильный ответ)
    SELECT Рейс.Конечный_пункт, Count(Билет.Фамилия_пассажира) AS Кол_пассажиров, Sum(Рейс.Стоимость) AS Общ_СтоимостьFROM Билет INNER JOIN Рейс ON Билет.Номер_рейса = Рейс.Номер_рейсаGROUP BY Рейс.Конечный_пунктHAVING Count(Билет.Фамилия_пассажира)>=200 AND Sum(Рейс.Стоимость)>10000

Даны таблицы

CREATE TABLE Рейс(Номер_рейса INT, Конечный_пункт VARCHAR(30), Дата_вылета DATETIME, Число_билетов INT, Стоимость MONEY) CREATE TABLE БИЛЕТ(Номер_места CHAR(3), Номер_рейса CHAR(6), Дата_продажи DATETIME, Стоимость MONEY)

Рассчитать общую стоимость билетов для каждого рейса, 5% налог с продаж и доход от рейсов до Москвы.

  • SELECT Номер_рейса, @s=Стоимость*Число_билетов, @n=Стоимость*Число_билетов* 0.05, @d=Стоимость*Число_билетов* 0.95 FROM РейсHAVING Конечный_пункт=’Москва’
  • (Правильный ответ)
    SELECT Номер_рейса, Стоимость*Число_билетов AS Общ_стоимость, Стоимость*Число_билетов*0.05 AS Налог, Стоимость*Число_билетов*0.95 AS ДоходFROM РейсWHERE Конечный_пункт=’Москва’
  • SELECT Номер_рейса, Общ_стоимость =Стоимость*Число_билетов, Налог =Общ_стоимость* 0.05, Доход =Общ_стоимость *0.95 FROM РейсWHERE Конечный_пункт=’Москва’
  • SELECT Номер_рейса, Стоимость*Число_билетов AS Общ_стоимость, Общ_стоимость* 0.05 AS Налог, Общ_стоимость *0.95 AS ДоходFROM РейсHAVING Конечный_пункт=’Москва’

Даны таблицы

CREATE TABLE Автор(Код_Автора INT ,Фамилия VARCHAR(50) NULL,Имя VARCHAR(50) NULL,Отчество VARCHAR(50) NULL,Пол VARCHAR(50) NOT NULL ,Дата_рождения DATETIME ,Телефон CHAR(9)) CREATE TABLE Книга( Код_Книги INT,Название VARCHAR(50) NOT NULL,Цена MONEY,Тематика VARCHAR(50) NOT NULL,Издательство VARCHAR(50) NOT NULL,Код_Автора INT NOT NULL,Количество INT)

Определить авторов, у каждого из которых было продано более 1000 экземпляров книг.

  • (Правильный ответ)
    SELECT Автор.Фамилия, Sum(Книга.Количество) AS Общ_КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораGROUP BY Автор.ФамилияHAVING Sum(Книга.Количество)>1000
  • SELECT Sum(Книга.Количество) AS Общ_КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораGROUP BY Автор.ФамилияHAVING Общ_Количество>1000
  • SELECT Автор.Фамилия, Sum(Книга.Количество) AS Общ_КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораHAVING Sum(Книга.Количество)>1000
  • SELECT Автор.Фамилия, Sum(Книга.Количество) AS Общ_КоличествоFROM Книга INNER JOIN Автор ON Книга.Код_Автора = Автор.Код_АвтораGROUP BY Автор.ФамилияWHERE Sum(Книга.Количество)>1000

В каком количестве и на какую сумму издавал свои книги автор Борисов в