Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Шпоры по базам данных / Тесты ответы.doc
Скачиваний:
58
Добавлен:
02.05.2014
Размер:
174.59 Кб
Скачать

Б – 1. 1) Б;

5) Блюдо (код_бл, назв_бл, категория) – справочник блюд;

Продукт (код_прод; назв_прод, калорийность) – справочник продуктов;

Рецепт (код_бл, код_пр, кол_прод_в_блюде) – сколько данного продукта в данном блюде.

Извлечь все различные пары продуктов, имеющих одинаковую калорийность. Указать коды и названия продуктов, их калорийность (для продуктов, не имеющих пары, соответствующие значения – Null). Результат упорядочить по калорийности, затем по названиям.

Select x.ном_прод, x.назв_прод, x.калорийность, y.ном_прод, y.назв_прод

From Продукт as x Left Join Продукт as y ON

(x.калорийность = y.калорийность

And x.ном_прод <> y.ном_прод)

ORDER BY калорийность

ORDER BY назв.

6) ГД ().

Б – 2. 1) В; 3) SELECT код назв_ города FROM поставщик WHERE название LIKE ‘А%’ OR город LIKE ‘А%’.

Б – 3. 1) Г; 4)

Б – 4. 4)

;

6) Д.

Б – 6. 3) SELECT DISTINCT город FROM название.

Б – 7. 1) Г или В;

2) Заказчик (Код_Заказчика, Адрес)

Изделие (Код_Изделия, Назв_Изд, Назв_Заказч);

6) А ().

Б – 8. 1) В.

Б – 11. 1) Б; 6) Г.

Б – 12. 1) Г.

Б – 13. 1) Г (-); 2) Блюда (Код_Блюда, Состав…)

Состав (Код_Блюда, Код_Продукта, Кол_данного_пр_в_блюде)

Б – 15. 1) Г; 6) Д.

Б – 17. 4)

6) Д.

Б – 18. 1) Б; 3) INSERT INTO Товар

SELECT * FROM Нов_товар.;

4)

Б – 19. 2) Студ (Код_Студ, ФИО_Студ)

Предм (Код_Предм, Назв_Предм,)

Успев (Код_Студ, Код_Предм).

Б – 20. 1) Таблица; 3) DELETE FROM товар;

4)

6) А.

Б – 21. 1) Г; 3) DELETE FROM поставщик WHERE город = ‘Paris’;

6) Д.

Б – 22. 1) Г;

2) Студ (Код_Студ, ФИО_Студ)

Спец (Код_Спец, Назв_Спец);

3) DELETE FROM город WHERE город = ‘Paris’;

6) Д.

Б – 24. 4)

Б – 25. 1) В; 6) Г (-).

Б – 26. 1) А; 3) UPDATE товар SELECT голубой WHERE цвет.;

6) Г.

Б – 27. 1) Б.

Б – 28. 1) Г.

Б – 30. 1) FOXPRO; 3) INSERT;

4)

6) Б (-).

Б – 31. 1) В; 3) CREATE TABLE Поставщик.

6) Б Г ().

Б – 32. 1) В.

Б – 34. 1) А; 6) А..?

Б – 36. 1) А;

4)

6) Г.

Возможные варианты:

2) Проект (Код_Проекта, Назв_Проекта, Код_Руководителя, ФИО_Руководителя)

Решение: Проект (Код_Проекта, Назв_Проекта);

Руководитель ( Код_Руководителя, ФИО_Руководителя);

Исполнение (Код_Проекта, Код_Руководителя)

3) Поставщик (код_поставщика, город, статус)

Извлечь город, код, статус и статус, умноженный на 100 записать в столбец с именем «МСтатус».

Решение: SELECT Код_Поставщика, город, статус 100

AS МСтатус

FROM Поставщик.

3) Суммировать коды города и записать в столбец с именем «Количество кодов»

Решение:

SUM (Код_Города) AS КоличествоКодов FROM Поставщик.

Инструкция select

возвращает данные из базы данных в виде набора записей.

Синтаксис

SELECT [предикат] { * | таблица.* | [таблица.]поле_1 [AS псевдоним_1] [, [таблица.]поле_2 [AS псевдоним_2] [, ...]]}     FROM выражение [, ...] [IN внешняяБазаДанных]     [WHERE... ]     [GROUP BY... ]     [HAVING... ]     [ORDER BY... ]     [WITH OWNERACCESS OPTION]

Ниже перечислены аргументы инструкции SELECT:

ПредикатОдин из следующих предикатов отбора: ALL, DISTINCT, DISTINCTROW или TOP. Предикаты используются для ограничения числа возвращаемых записей. Если они отсутствуют, по умолчанию используется предикат ALL.

* - Указывает, что выбраны все поля заданной таблицы или таблиц/

таблицаИмя таблицы, из которой должны быть отобраны записи.

поле_1, поле_2Имена полей, из которых должны быть отобраны данные. Если включить несколько полей, они будут извлекаться в указанном порядке.

ВыражениеИмена одной или нескольких таблиц, которые содержат отбираемые данные.

внешняяБазаДанных Имя базы данных, которая содержит таблицы, указанные с помощью аргумента выражение, если они не находятся в текущей базе данных.

ALL – Если инструкция SQL не содержит ни одного предиката, то подразумевается предикат ALL. Ядро базы данных Microsoft Jet отбирает все записи, соответствующие условиям, заданным в инструкции SQL. Приведенные ниже инструкции SQL эквивалентны; они возвращают все записи из таблицы «Сотрудники»:

SELECT ALL * FROM Сотрудники ORDER BY КодСотрудника;

SELECT * FROM Сотрудники ORDER BY КодСотрудника;

DISTINCTИсключает записи, которые содержат повторяющиеся значения в выбранных полях. Чтобы запись была включена в результат выполнения запроса, значения в каждом поле, включенном в инструкцию SELECT, должны быть уникальными. Например, в таблице «Сотрудники» есть однофамильцы. Если две записи содержат значение «Иванов» в поле «Фамилия», то следующая инструкция SQL возвратит только одну из них:

SELECT DISTINCT Фамилия FROM Сотрудники;

Если опустить предикат DISTINCT, этот запрос возвратит обе записи для фамилии Иванов.

Если предложение SELECT содержит более одного поля, то для включения записи в результат выполнения запроса необходимо, чтобы совокупность значений во всех этих полях была уникальной.

Результат выполнения инструкции SQL, содержащей предикат DISTINCT, является необновляемым и не отражает последующие изменения, внесенные другими пользователями.

DISTINCTROW – Опускает данные, основанные на целиком повторяющихся записях, а не отдельных повторяющихся полях. Например, создан запрос, объединяющий таблицы «Клиенты» и «Заказы» по полю «КодКлиента». Таблица «Клиенты» не имеет повторяющихся значений в поле «КодКлиента», а таблица «Заказы» содержит, поскольку каждый клиент может сделать несколько заказов. Следующая инструкция SQL показывает, как можно использовать предикат DISTINCTROW для получения списка клиентов, разместивших хотя бы один заказ, без включения сведений о самих заказах:

SELECT DISTINCTROW Название FROM Клиенты INNER JOIN Заказы ON Клиенты.КодКлиента= Заказы.КодКлиента ORDER BY Название;

Если опустить предикат DISTINCTROW, в результат выполнения запроса будет включено несколько строк о каждом клиенте, сделавшем несколько заказов.

Предикат DISTINCTROW влияет на результат только в том случае, если в запрос включены не все поля из анализируемых таблиц. Предикат DISTINCTROW игнорируется, если запрос содержит только одну таблицу или все поля всех таблиц.

TOP n [PERCENT] – Возвращает определенное число записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Следующая инструкция SQL позволяет получить список 25 лучших студентов выпуска 1994 года:

SELECT TOP 25 Имя, Фамилия FROM Студенты WHERE ГодВыпуска = 1994 ORDER BY СреднийБалл DESC;

Если предложение ORDER BY будет опущено, запрос возвратит произвольный набор 25 записей из таблицы «Студенты», удовлетворяющих предложению WHERE.

Предикат TOP не осуществляет выбор между равными значениями. Если в предыдущем примере средние баллы двадцать пятого и двадцать шестого студента будут равны, то запрос возвратит 26 записей.

Кроме того, можно использовать зарезервированное слово PERCENT для возврата определенного процента записей, находящихся в начале или в конце диапазона, описанного с помощью предложения ORDER BY. Предположим, что вместо 25 лучших студентов следует отобрать студентов, попавших в последние 10 процентов:

SELECT TOP 10 PERCENT Имя, Фамилия FROM Студенты WHERE ГодВыпуска = 1994 ORDER BY СреднийБалл ASC;

Предикат ASC обеспечивает возврат последних значений. Значение, следующее после предиката TOP должно быть числовым значением типа Integer без знака.

Предикат TOP не влияет на возможность обновления запроса.

Таблица - Имя таблицы, из которой отбираются записи.

Соседние файлы в папке Шпоры по базам данных