Uploaded by Bermet Dzhumagulova

SQL- тест

advertisement
SQL: основы - тест 1
Сортировка строк полученного в результате выборки отчета:
(1) по умолчанию осуществляется в порядке убывания значений заданного столбца или
выражения
(2) определяется во фразе ORDER ON
(3) по умолчанию осуществляется в порядке возрастания значений заданного столбца
или выражения
(4) может осуществляться только по единственному столбцу или выражению
(5) осуществляется по первичному ключу, если не задан конкретный столбец (выражение)
Номер 2
Значение NULL:
Ответ:
(1) в выражениях неявно заменяется на значение "ноль" или пробел
(2) означает, что значение недоступно, не присвоено или неизвестно
(3) при использовании в арифметическом выражении приводит к тому, что выражение
принимает неопределенное значение
(4) при использовании в арифметическом выражении приводит к тому, что выражение
принимает значение "ноль"
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
NULL
4.3
10
12
Alex
28
4.2
5.0
NULL
Запрос имеет следующий вид:
SELECT Lang_scope + Math_scope AS sum
FROM Students
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
sum
4.3
9.2
(2)
sum
0
9.2
(3)
(No column name)
NULL
9.2
(4)
sum
NULL
9.2
Номер 4
Оператор SELECT -
Ответ:
(1) основной оператор языка SQL, предназначенный для организации запросов на
выборку данных
(2) может содержать операторы DML (язык манипулирования данными) в качестве
подзапросов
(3) может применяться в операторах DML (язык манипулирования данными) при
организации подзапросов
(4) является оператором DDL (язык определения данных)
Номер 5
Ключевое слово DISTINCT, следующее за ключевым словом SELECT:
Ответ:
(1) указывает компилятору SQL на необходимость обязательного применения индексов
участвующих в запросе столбцов
(2) вообще не может следовать за оператором SELECT
(3) используется для исключения из выборки строк-дубликатов
(4) предшествует названиям столбцов, по которым следует осуществить группировку
Номер 6
Оператор SELECT -
Ответ:
(1) основной оператор языка SQL, предназначенный для изменения данных, хранящихся в
базе данных
(2) может встречаться в запросе только один раз
(3) может применяться в операторах DML (язык манипулирования данными) при
организации подзапросов
(4) является оператором DСL (язык управления данными)
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name,
Head_stud_id, Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL),
Group_id (int)
Запрос предназначен для отображения имен и средних баллов по Математике всех
студентов. Столбец, указывающий на средний балл по заданной дисциплине (в
схеме он называется Math_scope), должен называться в итоговом отчете
"Math_average_scope". Итоговый отчет должен быть отсортирован в возрастающем
порядке по номерам групп, а внутри групп – по средним баллам по Математике
(тоже в порядке возрастания):
SELECT Student_name, Math_scope __________
FROM Students
ORDER BY ___________
Среди приведенных ниже кодов укажите варианты, которыми можно заменить знаки
подчеркивания для получения корректного запроса, решающего поставленную
задачу при условии, что столбец Math_scope не может принимать значение NULL:
Ответ:
(1) первый фрагмент: Math_average_scope, второй фрагмент: Group_id,
Math_average_scope
(2) первый фрагмент: AS “Math_average_scope”, второй фрагмент: Group_id DESC, Math_
scope DESC
(3) первый фрагмент: Math_average_scope, второй фрагмент: Group_id , Math_ scope
(4) первый фрагмент: AS Math_average_scope, второй фрагмент: Group_id ASC,
Math_scope ASC
(5) первый фрагмент: AS ‘Math_average_scope’, второй фрагмент: Math_ scope, Group_id
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name,
Head_stud_id, Math_scope (float), Group_id (int, FK)
Запрос SQL предназначен для выборки всех столбцов из таблицы Students:
SELECT ________________
FROM Students
Из приведенных ниже вариантов кода укажите те варианты, которыми можно
заменить знаки подчеркивания для получения корректного запроса, решающего
поставленную задачу.
Ответ:
(1) ALL
(2) Student_name, Student_id, Group_id, Head_stud_id AS head, Math_scope
(3) ALL ROWS
(4) *
Номер 3
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int NOT
NULL), Specialty_id (int FK), Head_stud_id
Запрос SQL предназначен для выборки всех номеров специальностей из таблицы
Groups, в итоговом отчете указанный столбец должен иметь название Specialty
number:
SELECT ________________
FROM Groups
Из приведенных ниже вариантов кода укажите те варианты, которыми можно
заменить знак подчеркивания для получения корректного запроса, решающего
поставленную задачу.
Ответ:
(1) ALL EXCEPT FOR Group_id, Grade_level, Head_stud_id
(2) Specialty_id AS Specialty number
(3) Specialty_id AS “Specialty number”
(4) Specialty_id AS ‘Specialty number’
(5) Specialty_id “Specialty number”
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1100 NULL
10
20.05.98
12
Alex
17
900 0.5
20
21.06.98
Запрос предназначен для отображения имен и суммарного дохода (оклад + премия)
всех сотрудников:
SELECT Worker_name, Salary + Salary*Commission_pct AS total income
FROM Worker
ORDER BY Salary + Salary*Commission_pct
В результате выполнения запроса сервер БД генерирует ошибку
Выберите из предложенных вариантов тот, который правильно объясняет
возникновение ошибки:
Ответ:
(1) в арифметических выражениях не допускается использование неопределенных значений,
в данном же примере значение поля Commission_pct принимает для одной из записей
значение NULL
(2) псевдоним, следующий за предлогом AS, может применяться только к столбцам, но не к
арифметическим выражениям, как в данном примере
(3) псевдоним, следующий за предлогом AS, должен быть заключен в двойные
кавычки или в апострофы
(4) во фразе ORDER BY не допускается использование арифметических выражений
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1100 0.5
10
20.05.98
12
Alex
17
900 NULL
20
21.06.98
Запрос имеет следующий вид:
SELECT Salary*Commission_pct AS commission
FROM Worker
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
commission
550
NULL
(2)
(No column name)
550
NULL
(3)
commission
550
0
(4)
commission
550
900
(5) сервер БД сгенерирует ошибку
Номер 6
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
NULL
12
Запрос SQL имеет вид:
SELECT Branch_id, Branch_title, Location_id
FROM Branch
ORDER BY Branch_id AND Branch_title DESC
Выберите корректный вариант отчета, получающегося в результате выполнения
приведенного выше запроса, при условии, что столбцы Branch_id и Branch_title
обладают одинаковым типом данных – VARCHAR.
Ответ:
(1)
Branch_id Branch_title Location_id
10
Accounting 11
20
NULL
12
(2)
Branch_id Branch_title Location_id
20
NULL
12
10
Accounting 11
(3)
Branch_id Branch_title Location_id
10
Accounting 11
(4) сервер БД сгенерирует ошибку
Номер 1
Отношение Groups состоит из следующих кортежей:
Group_id Grade_level Specialty_id Head_stud_id
ДИ1
1
120.010
10
ДИ2
2
120.010
17
ВИ1
1
131.015
123
ВИ2
2
131.015
15
Запрос имеет следующий вид:
SELECT Head_stud_id, Grade_level
FROM Groups
Order BY Grade_level DESC, Head_stud_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Head_stud_id Grade_level
10
1
123
1
15
2
17
2
(2)
Head_stud_id Grade_level
17
2
15
2
123
1
10
1
(3)
Head_stud_id Grade_level
15
17
10
123
2
2
1
1
(4) сервер БД сгенерирует ошибку
(5)
Grade_level Head_stud_id
2
17
2
15
1
123
1
10
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
5.0
4.3
10
12
Alex
28
4.2
5.0
10
Запрос SQL предназначен для выборки всех имен студентов и их успеваемости по
двум дисциплинам из таблицы Students и сортировки итогового отчета в порядке
возрастания номеров групп, а внутри групп – в порядке возрастания суммарных
баллов по двум дисциплинам:
SELECT Student_name, Math_scope, Lang_scope, Math_scope + Lang_scope AS “summ
scope”
FROM Students
ORDER BY Group_id, summ scope
При выполнении запроса сервер БД генерирует ошибку. Среди предложенных
вариантов укажите правильную причину ошибки:
(1) псевдоним, который используется во фразе ORDER BY, не заключен в двойные
кавычки
(2) в предложении ORDER BY может присутствовать название только одного столбца или
выражения
(3) выражение Math_scope + Lang_scope не заключено в скобки
(4) псевдоним "summ scope" должен отделяться от выражения пробелом, а не предлогом AS
(5) в предложении ORDER BY не допускается использование псевдонимов столбцов
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
Запрос SQL предназначен для подсчета общего среднего балла (по обеим
дисциплинам) для каждого студента, результат должен быть отсортирован в
порядке убывания общих средних баллов:
SELECT Student_name, ________________
FROM Groups
ORDER BY _____________________
Из приведенных ниже вариантов кода укажите те варианты, которыми можно
заменить знаки подчеркивания для получения корректного запроса, решающего
поставленную задачу, при условии, что столбцы Math_scope и Lang_scope не
могут принимать значение NULL.
Ответ:
(1) первый фрагмент: (Math_scope+ Lang_scope)/2 AS “общий средний балл” второй
фрагмент: “общий средний балл” DESC
(2) первый фрагмент: Math_scope+ Lang_scope/2 второй фрагмент: Math_scope +
Lang_scope/2 DESC
(3) первый фрагмент: Math_scope/2+ Lang_scope/2 второй фрагмент: Math_scope/2 +
Lang_scope/2 DESC
(4) первый фрагмент: Math_scope/2+ Lang_scope/2 второй фрагмент: (Math_scope/2 +
Lang_scope/2)
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float NOT NULL),
Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для отображения имен и суммарного дохода (оклад + премия)
всех сотрудников, результат должен быть отсортирован в порядке возрастания
общих доходов:
SELECT Worker_name, ________________
FROM Worker
ORDER BY _____________________
Из приведенных ниже вариантов кода укажите те варианты, которыми можно
заменить знаки подчеркивания для получения корректного запроса, решающего
поставленную задачу.
Ответ:
(1) первый фрагмент: (Salary+Salary*Commission_pct) AS total_income второй
фрагмент: total_income ASK
(2) первый фрагмент: (Salary+Salary)*Commission_pct AS total_income второй
фрагмент: (Salary+Salary)*Commission_pct
(3) первый фрагмент: Salary+Salary*Commission_pct AS “total_income” второй
фрагмент: Salary+Salary*Commission_pct
(4) первый фрагмент: Salary+Salary*Commission_pct AS total_income второй фрагмент:
Salary+Salary*Commission_pct DECS
Номер 5
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
30
Accounting 12
40
Research
11
Запрос имеет следующий вид:
SELECT Branch_title, Location_id
FROM Branch
ORDER BY Branch_title DESC, Location_id DESC
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Branch_title Location_id
Research
11
Research
12
Accounting 11
Accounting 12
(2)
Branch_title Location_id
Research
12
Research
11
Accounting 12
Accounting 11
(3)
Branch_title Location_id
Accounting 11
Accounting 12
Research
11
Research
12
(4) сервер БД сгенерирует ошибку
(5)
Branch_title Location_id
Accounting 12
Accounting 11
Research
12
Research
11
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float NOT NULL),
Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для получения отчета, который содержит информацию об
имени каждого сотрудника, его премиальных (Salary*Commission_pct) и доле
премиальных в его общем доходе (оклад + премия) в процентах
SELECT Worker_name, Salary*Commission_pct
FROM Worker
bonus, __________
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата при условии, что столбцы Salary и Commission_pct не
могут принимать значение NULL:
Ответ:
(1) Salary*Commission_pct*100/Salary+Salary*Commission_pct
(2) Salary*Commission_pct*100/(Salary+Salary*Commission_pct) AS commission
part
(3) bonus*100/(Salary+Salary*Commission_pct)
(4) bonus*100/Salary+Salary*Commission_pct
(5) Salary*Commission_pct*100/(Salary+Salary*Commission_pct)
Номер 1
Назначение транзакции -
Ответ:
(1) нормализация отношений БД
(2) сохранение целостности данных в БД
(3) создание резервной копии БД
(4) предотвращение несанкционированного доступа к данным
(5) оптимизация выполнения ресурсоемких операторов SQL
Номер 2
Транзакция завершается оператором
Ответ:
(1) CANCEL
(2) COMMIT
(3) END
(4) ROLLBACK
(5) SUBMIT
Номер 3
Оператор ROLLBACK
Ответ:
(1) начинает транзакцию
(2) завершает транзакцию
(3) отменяет изменения, внесенные транзакцией в БД
(4) отменяет последнюю выполненную над БД команду
(5) удаляет указанную таблицу из БД
Номер 4
Транзакция - это
Ответ:
(1) синоним любого SQL-оператора
(2) несколько SQL-операторов, выделенных в единый блок
(3) оператор языка DML (язык манипулирования данными)
(4) два оператора SQL, причем второй оператор использует результаты выполнения первого
оператора
(5) некоторые действия, производимые с данными, представляющими денежные суммы
Номер 5
Если какой-то оператор транзакции не выполнился, то
Ответ:
(1) оставшиеся операторы пропускаются (не выполняются), генерируется ошибка
(2) оставшиеся операторы пропускаются (не выполняются); БД возвращается в состояние,
предшествующее первому невыполненному оператору
(3) оставшиеся операторы пропускаются (не выполняются); БД возвращается в
состояние, предшествующее первому оператору транзакции
(4) выполняются оставшиеся операторы
(5) выполняются оставшиеся операторы, после чего повторяется попытка запуска
невыполненного оператора
Номер 6
Оператор COMMIT
Ответ:
(1) является оператором DML (язык манипулирования данными), предназначен для
изменения значений столбов таблицы
(2) начинает транзакцию
(3) завершает транзакцию
(4) создает копию БД в указанном каталоге
(5) подтверждает изменения, внесенные транзакцией в БД
Номер 1
Укажите, какие из перечисленных утверждений являются истинными:
Оператор IN:
Ответ:
(1) используется только для сравнения числовых значений
(2) используется для проверки попадания значения в заданный диапазон
(3) используется для проверки вхождения значения в заданный список
(4) может быть заменен комплексным условием с использованием операторов AND
Номер 2
Выберите из предложенного списка вариант с правильной расстановкой
приоритетов (очередности выполнения) различных групп операторов:
Ответ:
(1) Арифметические операторы Логические операторы (AND, OR) Операторы сравнения (<, >,
= …)
(2) Логические операторы (AND, OR) Операторы сравнения (<, >, = …) Арифметические
операторы
(3) Логические операторы (AND, OR) Арифметические операторы Операторы сравнения (<, >,
= …)
(4) Арифметические операторы Операторы сравнения (<, >, = …) Логические операторы
(AND, OR)
(5) все перечисленные утверждения неверны
Номер 3
Укажите, какие из перечисленных операторов являются корректными операторами
сравнения:
Ответ:
(1) = NULL
(2) IS NULL (проверка неопределенных значений)
(3) BETWEEN VALUES (в интервале)
(4) INSIDE (в списке)
(5) LIKE
Номер 4
Укажите, какие из перечисленных утверждений являются истинными:
Оператор LIKE:
Ответ:
(1) может использоваться для сравнения строк в условии WHERE
(2) имеет смысл "неточного совпадения", то есть возвращает значение "ИСТИНА" если
сравниваемые строки различаются не более, чем в одном символе
(3) используется для поиска строковых значений по шаблону с метасимволами "%" и
"_"
(4) может применяться для поиска цифр в текстовых строках
Номер 5
Укажите, какие из перечисленных операторов не являются допустимыми
операторами сравнения:
Ответ:
(1) >, < (больше, меньше)
(2) IN (в списке)
(3) BETWEEN AND (в интервале)
(4) NOT EQUALS (не равно)
(5) LIKE AS (поиск по шаблонам)
Номер 6
Выберите из представленного списка все операторы, которые не могут
применяться для сравнения строковых значений:
Ответ:
(1) >, < (больше, меньше)
(2) <>(не равно)
(3) BETWEEN AND (в интервале)
(4) LIKE
(5) Все перечисленные операторы МОГУТ использоваться для сравнения строк
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Lincoln
15
NULL
4.3
10
12
Li
28
4.2
5.0
10
13
Lik
28
4.5
4.3
20
Запрос имеет следующий вид:
SELECT Student_name
FROM Students
WHERE Student_name LIKE ‘Li_’
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Student_name
Lincoln
Lik
(2)
Student_name
Li
Lik
(3)
Student_name
Lincoln
Lik
Li
(4)
Student_name
Lik
(5) ни одна строка не будет отобрана
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name
(char), Head_stud_id, Math_scope (float, NOT NULL), Lang_scope (float, NOT
NULL), Group_id (int)
Запрос предназначен для отображения имен ВСЕХ студентов, суммарный средний
балл которых (Math_scope + Lang_scope) от 8.2 и выше (максимальный средний
балл по каждой из дисциплин – 5).
SELECT Student_name
FROM Students
WHERE ___________
Среди приведенных ниже кодов укажите варианты, которыми можно заменить знаки
подчеркивания для получения корректного запроса, решающего поставленную
задачу
Ответ:
(1) Math_scope + Lang_scope IN (8.2, 10)
(2) Math_scope + Lang_scope BETWEEN 8.2 AND 10
(3) (Math_scope >= 4.1 AND Lang_scope >= 4.1) OR (Math_scope >= 4.0 AND
Lang_scope >= 4.2)
(4) Math_scope + Lang_scope > 8.1
(5) Math_scope + Lang_scope >= 8.2
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
4.2
4.3
10
12
Alex
28
NULL
5.0
10
Запрос SQL предназначен для выборки всех имен студентов, у которых средний
балл по Математике (Math_scope) больше 4.5 или не определен:
SELECT Student_name
FROM Students
WHERE (Math_scope>4.5 OR Math_scope IS NULL) OR Student_name IS NOT NULL
В результате запроса отбираются обе строки, хотя согласно условию должна быть
отобрана лишь вторая строка (Student_id=12). Объясните причины получения
некорректного результата:
Ответ:
(1) вместо оператора IS (NOT) NULL следовало использовать оператор NOT EQUALS
(EQUALS)
(2) вместо оператора IS (NOT) NULL следовало использовать оператор (!=) или (=)
(3) вместо оператора IS (NOT) NULL следовало использовать оператор (<>) или (=)
(4) некорректное использование логических операторов (OR, AND)
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1100 NULL
10
20.05.98
12
Sam
15
800 0.2
13
Alex
17
900 0.5
20
21.06.98
14
Jack
17
1500 0.5
Запрос имеет следующий вид:
SELECT Worker_name
FROM Worker
WHERE (Salary+Salary*Commission_pct)>1350 AND Manager_id=17 OR
Salary BETWEEN 900 AND 1500 AND Manager_id IN (15, 17)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Worker_name
Tоm
Alex
Jack
(2)
Worker_name
Alex
Tоm
(3)
Worker_name
Alex
Jack
(4) ни одна из строк не будет отобрана
Номер 5
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
30
Accounting 12
40
Banking
11
Запрос предназначен для отображения всех номеров отделов, названия которых
начинаются с символа "А"
SELECT Branch_id
FROM Branch
WHERE _____________________
Из приведенных ниже вариантов кода укажите те варианты, которыми можно
заменить знак подчеркивания для получения корректного запроса, решающего
поставленную задачу.
Ответ:
(1) Branch_title
(2) Branch_title
(3) Branch_title
(4) Branch_title
(5) Branch_title
= ‘A%’
BETWEEN ‘A’ AND ‘B’ AND Branch_title <’B’
LIKE ‘A%’
LIKE ‘A?%’
>= ‘A%’ AND < ‘B’
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос, предназначенный для генерации отчета, содержащего информацию о
сотрудниках, которые были приняты на работу в 1998 и 1997 гг. и имеющих общий
доход (оклад + премия), не превышающий 1500, имеет вид:
SELECT Worker_name
FROM Worker
WHERE Salary+Salary*Commission_pct<=1500 AND Hire_date <’01.01.99’
AND>=’01.01.97’
При выполнении запроса сервер БД генерирует ошибку. Среди предложенных
вариантов укажите правильную причину ошибки при условии, что форматом даты по
умолчанию для заданных региональных настроек БД является формат: "dd.mm.yy",
а столбец Hire_date обладает типом данных timestamp:
Ответ:
(1) в первой операции сравнения вместо оператора <= следовало использовать оператор <
(2) для сравнения значений типа timestamp не могут применяться операции сравнения: <,
>=
(3) в условии WHERE происходит сравнение данных типа timestamp (Hire_date) со
строковыми константами, и при этом не выполняется явного преобразования типов данных,
что недопустимо
(4) в последнем условии фразы WHERE пропущен левый операнд
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name,
Head_stud_id, Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL),
Group_id (int)
Запрос предназначен для получения отчета, содержащего информацию о студентах,
для которых помимо имени известна и фамилия (фамилия отделяется от имени
символом "_" в столбце Student_name, например Poll_Zillah).
SELECT Student_name, Math_scope, Lang_scope
FROM Students
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Student_name
(2) Student_name
(3) Student_name
(4) Student_name
(5) Student_name
LIKE
LIKE
LIKE
LIKE
LIKE
“%!_%” ESCAPE ‘!’
“%[_]%”
‘%[_]’
‘%?_%’ ESCAPE ‘?’
‘%!_%’ ESCAPE ‘!’
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name
(char), Head_stud_id, Math_scope (float), Lang_scope (float), Group_id (int)
Запрос предназначен для получения отчета, содержащего информацию о всех
студентах, имена которых начинаются с символов "А", "В" и "С".
SELECT Student_name
FROM Students
Where __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Student_name LIKE ‘A%’ AND Student_name LIKE ‘B%’ AND Student_name LIKE
‘C%’
(2) Student_name
(3) Student_name
(4) Student_name
(5) Student_name
>= 'A' AND Student_name <= 'C'
< 'D' AND Student_name >= 'A'
LIKE "A%" OR Student_name LIKE "B%" OR Student_name LIKE "C%"
LIKE 'C%' OR Student_name LIKE 'A%' OR Student_name LIKE 'B%'
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Mis_days Group_id
11
Tom
15
4.5
8%
10
12
Alex
28
4.2
13
10
…
…
…
…
…
…
Запрос предназначен для получения отчета, содержащего информацию о студентах,
количество пропусков занятий которых указано в процентах от общего числа
занятий (значение в столбце Mis_days заканчивается знаком %). Столбец
Mis_days имеет тип VARCHAR.
SELECT Student_name, Mis_days
FROM Students
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Mis_days
(2) Mis_days
(3) Mis_days
(4) Mis_days
(5) Mis_days
LIKE
LIKE
LIKE
LIKE
LIKE
‘%ESCAPE%’
‘ %”%” ’
‘%!%’ ESCAPE ‘!’
“%?%” ESCAPE "?"
‘%?%’ ESCAPE '?'
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1100 34%
10
20.05.98
12
Alex
17
900 0.2
20
21.06.98
…
…
…
…
…
…
…
Запрос предназначен для получения отчета, содержащего информацию о
сотрудниках, размер премии которых указан в процентах от оклада (значение в
столбце Commission_pct заканчивается знаком %). Столбец Commission_pct имеет
тип VARCHAR.
SELECT Worker_name, Salary, Commission_pct
FROM Worker
WHERE__________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Commission_pct
(2) Commission_pct
(3) Commission_pct
(4) Commission_pct
(5) Commission_pct
LIKE
LIKE
LIKE
LIKE
LIKE
AS ‘%!%’ ESCAPE ‘!’
‘%!%’ ESCAPE ‘!’
‘%?%’ ESCAPE ‘?’
‘ %”%” ’
‘%ESCAPE%’
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для получения отчета, содержащего информацию обо всех
сотрудниках, имена которых начинаются с символов "А", "В" и "С".
SELECT Worker_name
FROM Worker
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Worker_name
(2) Worker_name
(3) Worker_name
(4) Worker_name
(5) Worker_name
LIKE AS ‘[A-C] %’
LIKE ‘[ABC]’
< 'C' OR Worker_name LIKE 'C%'
LIKE 'C%' OR Worker_name LIKE 'A%' OR Worker_name LIKE 'B%'
LIKE ‘[ABC] %’
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom_Jayson 15
1100 0.4
10
20.05.98
12
Alex_Tayler 17
900 0.2
20
21.06.98
…
…
…
…
…
…
…
Запрос предназначен для получения отчета, содержащего информацию о
сотрудниках, для которых помимо имени известна и фамилия (фамилия отделяется
от имени символом "_" в столбце Worker_name).
SELECT Worker_name, Salary, Commission_pct
FROM Worker
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Worker_name
(2) Worker_name
(3) Worker_name
(4) Worker_name
(5) Worker_name
LIKE
LIKE
LIKE
LIKE
LIKE
‘%!_%’ ESCAPE ‘!’
“%!_%” ESCAPE ‘!’
‘%?_’ ESCAPE ‘?’
‘%?_%’ ESCAPE '?'
‘%[_]’
Номер 1
Выберите из предложенного списка варианты с правильной расстановкой
приоритетов (очередности выполнения) различных групп операторов:
Ответ:
(1) Арифметические операторы Операторы сравнения (<, >, = …) Оператор конкатенации
(2) Логические операторы (AND, OR) Оператор конкатенации Арифметические операторы
(3) Логические операторы (AND, OR) Арифметические операторы Операторы сравнения (<, >,
= …)
(4) Арифметические операторы Оператор конкатенации Логические операторы (AND,
OR)
(5) ничего из перечисленного
Номер 2
Оператор ESCAPE:
Ответ:
(1) может использоваться в сочетании с оператором LIKE
(2) применяется для исключения из диапазона, задаваемого оператором BETWEEN… AND,
конкретных значений
(3) применяется для исключения из списка, задаваемого оператором IN, конкретных
значений
(4) не существует
(5) может применяться для поиска метасимволов: "_" и "%".
Номер 3
Положим условия: у1, у2, у3 являются истинными, а условия x1, x2, x3 –
ложными.
Какие из перечисленных комплексных условий во фразе WHERE будут истинными:
Ответ:
(1) y1 and
(2) y2 and
(3) у1 and
(4) у1 and
(x1 or y2)
x2 or x1 or x3
x1 or у2 and x2 or у3 and x3
(x1 or у2) and (x2 or у3) or x3
Номер 4
Выберите из представленного списка все операторы, которые не могут
применяться для сравнения числовых значений:
Ответ:
(1) IN
(2) <>
(3) BETWEEN AND
(4) =<
Номер 5
Положим условия: у1, у2, у3 являются истинными, а условия x1, x2, x3 –
ложными.
Какие из перечисленных комплексных условий во фразе WHERE будут истинными:
Ответ:
(1) x1 or x2 and y2 or y1
(2) (y3 and (y1 and(x3 or not y2))) or (x3 and (y1 or y3))
(3) у1 and not x1 or у2 and x2 or not у3 and x3
(4) (x1 and y1 or y2) or (x2 and (y1 or y3))
Номер 6
Выберите из предложенного списка варианты с правильной расстановкой
приоритетов (очередности выполнения) различных групп операторов:
Ответ:
(1) Логические операторы (AND, OR) Операторы сравнения (<, >, = …) Оператор
конкатенации
(2) Оператор конкатенации Операторы сравнения (<, >, = …) Логические операторы
(AND, OR)
(3) Арифметические операторы Операторы сравнения (<, >, = …) Оператор конкатенации
(4) Оператор конкатенации Логические операторы (AND, OR) Операторы сравнения (<, >, =
…)
(5) ничего из перечисленного
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope
(float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
Запрос предназначен для получения отчета, содержащего имена
студентов группы №10, обладающих общим средним баллом по обеим дисциплинам,
превышающим 9.0, и имена студентов группы № 20, обладающих средним баллом
по дисциплине Математика (Math_scope), превышающим 4.3.
SELECT Student_name, Math_scope, Lang_scope
FROM Students
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Math_scope + Lang_scope > 9.0 AND Group_id=10 OR Math_scope> 4.3 AND
Group_id=20
(2) Math_scope + Lang_scope > 9.0 AND Group_id=10 AND Math_scope > 4.3 AND Group_id=20
(3) (Math_scope + Lang_scope > 9.0 AND Group_id=10) AND (Math_scope > 4.3 AND
Group_id=20)
(4) (Math_scope + Lang_scope > 9.0 AND Group_id=10) OR (Math_scope > 4.3 AND
Group_id=20)
Номер 2
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int NOT
NULL), Specialty_id (int FK), Head_stud_id
Запрос предназначен для нахождения всех учебных групп (Group_id) студентов 4
и 5 курсов (Grade_level), обучающихся по специальности 123, а также учебных
групп студентов 1 и 2 курсов, обучающихся по специальности 11.
SELECT Group_id
FROM Students
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) (Grade_level IN (4, 5) AND Specialty_id=123) AND (Grade_level IN (1, 2) AND
Specialty_id=11)
(2) Grade_level IN (4, 5) AND Specialty_id=123 AND Grade_level IN (1, 2) AND Specialty_id=11
(3) (Grade_level IN (4, 5) AND Specialty_id=123) OR (Grade_level IN (1, 2) AND
Specialty_id=11)
(4) Grade_level IN (4, 5) AND Specialty_id=123 OR Grade_level IN (1, 2) AND
Specialty_id=11
Номер 3
Отношение Specialties состоит из следующих кортежей:
Specialty_id Specialty_title Specialty_rating
11.01.15
Accounting 9.8
12.03.14
Engineering 6.2
…
…
…
Запрос предназначен для получения наименований техничеких специальностей (т.е
специальностей, значения в столбце Specialty_id которых начинаются с цифр
11), рейтинг которых превышает 8 и экономических специальностей (первые цифры
в столбце Specialty_id - 12) с рейтингом менее 7.
SELECT Specialty_name
FROM Specialties
WHERE___________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата при условии, что столбцы Specialty_id и
Specialty_rating не могут принимать значение NULL и значения в столбце
Specialty_id имеют фиксированную ширину – 8 символов:
Ответ:
(1) Specialty_id LIKE ‘11%’ AND Specialty_rating > 8 OR Specialty_id LIKE ‘12%’ AND
Specialty_rating < 7
(2) (Specialty_id LIKE ‘11%’ AND Specialty_rating > 8) AND (Specialty_id LIKE ‘12%’ AND
Specialty_rating) < 7
(3) Specialty_id LIKE ‘11%’ OR Specialty_rating > 8 AND Specialty_id LIKE ‘12%’ OR
Specialty_rating < 7
(4) (Specialty_id LIKE ‘11_ _ _ _ _ _’ AND Specialty_rating > 8) OR (Specialty_id LIKE ‘12_ _ _
_ _ _’ AND Specialty_rating < 7)
Номер 4
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title (varchar (30)), Location_id (int)
Запрос предназначен для нахождения всех отделов компании (Branch_title)
которые в своем названии содержат слово "Account" или "Sales", и значение в
столбце Location_id которых равно 11, а также отделов, в названии которых
содержится слово "Research".
SELECT Branch_title
FROM Branch
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата при условии, что столбцы Branch_title и Location_id не
могут принимать значение NULL:
Ответ:
(1) (Branch_title IN (‘%Account%’, ‘%Sales%’) AND Location_id=11) OR (Branch_title LIKE
‘%Research%’)
(2) (Branch_title LIKE ‘%Account%’ OR Branch_title LIKE ‘%Sales%’ AND Location_id=11) OR
(Branch_title LIKE ‘%Research%’)
(3) ((Branch_title LIKE ‘%Account%’ OR Branch_title LIKE ‘%Sales%’) AND Location_id=11)
OR (Branch_title LIKE ‘%Research%)’
(4) (Branch_title LIKE ‘%Account%’ OR Branch_title LIKE ‘%Sales%’) AND Location_id=11
OR Branch_title LIKE ‘%Research%’
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float NOT NULL),
Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для поиска сотрудников 10 отдела, общий доход которых
(Salary + Salary*Commission_pct) превышает 1500, и сотрудников 20 отдела с
общим доходом, меньшим 1000
SELECT Worker_name
FROM Worker
WHERE___________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) Branch_id = 10 AND Commission_pct*Salary + Salary > 1500 OR Branch_id = 20 AND
Commission_pct*Salary+ Salary < 1000
(2) Branch_id = 10 AND Commission_pct*Salary + Salary > 1500 AND Branch_id = 20 AND
Commission_pct*Salary + Salary < 1000
(3) (Branch_id = 10 AND Commission_pct*Salary + Salary > 1500) OR (Branch_id = 20 AND
Commission_pct*Salary + Salary < 1000)
(4) (Branch_id = 10 AND Commission_pct*Salary + Salary > 1500) AND (Branch_id = 20 AND
Commission_pct*Salary + Salary < 1000)
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для нахождения всех сотрудников 10 и 20 отделов с
зарплатой, превышающей 1000, и сотрудников 30 отдела с зарплатой, превышающей
800.
SELECT Worker_name
FROM Worker
WHERE __________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата при условии, что столбцы Branch_id и Salary не могут
принимать значение NULL:
Ответ:
(1) (Branch_id IN (10, 20) AND Salary >1000) AND (Branch_id = 30 AND Salary
>800)
(2) (Branch_id =10 OR Branch_id=20 AND Salary >1000) OR (Branch_id = 30 AND
Salary >800)
(3) (Branch_id IN (10, 20) AND Salary >1000) OR (Branch_id = 30 AND Salary
>800)
(4) (Branch_id =10 OR Branch_id=20) AND Salary >1000 OR Branch_id = 30 AND
Salary >800
Упражнение 10:
Номер 1
Какие из перечисленных функций не являются функциями работы со строками:
Ответ:
(1) LOWER
(2) AVG
(3) LEFT
(4) LTRIM
(5) CAST
Номер 2
Какие из перечисленных функций могут использоваться для явного преобразования
типов данных:
Ответ:
(1) NVL
(2) ISNULL
(3) CAST
(4) AVG
(5) RTRIM
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
4.7
1000 10
12
Li
28
4.2
1000 20
Запрос имеет следующий вид:
SELECT Student_name, CASE
WHEN Math_scope > 4.5 Salary*1.2
WHEN Math_scope BETWEEN 4 AND 4.5
Salary*1.1
END AS new sal
FROM Students
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Student_name New sal
Lincoln
1100
Li
1200
(2) сервер БД сгенерирует ошибку
(3)
Student_name New sal
Lincoln
1000
Li
1000
(4)
Student_name New sal
Lincoln
NULL
Li
NULL
Номер 4
Функция POSITION
Ответ:
(1) делает текущей заданную строку в заданной таблице
(2) возвращает номер позиции первого символа заданной подстроки в заданной
строке
(3) заполняет указанным символом заданную позицию в строке
(4) возвращает номер текущей строки в заданной таблице
(5) возвращает разность между местным и всемирным временем (часовой пояс)
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1000 0.8
10
20.05.98
12
Alex
17
900 NULL
20
21.06.98
Запрос имеет следующий вид:
SELECT Worker_name, CASE
WHEN Salary < 1000 THEN Salary*1.2
WHEN Salary >=1000 THEN Salary*1.1
AS new_sale
FROM Worker
При попытке выполнения запроса сервер БД генерирует ошибку, среди
предложенных вариантов выберите действие, выполнение которого позволит
устранить ошибку:
Ответ:
(1) вместо ключевого слова WHEN использовать ключевое слово IF
(2) удалить слово THEN во фразах WHEN
(3) добавить ключевое слово END после псевдонима new_sale
(4) добавить ключевое слово END перед предлогом AS
(5) удалить из запроса псевдоним, то есть фразу AS new_sale
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для отображения имен сотрудников и их окладов (Salary),
увеличенных на 10%, если сотрудник работает в 10 отделе и на 20% во всех
остальных случаях. (Изменение окладов должно быть отражено только в отчете,
но не в самой БД)
SELECT Worker_name, _____________________
FROM Worker
Выберите из предложенных вариантов тот, которые при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) IF (Branch_id=10) THEN Salary*1.1 ELSE Salary*1.2 AS new Salary
(2) IF (Branch_id=10) THEN Salary*1.1 ELSE Salary*1.2 END AS new Salary
(3) CASE Branch_id WHEN 10 Salary*1.1 ELSE Salary*1.2 END AS new_sal
(4) CASE Branch_id WHEN 10 THEN Salary*1.1 ELSE Salary*1.2 END AS new_sal
(5) CASE Branch_id WHEN 10 THEN Salary*1.1 ELSE Salary*1.2 AS new_sal END
Номер 1
Запрос имеет следующий вид:
SELECT substring (‘TEST’, 2, 3)
Среди представленных вариантов выберите корректный вариант итогового отчета:
Ответ:
(1)
(No column name)
TES
(2)
(No column name)
(3)
(No column name)
T
(4)
(No column name)
EST
(5) сервер сгенерирует ошибку
Номер 2
Функция CURRENT_TIMESTAMP
Ответ:
(1) позволяет установить заданное время в качестве системного
(2) возвращает текущее время
(3) возвращает время начала работы текущего пользователя с текущей базой данных
(4) позволяет установить заданную дату в качестве системной
(5) возвращает текущую дату
Номер 3
Запрос SQL имеет вид:
SELECT REPLACE (LOWER (‘Alex’), ‘a’, ‘B’)
Среди представленных вариантов выберите корректный вариант итогового отчета:
Ответ:
(1)
(No column name)
BLEX
(2)
(No column name)
blex
(3)
(No column name)
alex
(4) сервер сгенерирует ошибку
(5)
(No column name)
Blex
Номер 4
Функция UPPER
Ответ:
(1) переводит заданную строку в верхний регистр
(2) возвращает заданное число, округленное вверх до ближайшего целого
(3) возвращает год, следующий за текущей датой
(4) генерирует следующее натуральное число заданной последовательности
(5) задает верхнюю границу цикла
Номер 5
Получить подстроку, начинающуюся с заданной позиции в заданной строке, можно
с помощью функции
Ответ:
(1) IN
(2) POSITION
(3) SUBSTRING
(4) EXTRACT
(5) CONCAT
Номер 6
Для удаления пробелов из строки используется функция
Ответ:
(1) SUBSTRING
(2) EXTRACT
(3) NULLIF
(4) TRIM
(5) DELBL
Номер 1
Для удаления записей из таблицы базы данных предназначен оператор
Ответ:
(1) ALTER TABLE
(2) DEALLOCATE
(3) DELETE
(4) DROP
(5) ROLLBACK
Номер 2
Оператор UPDATE
Ответ:
(1) завершает транзакцию записью всех произведенных ею изменений
(2) изменяет структуру таблицы
(3) изменяет значение столбцов таблицы
(4) может содержать вложенный подзапрос на выборку данных
(5) может быть вложен в качестве подзапроса в другой запрос
Номер 3
Оператор INSERT
Ответ:
(1) добавляет новую таблицу в БД
(2) добавляет новую запись в таблицу БД
(3) вставляет новое значение в существующую ячейку таблицы
(4) может содержать вложенный подзапрос на выборку данных
(5) может быть вложен в качестве подзапроса в другой запрос
Номер 4
Для добавления новых записей в таблицу базы данных предназначен оператор
Ответ:
(1) ADD
(2) ALTER TABLE
(3) COMMIT
(4) INSERT
(5) SET
Номер 5
Оператор DELETE
Ответ:
(1) удаляет запись из таблицы БД
(2) удаляет таблицу из БД
(3) удаляет значение из некоторого столбца таблицы
(4) может содержать вложенный подзапрос на выборку данных
(5) может быть вложен в качестве подзапроса в другой запрос
Номер 6
Для изменения значений столбцов таблицы служит оператор
Ответ:
(1) ALTER TABLE
(2) COMMIT
(3) SET
(4) UPDATE
(5) UPGRADE
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name(varchar), Head_stud_id,
Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
При выполнении следующего запроса сервер БД генерирует ошибку.
INSERT TO Students (Student_name, Student_id, Group_id)
VALUES ('Alex', 19, NULL)
Укажите причину ошибки.
Ответ:
(1) вместо слова TO следует использовать слово INTO
(2) значения вставляются не во все столбцы таблицы Students
(3) порядок перечисления столбцов не соответствует порядку столбцов в таблице Students
(4) в списке значений нельзя использовать значение NULL
(5) список значений не соответствует по типам данных списку столбцов
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name(varchar), Head_stud_id,
Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
При выполнении следующего запроса сервер БД генерирует ошибку.
DELETE Student_name, Student_id
FROM Students
WHERE Math_scope IS NULL
Укажите причину ошибки.
Ответ:
(1) в операторе DELETE не могут указываться отдельные столбцы, удаляется всегда
строка целиком
(2) порядок перечисления столбцов после слова DELETE не соответствует порядку столбцов
таблицы Students
(3) следует добавить Math_scope в список столбцов после слова DELETE
(4) слово IS следует заменить на знак "="
(5) столбец Math_scope не может принимать значение NULL
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name(varchar), Head_stud_id,
Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
При выполнении следующего запроса сервер БД генерирует ошибку.
UPDATE Students
SET Math_scope TO NULL
WHERE Math_scope < 3.2 AND Math_scope > 2.1
Укажите причину ошибки.
Ответ:
(1) после слова UPDATE должен следовать перечень изменяемых столбцов
(2) отсутствует фраза FROM
(3) вместо TO следует использовать знак "="
(4) вместо TO следует использовать IS
(5) AND следует заменить на OR
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float NOT NULL),
Branch_id (int, FK), Hire_date (timestamp)
При выполнении следующего запроса сервер БД генерирует ошибку.
INSERT INTO Worker (Manager_id, Worker_name, Hire_date)
VALUES ('Tom', 17, NULL)
Укажите причину ошибки.
Ответ:
(1) вместо слова INTO следует использовать слово IN
(2) значения вставляются не во все столбцы таблицы Worker
(3) порядок перечисления столбцов не соответствует порядку столбцов в таблице Worker
(4) в списке значений нельзя использовать значение NULL
(5) список значений не соответствует по типам данных списку столбцов
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float NOT NULL),
Branch_id (int, FK), Hire_date (timestamp)
При выполнении следующего запроса сервер БД генерирует ошибку.
DELETE Worker_name, Worker_id
FROM Worker
WHERE Salary IS NULL
Укажите причину ошибки.
Ответ:
(1) в операторе DELETE не могут указываться отдельные столбцы, удаляется всегда
строка целиком
(2) порядок перечисления столбцов после слова DELETE не соответствует порядку столбцов
таблицы Worker
(3) следует добавить Salary в список столбцов после слова DELETE
(4) слово IS следует заменить на знак "="
(5) столбец Salary не может принимать значение NULL
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id (int
NOT NULL), Salary (float NOT NULL), Commission_pct (float NOT NULL),
Branch_id (int, FK), Hire_date (timestamp)
При выполнении следующего запроса сервер БД генерирует ошибку.
UPDATE Worker
SET Branch_id = 11 WHERE Branch_id = 10,
SET Manager_id = 17 WHERE Manager_id IS NULL
Укажите причину ошибки.
Ответ:
(1) отсутствует фраза FROM
(2) невозможно присутствие двух секций SET
(3) невозможно обновить более одного столбца
(4) Manager_id не может принимать значение NULL
(5) вместо слова IS следует использовать знак "="
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name(varchar), Head_stud_id,
Math_scope (float), Lang_scope (float), Group_id (int)
Отношение Head имеет аналогичную структуру.
Требуется добавить в таблицу Head номер, имя и группу студентов с оценкой по
математике более 4.4
Выберите варианты запроса, решающего данную задачу.
Ответ:
(1) INSERT INTO Head SELECT Student_id, Student_name, Group_id FROM Students WHERE
Math_scope > 4.4
(2) INSERT INTO Head VALUES (SELECT Student_id, Student_name, Group_id FROM Students
WHERE Math_scope > 4.4)
(3) INSERT INTO Head VALUES (SELECT Student_id, Student_name, NULL, NULL, NULL,
Group_id FROM Students WHERE Math_scope > 4.4)
(4) INSERT INTO Head(Student_id, Student_name, Head_stud_id, Math_scope, Lang_scope,
Group_id) SELECT Student_id, Student_name, NULL, NULL, NULL, Branch_id FROM
Students WHERE Math_scope > 4.4
(5) INSERT INTO Head(Group_id, Student_name, Student_id) SELECT Group_id,
Student_name, Student_id FROM Students WHERE Math_scope > 4.4
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name(varchar), Head_stud_id,
Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
Требуется удалить записи о студентах, являющимися старостами (Head_stud_id номер студента-старосты).
Выберите варианты запроса, решающего данную задачу.
Ответ:
(1) DELETE FROM Students WHERE Head_stud_id IS NOT NULL
(2) DELETE FROM Students WHERE Head_stud_id <> NULL
(3) DELETE FROM Students WHERE Head_stud_id NOT IS NULL
(4) DELETE FROM Students WHERE Head_stud_id IN (SELECT Head_stud_id FROM
Students)
(5) DELETE FROM Students WHERE EXISTS (SELECT s.Head_stud_id FROM Students s
WHERE Students.Student_id = s.Head_stud_id)
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name(varchar), Head_stud_id,
Math_scope (float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int)
Требуется увеличить на 1.0 балл по иностранному языку и перевести в группу 13
студентов из группы 5.
Выберите варианты запроса, решающего поставленную задачу.
Ответ:
(1) UPDATE Students SET Lang_scope = Lang_scope + 1.0, Group_id = 13 WHERE Group_id
=5
(2) UPDATE Students SET Lang_scope = CASE WHEN Branch_id=5 THEN
Lang_scope=Lang_scope+1.0 ELSE Lang_scope END, SET Group_id = CASE WHEN Branch_id=5
THEN Branch_id=13 ELSE Group_id END
(3) UPDATE Students SET Lang_scope = CASE WHEN Branch_id=5 THEN Lang_scope+1.0
ELSE Lang_scope, Group_id = CASE WHEN Branch_id=5 THEN 13 ELSE Group_id
(4) UPDATE Students SET Lang_scope = CASE WHEN Branch_id=5 THEN Lang_scope+1.0
ELSE Lang_scope END, Group_id = CASE WHEN Branch_id=5 THEN 13 ELSE Group_id
END
(5) UPDATE Students SET Lang_scope = CASE WHEN Branch_id=5 THEN Lang_scope+1.0
ELSE Lang_scope END, Group_id = CASE 5 THEN 13 ELSE Group_id END
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Отношение Manager имеет аналогичную схему.
Требуется добавить в таблицу Manager данные о номере, фамилии, зарплате и
номере отдела сотрудников с зарплатой более 1000. Выберите варианты запроса,
решающие поставленную задачу.
Ответ:
(1) INSERT INTO Manager SELECT Worker_id, Worker_name, Salary, Branch_id FROM Worker
WHERE Salary > 1000
(2) INSERT INTO Manager SELECT Worker_id, Worker_name, NULL, NULL, Salary, NULL,
Branch_id, NULL FROM Worker WHERE Salary > 1000
(3) INSERT INTO Manager VALUES (SELECT Worker_id, Worker_name, NULL, NULL, Salary,
NULL, Branch_id, NULL FROM Worker WHERE Salary > 1000)
(4) INSERT INTO Manager(Worker_id, Worker_name, Salary, Branch_id) SELECT Worker_id,
Worker_name, Salary, Branch_id FROM Worker WHERE Salary > 1000
(5) INSERT INTO Manager(Worker_id, Worker_name, Position, Manager_id, Salary,
Commission_pct, Branch_id, Hire_date) SELECT Worker_id, Worker_name, NULL, NULL,
Salary, NULL, Branch_id, NULL FROM Worker WHERE Salary > 1000
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(id), Salary (float NOT NULL), Commission_pct (float NOT NULL), Branch_id
(int, FK), Hire_date (timestamp)
Требуется удалить записи о сотрудниках, являющихся менеджерами.
Выберите варианты запроса, решающего поставленную задачу.
Ответ:
(1) DELETE * FROM worker WHERE id = (SELECT Manager_id FROM Worher)
(2) DELETE FROM worker WHERE id = (SELECT Manager_id FROM Worher)
(3) DELETE FROM worker WHERE id IN (SELECT Manager_id FROM Worher)
(4) DELETE FROM Worker WHERE EXISTS (SELECT w.Manager_id FROM Worker w WHERE
Worker.Worker_id = w.Manager_id)
(5) DELETE FROM Worker WHERE EXISTS (SELECT w.Worker_id FROM Worker w WHERE
w.Worker_id = Worker.Manager_id)
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(int), Salary (float NOT NULL), Commission_pct (float NOT NULL), Branch_id
(int, FK), Hire_date (timestamp)
Требуется увеличить на 500 зарплату и назначить менеджером сотрудника с
номером 13 для работающих в отделе 10.
Выберите варианты запроса, решающего данную задачу.
Ответ:
(1) UPDATE Worker SET Salary = 500 SET Manager_id = 13 Where Branch_id = 10
(2) UPDATE Worker SET Salary = 500, Manager_id = 13 Where Branch_id = 10
(3) UPDATE Worker SET Salary = Salary + 500, Manager_id = 13 Where Branch_id = 10
(4) UPDATE Worker SET Salary = 500 + Salary AND Manager_id = 13 Where Branch_id = 10
(5) Update Worker SET Salary = CASE WHEN Branch_id=10 THEN Salary+500 ELSE Salary
END, Manager_id = CASE WHEN Branch_id=10 THEN 13 ELSE Manager_id END
Номер 1
При выполнении следующего запроса сервер БД генерирует ошибку.
CREATE TABLE t
(INTEGER f1,
CHARACTER(15) f2,
CONSTRAINT c1 PRIMARY KEY(f1, f2))
Укажите причину ошибки.
Ответ:
(1) ограничение первичного ключа не может содержать более одного столбца
(2) вместо фразы CONSTRAINT следует в определении каждого из
столбцов f1 и f2 написать PRIMARY KEY
(3) столбец с типом данных CHARACTER не может быть первичным ключом
(4) сначала должно указываться имя столбца и лишь затем - его тип данных
(5) слово CONSTRAINT написано с ошибкой
Номер 2
При выполнении следующего запроса сервер БД генерирует ошибку.
CREATE TABLE t
(f1 INTEGER,
f2 CHARACTER(15) NOT NULL, UNIQUE,
CONSTRAINT c1 PRIMARY KEY(f1))
Укажите причину ошибки.
Ответ:
(1) любые ограничения должны записываться в отдельной строке CONSTRAINT
(2) столбец не может иметь более одного ограничения
(3) вместо двух ограничений NOT NULL и UNIQUE для столбца f2 следует записать одно
- PRIMARY KEY
(4) в таблице не может быть более одного столбца, обладающего свойствами первичного
ключа - NOT NULL и UNIQUE
(5) не нужна запятая при перечислении ограничений одного столбца
Номер 3
При выполнении следующего запроса сервер БД генерирует ошибку.
CREATE VIEW AS v
SELECT t1.f1, t2.f2
FROM t1, t2
Укажите причину ошибки.
Ответ:
(1) имя представления v и слово AS следует поменять местами
(2) подзапрос SELECT следует заключить в круглые скобки
(3) во фразе SELECT перед точкой должно указываться имя столбца, а после точки - имя
таблицы
(4) представление не может содержать данные из нескольких таблиц
(5) таблицы t1 и t2 в подзапросе на связаны между собой с помощью JOIN или WHERE
Номер 4
Оператор CREATE TABLE
Ответ:
(1) создает новую таблицу
(2) создает новую таблицу на основе некоторой другой существующей таблицы с ее
последующим удалением
(3) создает представление - виртуальную таблицу
(4) определяет имя и столбцы новой таблицы
(5) позволяет изменить имя и столбцы существующей таблицы
Номер 5
Определение столбца в операторе CREATE TABLE
Ответ:
(1) содержит только имя столбца
(2) содержит только имя и ограничение столбца
(3) содержит тип данных и имя столбца в таком же порядке
(4) содержит имя и тип столбца в таком же порядке
(5) обязательно содержит тип, имя и ограничение столбца
Номер 6
В операторе CREATE TABLE
Ответ:
(1) определения столбцов пишутся каждое на отдельной строке, никакими другими
символами-разделителями не отделяются
(2) определения столбцов разделяются запятыми
(3) элементы определения одного столбца пишутся каждое на отдельной строке, никакими
другими символами-разделителями не отделяются
(4) элементы определения одного столбца разделяются пробелом
(5) элементы определения одного столбца разделяются запятыми
Номер 1
Что может выступать в качестве ограничения столбца при создании таблицы?
Ответ:
(1) IN
(2) UNIQUE
(3) SECONDARY KEY
(4) NOT EMPTY
(5) REFERENCES
Номер 2
Ограничение PRIMARY KEY
Ответ:
(1) делает указанный столбец первичным ключом отношения
(2) задает столбец, в котором будет храниться порядковый номер строки таблицы
(3) может использоваться в определении таблицы более одного раза
(4) может использоваться только для столбцов с названием, содержащим подстроку "id"
(5) автоматически содержит в себе ограничение NOT NULL
Номер 3
Ограничение DEFAULT
Ответ:
(1) устанавливает для столбца значение по умолчанию
(2) автоматически содержит в себе ограничение NOT NULL
(3) не может затрагивать комбинацию из нескольких столбцов
(4) не может использоваться в паре ни с каким другим ограничением
(5) в списке ограничений столбца должно быть последним
Номер 4
DDL (язык определения данных) содержит операторы:
Ответ:
(1) CREATE VIEW
(2) DELETE TABLE
(3) UPDATE TABLE
(4) CREATE TABLE
(5) ALTER VIEW
Номер 5
Ограничение FOREIGN KEY
Ответ:
(1) автоматически содержит в себе ограничение NOT NULL
(2) может ссылаться на любой столбец другой таблицы
(3) может ссылаться на столбец этой же таблицы
(4) может ссылаться более чем на один столбец
(5) обязательно содержит слово REFERENCES
Номер 6
Фраза ON DELETE CASCADE
Ответ:
(1) может использоваться в определении первичного ключа
(2) означает, что при удалении значения первичного ключа будут удалены строки,
содержащие данное значение во внешнем ключе
(3) означает, что при удалении значения внешнего ключа будут удалены строки, содержащие
данное значение в первичном ключе
(4) может дополняться фразой ON INSERT CASCADE
(5) альтернативна фразе ON DELETE SET NULL
Номер 1
Удалить таблицу из базы данных можно
Ответ:
(1) оператором DELETE TABLE
(2) оператором DROP TABLE
(3) только если она пуста
(4) только если она не имеет внешних ключей, ссылающихся на другие существующие
таблицы
(5) только если она была создана как временная, то есть с опцией TEMPORARY
Номер 2
Оператор изменения структуры таблицы
Ответ:
(1) -это оператор UPDATE
(2) позволяет добавить новый столбец в таблицу
(3) позволяет добавить новую строку в таблицу
(4) может содержать фразу DROP COLUMN
(5) может привести к потере данных
Номер 3
Представление (VIEW)
Ответ:
(1) хранит данные, отобранные соответствующим подзапросом SELECT
(2) создается оператором CREATE TEMPORARY TABLE
(3) предназначено для хранения текста запроса на выборку данных
(4) может быть использовано в секции FROM запроса на выборку данных
(5) может представлять данные из нескольких таблиц
Номер 4
Для значения "221b" подойдет тип данных
Ответ:
(1) CHAR
(2) FLOAT
(3) INTEGER
(4) TIMESTAMP
(5) VARCHAR
Номер 5
Для значения "0,01" подойдет тип данных
Ответ:
(1) BOOLEAN
(2) FLOAT
(3) INTEGER
(4) NUMERIC
(5) SMALLINT
Номер 6
Для значения "1 сентября 2000г 8:00" подойдет тип данных
Ответ:
(1) DATE
(2) FLOAT
(3) INTEGER
(4) TIME
(5) TIMESTAMP
Номер 1
Функция AVG:
Ответ:
(1) используется для подсчета в итоговом отношении (каждой группе строк итогового
отношения) числа значений выбранного столбца, отличных от NULL
(2) используется для вычисления дисперсии значений выбранного столбца во всей выборке
или в каждой группе строк итогового отношения
(3) используется для вычисления математического ожидания значений выбранного столбца
во всей выборке или в каждой группе строк итогового отношения
(4) используется для вычисления среднего арифметического значений выбранного
столбца во всей выборке или в каждой группе строк итогового отношения
(5) возвращает значение NULL, если переданное в качестве аргумента выражение или
столбец, принимает для одной из строк, обрабатываемых этой функцией, неопределенное
значение
Номер 2
Функция COUNT:
Ответ:
(1) используется для подсчета в итоговом отношении (или каждой группе строк
итогового отчета) числа значений выбранного столбца, отличных от NULL
(2) используется для вычисления среднеквадратического отклонения значений выбранного
столбца во всей выборке или в каждой группе строк итогового отношения
(3) используется для вычисления среднего арифметического значений выбранного столбца
во всей выборке или в каждой группе строк итогового отношения
(4) используется для вычисления математического ожидания значений выбранного столбца
во всей выборке или в каждой группе строк итогового отношения
(5) не обрабатывает строки, для которых выражение или столбец, переданные в
функцию в качестве аргумента, принимают неопределенные значения
Номер 3
Групповые функции:
Ответ:
(1) возвращают отдельные значения для каждой обрабатываемой строки
(2) возвращают одно значение для каждой группы строк или всех строк,
обрабатываемых по запросу
(3) не обрабатывают строки, для которых выражение или столбец, переданные в
функцию в качестве аргумента, принимают неопределенные значения
(4) возвращают значение NULL, если переданное в качестве аргумента выражение или
столбец, принимает для одной из строк, обрабатываемых функцией, неопределенное
значение
Номер 4
Какие из перечисленных функций не являются групповыми:
Ответ:
(1) SQRT
(2) AVG
(3) COUNT
(4) MIN
(5) SIN
Номер 5
Какие из перечисленных функций являются групповыми:
Ответ:
(1) SQRT
(2) SUM
(3) COUNT
(4) MAX
(5) COS
Номер 6
Групповые функции:
Ответ:
(1) могут использоваться только во фразе SELECT
(2) не могут использоваться в условии WHERE (если не идет речь о подзапросе)
(3) при вычислении не учитывают неопределенные значения
(4) возвращают значение NULL, если в качестве аргумента встречается неопределенное
значение
(5) могут использоваться во фразе ORDER BY
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float), Lang_scope (float), Group_id (int).
Запрос предназначен для подсчета числа студентов в 10 группе, не имеющих
оценки (среднего балла) по Математике (столбец Math_scope равен NULL)
SELECT _______________
FROM Students
_____________________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) первый фрагмент: AVG (Student_name) – AVG (Math_scope) второй фрагмент: WHERE
Group_id=10
(2) первый фрагмент: COUNT (Student_id) – COUNT (Math_scope) второй фрагмент: GROUP
Group_id=10
(3) первый фрагмент: COUNT (Student_id) – COUNT (Math_scope) второй фрагмент:
WHERE Group_id=10
(4) первый фрагмент: COUNT (Student_id) второй фрагмент: WHERE Group_id=10 AND
Math_scope IS NULL
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Exam_date Group_id
11
Lincoln
15
NULL
NULL
10
12
Li
28
4.2
12.09.2003 10
Запрос имеет следующий вид:
SELECT AVG (MAX (Math_scope*1, 1)) AS result
FROM Students
ORDER BY result
При попытке выполнить запрос сервер генерирует ошибку. Укажите правильную
причину ошибки:
Ответ:
(1) групповая функция MAX не может принимать выражение в качестве аргумента
(2) во фразе ORDER BY не допускается использование псевдонимов
(3) при использовании вложенных групповых функций запрос всегда должен включать
фразу GROUP BY
(4) групповая функция MAX не может быть вложенной в групповую функцию AVG
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float NOT NULL), Lang_scope (float), Group_id (int)
Запрос предназначен для получения среднего балла по Математике (Math_scope)
среди всех учащихся
Выберите из предложенных вариантов тот, который обеспечивает получение
требуемого результата.
Ответ:
(1) SELECT AVG(Math_scope) FROM Students
(2) SELECT (MAX(Math_scope) - MIN(Math_scope)) / 2 FROM Students
(3) SELECT SUM(Math_scope)/COUNT FROM Students
(4) SELECT AVG(Math_scope) FROM Students GROUP BY Student_id
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для определения разницы максимального и минимального
окладов среди сотрудников 10-го отдела
SELECT _______________
FROM Worker
_____________________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение поставленной задачи
Ответ:
(1) первый фрагмент: LAST (Salary) – FIRST (Salary) второй фрагмент: WHERE Branch_id=10
ORDER BY Salary
(2) первый фрагмент: DEV (Salary) второй фрагмент: WHERE Branch_id=10
(3) первый фрагмент: MAX (Salary) – MIN (Salary) второй фрагмент: WHERE
Branch_id=10
(4) первый фрагмент: DIFF (Maximum(Salary), Minimum (Salary)) второй фрагмент: WHERE
Branch_id=10
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос имеет следующий вид:
SELECT MAX (AVG
(Salary*Commission_pct)) AS+ result
FROM Worker
ORDER BY result
При попытке выполнить запрос сервер генерирует ошибку. Укажите правильную
причину ошибки:
Ответ:
(1) групповая функция AVG не может принимать выражение в качестве параметра
(2) во фразе ORDER BY не допускается использование псевдонимов
(3) групповая функция AVG не может быть вложенной в групповую функцию MAX
(4) при использовании вложенных групповых функций запрос всегда должен включать
фразу GROUP BY
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для получения максимального дохода (оклад + премия) среди
всех сотрудников. Премия рассчитывается как произведение значений в столбцах
Salary и Commission_pct.
Выберите из предложенных вариантов те, которые обеспечивают получение
требуемого результата.
Ответ:
(1) SELECT MAX(Salary + Salary*Commission_pct) FROM Worker GROUP BY Worker_id
(2) SELECT MAX(Salary + Salary*Commission_pct) FROM Worker
(3) SELECT MAX(Salary) + MAX(Salary*Commission_pct) FROM Worker
(4) SELECT MAX(Salary + Salary*Commission_pct) FROM Worker GROUP BY Worker_id =
Worker_id
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
1100 10
12
Li
28
4.2
NULL 20
13
Alan
24
4.7
1300 20
Запрос имеет следующий вид:
SELECT AVG (Salary) AS report
FROM Students
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
NULL
(2) сервер БД сгенерирует ошибку
(3)
report
800
(4)
report
1200
(5)
report
0
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
1100 10
12
Li
28
NULL
NULL 20
13
Alan
24
4.7
1300 20
Запрос имеет следующий вид:
SELECT MIN (Math_scope) AS report
FROM Students
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
2.3
(2) сервер БД сгенерирует ошибку
(3)
report
0
(4)
report
NULL
(5)
report
no rows selected
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
1100 10
12
NULL
28
NULL
NULL 20
13
Alberta
24
4.7
1100 20
Запрос имеет следующий вид:
SELECT COUNT(DISTINCT Salary) AS report
FROM Students
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
2
(2) сервер БД сгенерирует ошибку
(3)
report
0
(4)
report
NULL
(5)
report
1
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
17
1000 0.5
10
20.05.98
12
Alex
17
900 NULL
20
21.06.98
13
James
19
900 NULL
10
NULL
Запрос имеет следующий вид:
SELECT COUNT (DISTINCT (Manager_id)) report
FROM Worker
Выберите среди предложенных вариантов верный вариант итогового отчета, при
условии, что столбец Manager_id имеет тип данных int:
Ответ:
(1)
report
NULL
(2) сервер БД сгенерирует ошибку
(3)
report
2
(4)
report
3
(5)
report
1
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1000$ 0.8
10
20.05.98
12
Alex
17
900$ NULL
20
21.06.98
13
Jack
15
1500$ 0.2
20
NULL
Запрос имеет следующий вид:
SELECT COUNT (Branch_id) AS report
FROM Worker
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
NULL
(2) сервер БД сгенерирует ошибку
(3)
report
0
(4)
report
2
(5)
report
3
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1000$ 0.8
10
20.05.98
12
Alex
17
900$ NULL
20
21.06.98
13
Jack
15
1500$ 0.4
20
NULL
Запрос имеет следующий вид:
SELECT AVG(Commission_pct) AS report
FROM Worker
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
0.6
(2) сервер БД сгенерирует ошибку
(3)
report
0.4
(4)
report
NULL
(5)
report
0
Номер 1
Фраза HAVING:
Ответ:
(1) не может включать такие операторы сравнения, как: BETWEEN ... AND, LIKE, IN
(2) может включать только столбцы и выражения, которые присутствуют во
фразе GROUP BY или передаются в качестве аргументов в групповые функции этой же
фразы (не принимая во внимания подзапросы)
(3) не допускает использования подзапросов
(4) используется для исключения групп из итоговой выборки
Номер 2
Фраза GROUP BY:
Ответ:
(1) предшествует фразе WHERE
(2) используется для разбиения исходного отношения на группы
(3) является обязательной, если в запросе используются групповые функции
(4) является обязательной, если во фразе SELECT помимо групповой функции
присутствует название какого-либо столбца или выражение
Номер 3
Выберите среди предложенных ниже вариантов те, которые отражают корректный
порядок следования различных фраз в запросе на выборку данных
Ответ:
(1) WHERE HAVING GROUP BY
(2) WHERE GROUP BY HAVING
(3) WHERE GROUP BY ORDER BY
(4) GROUP BY WHERE ORDER BY
Номер 4
Выберите среди предложенных ниже вариантов те, которые отражают корректный
порядок следования различных фраз в запросе на выборку данных
Ответ:
(1) WHERE GROUP BY ORDER BY
(2) HAVING GROUP BY
(3) ORDER BY GROUP BY HAVING
(4) GROUP BY HAVING ORDER BY
Номер 5
Фраза GROUP BY:
Ответ:
(1) не может включать групповые функции
(2) содержит синтаксическую ошибку
(3) не допускает использования псевдонимов столбцов
(4) предшествует фразе ORDER BY
(5) может предшествовать фразе WHERE
Номер 6
Какие из перечисленных вариантов кода являются допустимыми
Ответ:
(1) WHERE AVG (column_name) > 10
(2) SELECT column1, column2, MIN (column3) FROM table1 GROUP BY column2
(3) SELECT expr1, MIN (column1) FROM table1 GROUP BY expr1 HAVING expr1 < 15
(4) SELECT column1, MIN (column2) FROM table1 WHERE column2 LIKE ‘Smith’ GROUP BY
column1
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float, NOT NULL), Lang_scope (float), Salary (float, NOT NULL) Group_id
(int).
Запрос предназначен для отображения информации о средней стипендии (Salary) в
учебной группе №10 среди студентов, средний балл по Математике (Math_scope)
которых превышает 4.5:
SELECT Group_id, AVG (Salary)
FROM Students
GROUP BY Group_id
HAVING Group_id=10 AND Math_scope >4.5
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки.
Ответ:
(1) неправильная позиция фразы HAVING в предложении SELECT
(2) условие Group_id=10 следует записать во фразе WHERE
(3) во фразе HAVING не может быть составных условий
(4) неверный синтаксис групповой функции вычисления среднеарифметического
(5) во фразе HAVING не может присутствовать столбец (выражение), которого нет во
фразе GROUP BY, или который не передан в качестве аргумента в групповую функцию
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Lincoln
15
3.4
5.0
10
12
NULL
28
4.2
4.3
10
Запрос SQL имеет вид:
SELECT Student_name, Group_id, AVG(Math_scope)
FROM Students
WHERE Group_id in (10, 20)
GROUP BY Group_id
При попытке выполнить запрос, сервер БД генерирует ошибку. Укажите правильную
причину ошибки:
Ответ:
(1) если в запросе используются групповые функции, то фраза WHERE является
недопустимой, вместо нее следует использовать фразу HAVING
(2) фраза WHERE должна следовать после фразы GROUP_BY
(3) функции AVG не существует
(4) во фразе SELECT не может быть столбцов, которых нет во фразе GROUP BY (не
принимая во внимания те столбцы, которые передаются в качестве аргументов в
групповые функции)
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float, NOT NULL), Lang_scope (float), Group_id (int)
Запрос предназначен для получения среднего балла по Математике у студентов 10
группы. Расчет должен учитывать всех студентов заданной учебной группы.
SELECT _______________
FROM Students
_______________________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата, при условии, что столбец Math_scope имеет тип данных
float.
Ответ:
(1) первый фрагмент: AVG (Math_scope) второй фрагмент: HAVING Group_id = 10 GROUP BY
Group_id
(2) первый фрагмент: SUM (Math_scope) второй фрагмент: WHERE Group_id = 10 GROUP BY
Group_id
(3) первый фрагмент: AVG (Math_scope) второй фрагмент: WHERE Group_id = 10
(4) первый фрагмент: SUM (Math_scope) второй фрагмент: GROUP BY Group_id HAVING
Group_id = 10
(5) первый фрагмент: AVG (Math_scope) второй фрагмент: GROUP BY Group_id HAVING
Group_id = 10
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для отображения информации о среднем окладе (Salary) в
отделе №10 среди сотрудников, которые подчиняются менеджеру с номером 17:
SELECT Branch_id, AVG (ALL Salary)
FROM Worker
GROUP BY Branch_id
HAVING Branch_id =10 AND Manager_id = 17
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки при условии, что столбец
Salary имеет тип данных float.
Ответ:
(1) в групповой функции AVG используется недопустимый модификатор ALL
(2) во фразе HAVING не может быть составных условий
(3) во фразе HAVING присутствует столбец, по которому не осуществляется
группировка и который не передается в качестве аргумента в групповую функцию
(4) неправильное размещение фразы HAVING
Номер 5
Отношение Worker имеет следующую схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос SQL имеет вид:
SELECT Branch_id, AVG (ALL Commission_pct*Salary + Salary)
FROM Worker
WHERE AVG (ALL Commission_pct*Salary + Salary) < 500
GROUP BY Branch_id
При попытке выполнить запрос, сервер БД генерирует ошибку. Укажите правильную
причину ошибки:
Ответ:
(1) в функции AVG используется недопустимый модификатор ALL
(2) функции AVG не существует
(3) запрос, включающий групповые функции, не может включать фразу WHERE
(4) во фразе WHERE не могут использоваться групповые функции (если не принимать во
внимание подзапросы)
(5) фраза WHERE должна следовать после фразы GROUP_BY
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для получения общего дохода (Salary +
Salary*Commission_pct) сотрудников по отделам 10 и 20 (Branch_id). Расчет
должен учитывать всех сотрудников указанных отделов.:
SELECT _______________
FROM Worker
_______________________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата, при условии, что столбцы Salary и Commission_pct имеют
тип данных float.
Ответ:
(1) первый фрагмент: COUNT (Salary*Commission_pct+Salary) второй фрагмент: WHERE
Branch_id IN (10,20) GROUP BY Branch_id
(2) первый фрагмент: SUM (Salary*Commission_pct+Salary) второй фрагмент: WHERE
Branch_id = 10 OR Branch_id=20 GROUP BY Branch_id
(3) первый фрагмент: SUM (Salary*Commission_pct+Salary) второй фрагмент: HAVING
Branch_id IN (10,20) GROUP BY Branch_id
(4) первый фрагмент: SUM (Salary*Commission_pct+Salary) второй фрагмент: GROUP BY
Branch_id HAVING Branch_id IN (10,20)
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
4.9
1100 10
12
Li
28
4.2
NULL 20
13
Alan
24
4.7
1300 20
Запрос имеет следующий вид:
SELECT MAX(Math_scope) report
FROM Students
WHERE Math_scope > 4.5
GROUP BY Group_id
HAVING Group_id=20
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
4.7
(2)
report
4.9
(3) сервер БД сгенерирует ошибку
(4)
report
4.7
4.9
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
4.9
1100 10
12
Li
28
4.2
1200 20
13
Alan
24
4.7
1300 20
14
Tom
24
4.6
1600 20
Запрос имеет следующий вид
SELECT MAX(Salary) report
FROM Students
GROUP BY Group_id, Head_stud_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
1100
1200
1600
(2) сервер БД сгенерирует ошибку
(3)
report
1100
1600
(4)
report
NULL
(5)
report
1100
1200
1300
1600
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float), Lang_scope (float), Group_id (int)
Запрос имеет следующий вид:
SELECT Group_id, AVG (Math_scope)
FROM Students
WHERE AVG(Math_scope) > 14.5
GROUP BY Group_id
При попытке выполнить запрос сервер БД генерирует ошибку. Укажите правильную
причину возникновения ошибки:
Ответ:
(1) в качестве аргумента групповой функции не может передаваться выражение (столбец),
принимающее для некоторых строк исходного отношения значение NULL
(2) во фразе WHERE не могут использоваться групповые функции (если не принимать во
внимание подзапросы)
(3) Во фразе SELECT не допускается использование столбцов и выражений, если там
присутствуют групповые функции
(4) вместо GROUP BY следовало использовать ключевое слово GROUP
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
17
1000 0.5
20
20.05.98
12
Alex
17
900 NULL
20
21.06.98
13
James
NULL
900 NULL
10
NULL
Запрос имеет следующий вид:
SELECT MIN(Salary) report
FROM Worker
WHERE Commission_pct >= 1
GROUP BY Branch_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1) строки не выбраны
(2)
report
1000
(3) сервер БД сгенерирует ошибку
(4)
report
1000
9000
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1600 0.8
10
20.05.98
12
Alex
17
900 NULL
10
21.06.98
13
Peter
17
1800 0.6
20
NULL
14
Abel
17
1800 0.9
20
NULL
Запрос имеет следующий вид
SELECT COUNT (Commission_pct) report
FROM Worker
GROUP BY Branch_id, Salary
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
1
1
2
(2)
report
1
0
2
(3) сервер БД сгенерирует ошибку
(4)
report
NULL
(5)
report
1
1
1
1
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос имеет следующий вид:
SELECT Branch_id, Manager_id, AVG(Salary + Salary*Commission_pct)
FROM Worker
GROUP BY Branch_id, Position
При попытке выполнить запрос сервер БД генерирует ошибку. Укажите правильную
причину возникновения ошибки.
Ответ:
(1) во фразе SELECT присутствует выражение, которого нет во фразе GROUP BY
(2) во фразу SELECT следует добавить столбец Position
(3) аргументом групповой функции не может быть арифметическое выражение
(4) группировка не может производиться сразу по двум столбцам
(5) вместо словосочетания GROUP BY следует использовать ключевое слово GROUP
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (char), Head_stud_id, Math_scope
(float), Lang_scope (float), Group_id (int)
Запрос предназначен для подсчета числа студентов в каждой учебной группе,
которые оценены по всем дисциплинам (В столбцах Math_scope и Lang_scope
присутствуют некоторые значения).
SELECT Group_id, COUNT(Student_id)
FROM Students
___________
___________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) первый фрагмент: HAVING Lang_scope IS NOT NULL AND Math_scope второй фрагмент:
GROUP BY Group_id
(2) первый фрагмент: WHERE Lang_scope IS NOT NULL AND Math_scope IS NOT NULL
второй фрагмент: GROUP BY Group_id
(3) первый фрагмент: GROUP BY Group_id второй фрагмент: HAVING Lang_scope IS NOT
NULL AND Math_scope IS NOT NULL
(4) первый фрагмент: WHERE Lang_scope IS NOT NULL AND Math_scope IS NOT NULL
второй фрагмент: GROUP Group_id
Номер 2
Отношение Specialties состоит из следующих кортежей:
Specialty_id Specialty_title Specialty_rating
11.01.15
Accounting 9.8
12.03.14
Engineering 6.2
…
…
…
Запрос предназначен для определения среднего рейтинга в каждой группе
специальностей (математической, экономической, юридической и т.д.). Каждая
группа специальностей характеризуется двумя первыми цифрами в столбце
Specialty_id.
SELECT ___________
FROM Specialties
GROUP BY ____________
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) первый фрагмент: AVERAGE(Specialty_rating) второй фрагмент: substring(Specialty_id,1,2)
(2) первый фрагмент: LEFT (Specialty_id, 2), AVG (Specialty_rating) второй фрагмент:
LEFT (Specialty_id, 2)
(3) первый фрагмент: Specialty_id, AVG(Specialty_rating) второй фрагмент: Specialty_id
(4) первый фрагмент: Specialty_id, AVT(Specialty_rating) второй фрагмент: LEFT (Specialty_id,
2)
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
3
15.0 10
12
Glint
28
4.5
NULL 10
13
Foltrig
28
4.5
NULL 10
Запрос имеет следующий вид:
SELECT AVG(DISTINCT Math_scope) AS report
FROM Students
GROUP BY Group_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
4
(2) сервер БД сгенерирует ошибку
(3)
report
3.75
(4)
report
4.5
(5)
report
3
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position (varchar), Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для получения распределения по должностям в отделах 10 и
30 (сколько сотрудников занимает каждую должность). Упорядочивание строк и
столбцов значения не имеет.
SELECT Branch_id, Position, COUNT(Worker_id)
FROM Worker
___________
___________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) первый фрагмент: WHERE Branch_id=10 OR Branch_id=30 второй фрагмент: GROUP
BY Branch_id, Position
(2) первый фрагмент: GROUP BY Branch_id, Position второй фрагмент: HAVING
Branch_id IN (10,30)
(3) первый фрагмент: WHERE Branch_id=10 OR Branch_id=30 второй фрагмент: GROUP BY
Branch_id
(4) первый фрагмент: WHERE Branch_id=10 OR Branch_id=30 второй фрагмент: GROUP
BY Position, Branch_id
Номер 5
Отношение Worker имеет схему
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для определения суммы премий (Salary*Commission_pct)по
отделам. Итоговый отчет должен быть отсортирован в порядке убывания премий.
SELECT ___________
FROM Worker
___________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) первый фрагмент: COUNT(Salary*Commission_pct) второй фрагмент: GROUP Branch_id
ORDER BY COUNT(Salary*Commission_pct) DESC
(2) первый фрагмент: SUM(Salary*Commission_pct) второй фрагмент: GROUP BY Branch_id
ORDER BY SUM(Salary*Commission_pct)
(3) первый фрагмент: SUM (Salary*Commission_pct) variance второй фрагмент: GROUP
BY Branch_id ORDER BY variance DESC
(4) первый фрагмент: SUM (Salary*Commission_pct) variance второй фрагмент: GROUP
BY Branch_id ORDER BY SUM(Salary*Commission_pct) DESC
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom_Jayson 15
500 0.4
10
20.05.98
12
Alex_Tayler 17
1100 NULL
20
21.06.98
13
Alex_Garnet 17
1100 NULL
10
21.06.98
Запрос имеет следующий вид:
SELECT AVG (ALL Salary) AS report
FROM Worker
GROUP BY Branch_id
HAVING COUNT(Worker_id) = 2
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
report
800
(2) сервер БД сгенерирует ошибку
(3)
report
900
(4)
report
1100
Номер 1
Какие из перечисленных операций реляционной алгебры могут лежать в основе
соединения строк из нескольких таблиц
Ответ:
(1) эквисоединение
(2) проекция
(3) декартово произведение
(4) внешнее соединение
Номер 2
Внешнее соединение:
Ответ:
(1) это соединение строк из нескольких отношений, при котором используется отличная от
равенства операция сравнения
(2) возвращает все строки хотя бы одной таблицы, участвующей в соединении
(3) может быть только левым или правым
(4) обеспечивается применением операторов: LEFT (RIGHT, FULL) OUTER JOIN
Номер 3
Эквисоединение:
Ответ:
(1) это соединение строк из нескольких отношений, обладающих одинаковой структурой
(схемой)
(2) соединение строк из нескольких таблиц, основанное на совпадении всех пар значений в
одноименных столбцах исходных отношений
(3) соединение строк из нескольких таблиц, основанное на совпадении значений в
заданных столбцах исходных отношений
(4) может выполняться только на основе ключевых полей исходных отношений
(5) соединяет и добавляет в выборку строки, которые в соответствующих полях (по которым
ведется соединение) исходных таблиц содержат значение NULL
Номер 4
Не-эквисоединение:
Ответ:
(1) может применяться ТОЛЬКО в том случае, если в связываемых отношениях отсутствуют
пары одинаковых по наименованиям и типам столбцов
(2) есть выборка строк (на основе заданных условий) из декартового произведения
исходных отношений
(3) это объединение нескольких отношений, обладающих разной структурой (схемой)
(4) может выполняться только на основе ключевых полей исходных отношений
(5) соединение строк из нескольких таблиц, основанное на сравнении значений в
заданных столбцах исходных отношений, где в качестве операции сравнения не
используется "="
Номер 5
Декартово произведение:
Ответ:
(1) это операция реляционной алгебры, которая лежит в основе любого соединения
(2) это операция, обеспечивающая соединение строк из исходных отношений на основе
совпадения значений в одноименных столбцах
(3) получается, если в запросе на выборку данных в секции FROM перечисляется
несколько таблиц и при этом отсутствует условие WHERE
(4) обеспечивается применением оператора CROSS JOIN
Номер 6
Какие из перечисленных операций реляционной алгебры могут лежать в основе
соединения строк из нескольких таблиц
Ответ:
(1) не-эквисоединение
(2) декартово произведение
(3) внешнее соединение
(4) проекция
(5) объединение
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope,
Group_id (int, FK)
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id, Head_stud_id
Запрос, предназначенный для отображения всех студентов второго курса
(Groups.Grade_level), имеет вид:
SELECT Students.Student_name
FROM Students s, Groups g
WHERE s.Group_id = g.Group_id AND g.Grade_level =2
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки:
Ответ: (1) таблицы не могут обладать псевдонимами
(2) некорректное условие соединения строк из таблиц Students и Groups
(3) во фразе SELECT некорректный префикс в названии столбца Student_name, вместо
полного названия таблицы следовало использовать псевдоним
(4) во фразе WHERE некорректный синтаксис в префиксах названий столбцов, вместо
псевдонимов таблиц следовало использовать полные названия таблиц
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope,
Group_id (int, FK)
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id, Head_stud_id
Запрос, предназначенный для отображения всех студентов с указанием их года
обучения, имеет вид:
SELECT Students.Student_name, Grade_level
FROM Students JOIN Groups
USING Students.Group_id = Groups.Group_id
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки:
Ответ:
(1) во фразе SELECT пропущен префикс в названии столбца Grade_level
(2) оператор JOIN не может использоваться для организации эквисоединений
(3) при организации эквисоединений оператор JOIN должен использоваться вместо
оператора FROM
(4) вместо ключевого слова USING следует использовать ключевое слово ON
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Tel_nom (bigint), Math_scope,
Group_id (int, FK)
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id, Head_stud_id,
Tel_nom (varchar)
Запрос SQL имеет вид:
SELECT Student_name, Students.Tel_nom
FROM Students JOIN Groups
ON Students.Tel_nom = Groups.Tel_nom
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки:
Ответ:
(1) оператор JOIN не может использоваться для организации эквисоединений
(2) неверный синтаксис оператора JOIN (ключевого слова ON не существует)
(3) во фразе SELECT пропущен префикс в названии столбца Student_name
(4) столбцы Tel_nom в отношениях Students и Groups обладают разными типами,
неявное преобразование которых оказалось невозможным
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title, Location_id
Запрос SQL имеет вид:
SELECT Worker.Worker_name, Branch_title
FROM Worker w JOIN Branch b
ON Worker.Branch_id = Branch.Branch_id
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки:
Ответ:
(1) во фразе SELECT пропущен префикс в названии столбца Branch_title
(2) во фразе SELECT и во фразе ON вместо полных названий таблиц в префиксах
названий столбцов следовало использовать псевдонимы таблиц, заданные во
фразах FROM и JOIN
(3) вместо ключевого слова ON следовало использовать ключевое слово USING
(4) во фразе JOIN не допускается использование псевдонимов
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position,
Manager_id (varchar), Salary (float NOT NULL), Commission_pct (float),
Branch_id (int, FK), Hire_date (timestamp)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title (varchar), Location_id (int)
Отношение Location имеет схему:
Location: Location_id (int, PK), Country_name (varchar), City_name (varchar),
Street (varchar), Building (int)
Запрос SQL имеет вид:
SELECT w.Worker_name, Branch_title, City_name
FROM Worker w JOIN Branch b
USING w.Branch_id = b.Branch_id
JOIN Location l
USING b.Location_id = l.Location_id
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки:
Ответ:
(1) вместо ключевого слова USING следует использовать ключевое слово ON
(2) некорректное использование псевдонимов столбцов
(3) в запросе SQL не допускается присутствие нескольких фраз JOIN
(4) названия некоторых столбцов во фразе SELECT указаны без префиксов
(5) атрибут Location_id в отношении Branch не является внешним ключом, ссылающимся
на одноименный атрибут в отношении Location, поэтому не может использоваться для
соединения строк из указанных таблиц
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name,
Position, Salary, Commission_pct, Branch_id (int, FK)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title, Location_id
Запрос SQL имеет вид:
SELECT Worker_name, Branch_title, Branch_id
FROM Worker, Branch
WHERE Worker.Branch_id = Branch.Branch_id
При попытке выполнить запрос сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки:
Ответ:
(1) при выборке данных из нескольких таблиц, названию любого столбца во
фразе SELECT должен предшествовать префикс, включающий название таблицы
(2) некорректный синтаксис условия соединения, для соединения строк из нескольких таблиц
может применяться только оператор JOIN в сочетании с оператором ON
(3) некорректный синтаксис условия соединения, для соединения строк из нескольких таблиц
может применяться только оператор JOIN в сочетании с оператором USING
(4) во фразе SELECT названию столбца Branch_id должен предшествовать префикс,
указывающий на конкретное отношение, поскольку столбец с
названием Branch_id присутствует в обеих таблицах, по которым образуется
соединение
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope,
Group_id (int)
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id, Head_stud_id
Запрос SQL предназначен для отображения информации об учебных группах. Отчет
должен включать номера учебных групп и имена студентов, обучающихся в этих
группах, в отчете также должны быть представлены учебные группы, к которым
еще не приписаны никакие студенты (новые учебные группы).
SELECT g.Group_id, s.Student_name
FROM _________________________
ORDER BY g. Group_id
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) Groups, Students WHERE Students.Group_id = Groups.Group_id
(2) Groups g, Students s WHERE Students.Group_id = Groups.Group_id
(3) Groups g LEFT OUTER JOIN Students s WHERE Students.Group_id =
Groups.Group_id
(4) Groups g LEFT OUTER JOIN Students s ON s.Group_id = g.Group_id
(5) Groups g JOIN Students s USING Students.Group_id = Groups.Group_id
Номер 2
Отношение Specialties имеет схему:
Specialties: Specialty_id (int, PK), Specialty_title, Specialty_rating
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK),
Head_stud_id
Запрос SQL предназначен для отображения информации об учебных группах. Отчет
должен включать номера учебных групп и номера соответствующих им
специальностей. В отчет должны попасть учебные группы, которым еще не
поставлены в соответствие никакие специальности, а также новые специальности,
не установленные ни для каких групп.
SELECT g.Group_id, Specialties.Specialty_id
FROM _________________________
Выберите из предложенных вариантов тот, которые при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) Groups g, Specialties WHERE Groups.Group_id = Specialties.Group_id
(2) Groups g LEFT OUTER JOIN Specialties s ON g.Group_id = s.Group_id
(3) Groups g FULL OUTER JOIN Specialties ON g.Group_id = Specialties.Group_id
(4) Groups g JOIN Specialties USING Specialties.Group_id = Groups.Group_id
(5) Groups g FULL OUTER JOIN Specialties s ON Groups.Group_id =
Specialties.Group_id
Номер 3
Отношение Specialties имеет схему:
Specialties: Specialty_id (int, PK), Specialty_name(UNIQUE), Specialty_rating
Отношение Skills имеет схему:
Skills: Skill_id (int PK), Skill_title
Отношение Specialty_skill имеет схему:
Specialty_skill: Specialty_id (int PK FK), Skill_id (int PK FK)
Запрос SQL предназначен для отображения наименований специальностей с общим
числом соответствующих им навыков (Skill_id) не менее 5.
SELECT Specialty_name, COUNT(Skills.Skill_id) FROM Specialties
JOIN Specialty_skill
__ Specialties.Specialty_id = Specialty_skill.Specialty_id
JOIN Skills
__ Skills.Skill_id = Specialty_skill.Skill_id
___________________________________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) первый и второй фрагмент: ON третий фрагмент: GROUP BY Specialty_name HAVING
COUNT(Skills.Skill_id) >= 5
(2) первый и второй фрагмент: ON третий фрагмент: GROUP BY Specialty_id HAVING COUNT
(Skills.Skill_id) >= 5
(3) первый и второй фрагмент: USING третий фрагмент: GROUP BY Specialty_name WHERE
COUNT(Skills.Skill_id) >= 5
(4) первый и второй фрагмент: USING третий фрагмент: GROUP BY Specialty_name
HAVING COUNT(Skills.Skill_id) >= 5
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar NOT NULL UNIQUE), Position, Manager_id (varchar), Salary (float NOT
NULL), Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Отношение Skills имеет схему:
Skills: Skill_id (int PK), Skill_title
Отношение Worker_skill имеет схему:
Worker_skill: Worker_id (int PK FK), Skill_id (int PK FK)
Запрос SQL предназначен для отображения имен сотрудников с общим числом
соответствующих им навыков (Skill_id ). В отчет должны попасть сотрудники,
обладающие не менее 3 навыками.
SELECT Worker_name FROM Worker
JOIN Worker_skill
__ Worker.Worker_id = Worker_skill.Worker_id
JOIN Skills
__ Skills.Skill_id = Worker_skill.Skill_id
___________________________________
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) первый и второй фрагмент: USING третий фрагмент: AND COUNT(Skills.Skill_id) >= 3
(2) первый и второй фрагмент: ON третий фрагмент: GROUP BY Worker_name HAVING
COUNT(Skills.Skill_id) >= 3
(3) первый и второй фрагмент: USING третий фрагмент: GROUP BY Worker_name WHERE
COUNT(Skills.Skill_id) >= 3
(4) первый и второй фрагмент: ON третий фрагмент: GROUP BY Worker_id HAVING
COUNT(Skills.Skill_id) >= 3
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float), Branch_id (int, FK), Hire_date (timestamp)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title (varchar), Location_id (int)
Запрос SQL предназначен для отображения информации о сотрудниках компании.
Отчет должен включать имена сотрудников и номера соответствующих им отделов.
В отчет должны попасть отделы, в которых еще никто не работает, а также новые
сотрудники, не распределенные по отделам.
SELECT w.Worker_name, Branch.Branch_id
FROM _________________________
Выберите из предложенных вариантов тот, который при подстановке вместо знаков
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) Worker
(2) Worker
(3) Worker
(4) Worker
(5) Worker
w LEFT OUTER JOIN Branch b ON w.Branch_id = Branch.Branch_id
w, Branch WHERE w.Branch_id = Branch.Branch_id
w JOIN Branch USING w.Branch_id = Branch.Branch_id
w RIGHT OUTER JOIN Branch b ON w.Branch_id = Branch.Branch_id
w FULL OUTER JOIN Branch ON w.Branch_id = Branch.Branch_id
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float), Commission_pct (float), Branch_id (int, FK),
Hire_date (timestamp)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title, Location_id
Запрос SQL предназначен для отображения информации об отделах компании. Отчет
должен включать номера отделов и имена сотрудников, работающих в этих
отделах, в отчете также должны быть представлены отделы, к которым еще не
приписаны никакие сотрудники (новые отделы).
SELECT b.Branch_id, w.Worker_name
FROM _________________________
ORDER BY b.Branch_id
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) Branch, Worker WHERE Worker.Branch_id = Branch.Branch_id
(2) Branch b LEFT OUTER JOIN Worker w ON w.Branch_id = b.Branch_id
(3) Branch b, Worker w WHERE Worker.Branch_id = Branch.Branch_id
(4) Branch b LEFT OUTER JOIN Worker w WHERE Worker.Branch_id = b.Branch_id
(5) Branch b JOIN Worker w USING w.Branch_id = b.Branch_id
Номер 1
Отношение Specialties имеет схему:
Specialties: Specialty_id (int, PK), Specialty_title, Specialty_rating
Отношение Skills имеет схему:
Skills: Skill_id (int PK), Skill_title
Отношение Specialty_skill имеет схему:
Specialty_skill: Specialty_id (int PK FK), Skill_id (int PK FK)
Запрос SQL предназначен для отображения номеров специальностей, одним из
навыков которых является "programming".
SELECT sp.Specialty_id, sk.Skill_title
FROM Specialties sp JOIN Specilaty_skill
____sp.Spesialty_id = Specialty_skill.Specialty_id
JOIN Skills sk
____ sk.Skill_id = Specialty_skill.Skill_id
____ sk.Skill_title = ‘programming’
Какие ключевые слова следует вставить вместо знаков подчеркивания, чтобы
обеспечить корректное выполнение запроса и получение требуемого результата?
Ответ:
(1) первый фрагмент: USING; второй фрагмент: USING; третий фрагмент: WHERE
(2) первый фрагмент: ON; второй фрагмент: ON; третий фрагмент: WHERE
(3) первый фрагмент: ON; второй фрагмент: ON; третий фрагмент: AND
(4) первый фрагмент: ON; второй фрагмент: ON; третий фрагмент: ON
Номер 2
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id (int FK),
Head_stud_id
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name (NOT NULL), Head_stud_id,
Math_scope, Group_id (int, FK)
Запрос SQL предназначен для отображения номеров учебных групп и числа
студентов, обучающихся в каждой группе. Если в группе нет ни одного студента,
в отчете напротив названия этой группы, должно находиться значение 0.
SELECT g.Group_id, COUNT(_________)
FROM Students s _________
s.Group_id = g.Group_id
GROUP BY ______________
Какие фрагменты кода следует вставить вместо знаков подчеркивания, чтобы
обеспечить корректное выполнение запроса и получение требуемого результата.
Ответ:
(1) первый фрагмент: Student_name второй фрагмент: RIGHT OUTER JOIN Groups g ON
третий фрагмент: g.Group_id
(2) первый фрагмент: Student_id второй фрагмент: RIGHT OUTER JOIN Groups g ON третий
фрагмент: s.Group_id
(3) первый фрагмент: Student_id второй фрагмент: RIGHT OUTER JOIN Groups USING третий
фрагмент: g.Group_id
(4) первый фрагмент: Student_id второй фрагмент: RIGHT OUTER JOIN Groups g ON
третий фрагмент: g.Group_id
Номер 3
Отношение Student_grade имеет схему:
Student_grade: Grade_id (int PK), Lowest_avg_scope (float), Highest_avg_scope
(float)
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope (float
NOT NULL), Lang_scope (float NOT NULL), Group_id (int, FK)
Запрос SQL предназначен для отображения имен студентов, учебный рейтинг
которых (Grade_id) более 3.
SELECT Student_name
FROM Students s ____________________________________________
Какие фрагменты кода можно вставить вместо знаков подчеркивания, чтобы
обеспечить корректное выполнение запроса и получение требуемого результата.
Ответ:
(1) ,Student_grade g WHERE s.Math_scope + s.Lang_scope BETWEEN g.Lowest_avg_scope
AND g.Highest_avg_scope AND g.Grade_id > 3
(2) JOIN Student_grade g ON s.Math_scope + s.Lang_scope BETWEEN g.Lowest_avg_scope
AND g.Highest_avg_scope WHERE g.Grade_id > 3
(3) JOIN Student_grade g ON s.Math_scope + s.Lang_scope BETWEEN g.Lowest_avg_scope
AND g.Highest_avg_scope AND g.Grade_id > 3
(4) JOIN Student_grade g USING s.Math_scope + s.Lang_scope BETWEEN g.Lowest_avg_scope
AND g.Highest_avg_scope AND g.Grade_id > 3
Номер 4
Отношение Worker_grade имеет схему:
Worker_grade: Grade_id (int PK), Lowest_sal
(float), Highest_sal (float)
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Запрос SQL предназначен для отображения имен сотрудников, оклад которых
относится к категории 4 и выше.
SELECT Worker_name
FROM Worker w ____________________________________________
Какие фрагменты кода следует вставить вместо знаков подчеркивания, чтобы
обеспечить корректное выполнение запроса и получение требуемого результата.
Ответ:
(1) JOIN Worker_grade g ON w.Salary BETWEEN g.Lowest_sal AND g.Highest_sal AND
g.Grade_id > =4
(2) JOIN Worker_grade g USING w.Salary BETWEEN g.Lowest_sal AND g.Highest_sal AND
g.Grade_id > =4
(3) JOIN Worker_grade g ON Worker.Salary <=g.Highest_sal AND w.Salary>=g.Highest_sal
WHERE g.Grade_id >=4
(4) , Worker_grade g WHERE Salary BETWEEN Lowest_sal AND Highest_sal AND g.Grade_id
>=4
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title
(varchar), Location_id (int)
Запрос SQL предназначен для отображения номеров отделов компании и числа
сотрудников, работающих в каждом отделе. Если в отделе нет ни одного
сотрудника, в отчете напротив номера этого отдела должно находиться значение
0.
SELECT b.Branch_id, COUNT(_________)
FROM Worker w _________
w.Branch_id = b.Branch_id
GROUP BY ______________
Какие фрагменты кода следует вставить вместо знаков подчеркивания, чтобы
обеспечить корректное выполнение запроса и получение требуемого результата.
Ответ:
(1) первый фрагмент: Worker_id; второй фрагмент: LEFT OUTER JOIN Branch b ON третий
фрагмент: b.Branch_id
(2) первый фрагмент: Worker_id; второй фрагмент: RIGHT OUTER JOIN Branch ON третий
фрагмент: w.Branch_id
(3) первый фрагмент: Worker_id; второй фрагмент: RIGHT OUTER JOIN Branch b USING
третий фрагмент: b.Branch_id
(4) первый фрагмент: Worker_id; второй фрагмент: RIGHT OUTER JOIN Branch b ON
третий фрагмент: b.Branch_id
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name, Position, Salary, Commission_pct,
Branch_id (int, FK)
Отношение Skills имеет схему:
Skills: Skill_id (int PK), Skill_title
Отношение Worker_skill имеет схему:
Worker_skill: Worker_id (int PK FK), Skill_id (int PK FK)
Запрос SQL предназначен для отображения имен сотрудников и наименований
соответствующих им навыков, в итоговый отчет должны попасть только те
сотрудники, одним из навыков которых является "management".
SELECT w.Worker_name, sk.Skill_title
FROM Worker w JOIN Worker_skill
____w.Worker_id = Worker_skill.Worker_id
JOIN Skills sk
____ sk.Skill_id = Worker_skill.Skill_id
____ sk.Skill_title = ‘management’
Какие ключевые слова следует вставить вместо знаков подчеркивания, чтобы
обеспечить корректное выполнение запроса и получение требуемого результата.
Ответ:
(1) первый фрагмент: ON; второй фрагмент: ON; третий фрагмент: WHERE
(2) первый фрагмент: USING; второй фрагмент: USING; третий фрагмент: WHERE
(3) первый фрагмент: ON; второй фрагмент: ON; третий фрагмент: ON
(4) первый фрагмент: ON; второй фрагмент: ON; третий фрагмент: AND
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Отношение Student_grade состоит из следующих кортежей:
Grade_id Lowest_avg_scope Highest_avg_scope
1
8.1
9
2
9.1
10
Запрос SQL имеет вид:
SELECT Student_name, Grade_id
FROM Students JOIN Student_grade
ON Math_scope + Lang_scope BETWEEN Lowest_avg_scope AND Highest_avg_scope
AND Grade_id <> 1
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Student_name Grade_id
Tom
1
Alex
2
(2)
Student_name Grade_id
Tom
1
Tom
2
Alex
1
Alex
2
(3)
Student_name Grade_id
(4)
Student_name Grade_id
Alex
2
(5) сервер сгенерирует ошибку
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Отношение Student_grade состоит из следующих кортежей:
Grade_id Lowest_avg_scope Highest_avg_scope
1
8.1
9
2
9.1
10
Запрос SQL имеет вид:
SELECT Student_name, Grade_id
FROM Students JOIN Student_grade
WHERE Math_scope + Lang_scope BETWEEN Lowest_avg_scope AND Highest_avg_scope
AND Grade_id <> 1
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Student_name Grade_id
Tom
1
Alex
2
(2)
Student_name Grade_id
Alex
2
(3)
Student_name Grade_id
Tom
1
Tom
2
Alex
1
Alex
2
(4)
Student_name Grade_id
(5) сервер сгенерирует ошибку
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
NULL
12
Alex
28
4.2
5.0
10
Отношение Groups состоит из следующих кортежей:
Group_id Grade_level Specialty_id Head_stud_id
10
1
120.010
10
20
2
120.010
17
Запрос SQL имеет вид:
SELECT Student_name, Group_id
FROM Students FULL OUTER JOIN Groups
ON Students.Group_id = Groups.Group_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Student_name Grade_id
Alex
10
NULL
20
(2)
Student_name Grade_id
Alex
10
(3)
Student_name Grade_id
Tom
NULL
Alex
10
NULL
20
(4) сервер сгенерирует ошибку
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
17
1000 0.5
NULL
20.05.98
12
Alex
17
900 NULL
20
21.06.98
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
Запрос SQL имеет вид:
SELECT Worker_name, Branch.Branch_id
FROM Worker FULL OUTER JOIN Branch
ON Worker.Branch_id = Branch.Branch_id
AND Branch.Branch_id IN (10, 20)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Worker_name Branch_id
Alex
20
NULL
10
(2)
Worker_name Branch_id
NULL
10
(3)
Worker_name Branch_id
Tom
NULL
Alex
20
NULL
10
(4) сервер сгенерирует ошибку
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1000 0.8
10
20.05.98
12
Alex
17
900 NULL
20
21.06.98
Отношение Worker_grade состоит из следующих кортежей:
Grade_id Lowest_sal Highest_sal
1
500
900
2
901
1500
Запрос SQL имеет вид:
SELECT Worker_name, Grade_id
FROM Worker, Worker_grade
WHERE Salary BETWEEN Lowest_sal AND Highest_sal
AND Grade_id <> 2
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Worker_name Grade_id
Tom
1
Tom
2
Alex
1
Alex
2
(2)
Worker_name Grade_id
Tom
2
Alex
1
(3)
Worker_name Grade_id
Alex
1
(4)
Worker_name Grade_id
(5) запрос не будет выполнен, т.к. содержит ошибки
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
17
1000 0.5
NULL
20.05.98
12
Alex
17
900 NULL
20
21.06.98
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
Запрос SQL имеет вид:
SELECT Worker_name, Branch_id
FROM Worker FULL OUTER JOIN Branch
ON Worker.Branch_id = Branch.Branch_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Worker_name Branch_id
Tom
NULL
Alex
20
NULL
10
(2)
Worker_name Branch_id
Alex
20
NULL
10
(3) сервер БД сгенерирует ошибку
(4)
Worker_name Branch_id
Alex
20
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
1100 10
12
Li
NULL
4.2
NULL 20
13
Alan
15
4.7
1300 20
Запрос SQL имеет следующий вид:
SELECT s.Student_name AS name
FROM Student s, Student hs
WHERE s.Head_stud_id = hs.Student_id
AND s.Math_scope > hs.Math_scope
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Alan
(2) сервер БД сгенерирует ошибку
(3)
name
Li
Alan
(4)
name
Lincoln
Alan
(5) запрос не вернет ни одной строки данных
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
12
2.3
1100 10
12
Li
NULL
4.2
NULL 20
13
Alan
15
4.7
1300 20
Запрос SQL имеет следующий вид:
SELECT hs.Student_name name, COUNT(s.Student_name) report
FROM Students s, Students hs
WHERE s.Head_stud_id = hs.Student_id
GROUP BY hs.Student_name
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name report
Li
2
(2)
name report
Li
1
(3) сервер БД сгенерирует ошибку
(4)
name report
Li
0
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
16
4.1
1100 10
15
Li
NULL
4.2
NULL 20
13
NULL
15
4.7
1300 20
16
Tom
NULL
4.0
Запрос SQL имеет следующий вид:
SELECT hs.Student_name name, hs.Math_scope scope
FROM Students s, Students hs
WHERE s.Head_stud_id = hs.Student_id
GROUP BY hs.Student_name
HAVING AVG (s.Math_scope) > hs.Math_scope
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name scope
Li
4.2
(2)
name scope
No rows selected
(3) сервер БД сгенерирует ошибку
(4)
name report
Li
4.2
Li
4.0
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1100 NULL
10
20.05.98
15
Sam
NULL
800 0.2
21.06.98
13
Alex
17
900 0.5
20
23.06.98
17
Jack
NULL
1500 0.5
23.01.98
Запрос SQL имеет следующий вид:
SELECT w.Worker_name worker, m.Worker_name
manager
FROM Worker w, Worker m
WHERE w.Manager_id = m.Worker_id
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name scope
No rows selected
(2)
worker manager
Tom Sam
Alex Jack
(3) сервер БД сгенерирует ошибку
(4)
worker manager
Tom Sam
(5)
worker manager
Alex Jack
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
12
Tom
17
1000$ 0.8
10
20.05.98
17
Alex
NULL
900$ NULL
20
21.06.98
16
Sam
17
1500$ 0.2
20
NULL
Запрос SQL имеет следующий вид:
SELECT m.Worker_name name, COUNT(w.Worker_name) report
FROM Worker m, Worker w
WHERE m.Worker_id = w.Manager_id
GROUP BY m.Worker_name
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name report
Alex 2
(2)
name report
Alex 0
(3)
name report
Alex 1
(4) сервер БД сгенерирует ошибку
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
500 0.4
10
20.05.98
12
Alex
15
1200 NULL
20
21.06.98
15
James
17
1100 NULL
20
21.06.98
Запрос SQL имеет следующий вид:
SELECT w.Worker_name AS name
FROM Worker w, Worker m
WHERE w.Manager_id = m.Worker_id
AND w.Salary >= m.Salary
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1) сервер БД сгенерирует ошибку
(2)
name
Alex
(3)
name
Tom
Alex
(4)
name
Alex
James
Номер 1
Подзапрос
Ответ:
(1) содержится во внешнем запросе, всегда начинающемся со слова SELECT
(2) всегда начинается со слова SELECT
(3) может содержать в себе другой подзапрос
(4) представляет собой любое выражение языка SQL, заключенное в круглые скобки
(5) может содержаться в операторах DML (язык манипулирования данными)
Номер 2
Подзапрос
Ответ:
(1) должен быть заключен в круглые скобки при использовании во внешнем запросе
типа SELECT
(2) возвращает таблицу, которой всегда должен быть присвоен псевдоним
(3) может возвращать единственное значение
(4) не может возвращать несколько строк данных
(5) всегда выполняется прежде, чем внешний запрос
Номер 3
Подзапрос
Ответ:
(1) может использовать только те таблицы, которые упомянуты в предложении FROM данного
подзапроса
(2) всегда обращается к тем же таблицам, что и внешний запрос
(3) никогда не обращается к тем же таблицам, что и внешний запрос
(4) может содержать в предложении FROM таблицы, уже использующиеся во внешнем
запросе
(5) может не содержать предложения FROM
Номер 4
Какие операторы сравнения могут применяться в условии HAVING, если в качестве
правого операнда используется многострочный подзапрос:
Ответ:
(1) <>
(2) IN
(3) <
(4) >=ANY
(5) = ANY
Номер 5
Какие операторы сравнения могут применяться в условии WHERE, если в качестве
правого операнда используется подзапрос (однострочный или многострочный):
Ответ:
(1) >
(2) =<
(3) >=
(4) IN LIST
(5) = NOT ALL
Номер 6
В каких фразах предложения SELECT не могут присутствовать подзапросы
Ответ:
(1) ORDER BY
(2) HAVING
(3) GROUP BY
(4) FROM
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope (float
NOT NULL), Group_id (int, FK)
Запрос предназначен для отображения имен студентов, которые имеют оценку по
Математике (Math_scope) не меньше, чем средний балл по этой дисциплине среди
всех студентов:
SELECT Student_name
FROM Students
WHERE Math_scope________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата при условии, что максимальной оценкой является 5.0.
Ответ:
(1) >= AVG(Math_scope)
(2) >= SELECT AVG(Math_scope) FROM Students
(3) >= (SELECT AVG(Math_scope) FROM Students)
(4) BETWEEN (SELECT AVG(Math_scope) FROM Students) AND 5.0
Номер 2
Отношение Specialties имеет схему:
Specialties: Specialty_id (int, PK), Specialty_title, Specialty_rating
Запрос предназначен для отображения названий всех специальностей с рейтингом,
превышающим рейтинг специальности 201123:
SELECT Specialty_title
FROM Specialties
WHERE Specialty_rating________________
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) => ANY(SELECT Specialty_rating FROM Specialties WHERE
Specialty_id=201123)
(2) > (SELECT Specialty_rating FROM Specialties WHERE Specialty_id=201123)
(3) > SELECT Specialty_rating FROM Specialties WHERE Specialty_id=201123
(4) IN (SELECT Specialty_rating FROM Specialties WHERE Specialty_id=201123)
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Salary (float),
Group_id (int, FK)
Запрос предназначен для отображения имен студентов, имеющих стипендию ниже
среднего значения стипендии по всем студентам
SELECT Student_name
FROM Students
WHERE Salary________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) < ANY(SELECT AVG(Salary) FROM Students)
(2) < (SELECT AVG(Salary) FROM Students)
(3) < SELECT AVG(Salary) FROM Students
(4) < “SELECT AVG(Salary) FROM Students”
Номер 4
Отношение Worker имеет схему
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Запрос предназначен для отображения имен сотрудников, имеющих оклад ниже
среднего значения оклада по всем сотрудникам компании
SELECT Worker_name
FROM Worker
WHERE Salary________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) < (SELECT AVG(Salary) FROM Worker)
(2) < SELECT AVG(Salary) FROM Worker
(3) < ANY (SELECT AVG(Salary) FROM Worker)
(4) < “SELECT AVG(Salary) FROM Worker”
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Отношение Worker_grade имеет схему:
Worker_grade: Grade_id (int, PK), Lowest_sal (float), Highest_sal (float)
Запрос предназначен для отображения всех сотрудников, оклад которых попадает
в более низкую категорию (Grade_id), чем категория оклада сотрудника John:
SELECT Worker_name
FROM Worker, Worker_grade
WHERE Worker.Salary BETWEEN Worker_grade.Lowest_sal AND
Worker_grade.Highest_sal AND Grade_id
________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) < ANY(SELECT Grade_id FROM Worker, Worker_grade) WHERE Salary BETWEEN
Lowest_sal AND Highest_sal AND Worker_name = ‘John’
(2) < (SELECT Grade_id FROM Worker, Worker_grade) WHERE Salary BETWEEN
Lowest_sal AND Highest_sal AND Worker_name = ‘John’
(3) < ALL(SELECT * FROM Worker, Worker_grade) WHERE Salary BETWEEN Lowest_sal
AND Highest_sal AND Worker_name = ‘John’
(4) < SELECT Grade_id FROM Worker, Worker_grade WHERE Salary BETWEEN
Lowest_sal AND Highest_sal AND Worker_name = ‘John’
(5) < “SELECT Grade_id FROM Worker, Worker_grade WHERE Salary BETWEEN
Lowest_sal AND Highest_sal AND Worker_name = ‘John’ ”
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Запрос предназначен для отображения имен сотрудников, которые имеют оклад
(Salary), равный минимальному окладу среди всех сотрудников компании:
SELECT Worker_name
FROM Worker
WHERE Salary ________________
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата.
Ответ:
(1) <= ALL(SELECT Salary FROM Worker)
(2) = MIN (Salary)
(3) = SELECT MIN(Salary) FROM Worker
(4) = (SELECT MIN(Salary) FROM Worker)
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
0
10
15
Li
NULL
4.2
1100 20
13
Alan
15
4.7
1300 20
Запрос SQL имеет следующий вид:
SELECT Student_name
FROM Students
WHERE Salary <= (SELECT MIN(Salary) FROM Students GROUP BY Group_id HAVING
Group_id = 20)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Lincoln
(2) сервер БД сгенерирует ошибку
(3)
name
Lincoln
Li
(4)
name
Lincoln
Li
Alan
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
NULL 10
15
Li
NULL
4.2
1100 20
13
Alan
15
4.7
1300 20
Запрос SQL имеет следующий вид:
SELECT r.n1 name1, r.n2 name2
FROM (SELECT hs.Student_name n1, s.Student_name n2
FROM Students s, Students hs
WHERE s.Head_stud_id = hs.Student_id) r
WHERE LEFT(r.n1, 1) = LEFT(r.n2, 1)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name1 name2
Lincoln Li
(2)
name1 name2
Li
Lincoln
Li
Alan
(3) сервер БД сгенерирует ошибку
(4)
name1 name2
Lincoln Li
Alan Li
(5)
name1 name2
Li
Lincoln
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
NULL 10
15
Li
NULL
4.2
1100 20
13
Alan
15
4.7
1300 20
Отношение Groups состоит из следующих кортежей:
Location_id Country_name City_name Street
10
1
120.010 10
20
2
120.010 17
Запрос SQL имеет следующий вид:
SELECT r.n1 name1
FROM (SELECT Student_name n1, Grade_level n2
FROM Students, Groups
WHERE Students.Group_id = Groups.Group_id) r
WHERE r.n2 >=2
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name1
Lincoln
Li
Alan
(2)
name1
Lincoln
(3)
name1
Li
Alan
(4) сервер БД сгенерирует ошибку
(5) ни одна строка не будет отобрана
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
17
1000 0.5
10
20.05.98
12
Alexander
17
900 NULL
20
21.06.98
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
Запрос SQL имеет следующий вид:
SELECT r.n1 name1
FROM (SELECT Worker_name n1, Branch_title n2
FROM Worker, Branch
WHERE Worker.Branch_id = Branch.Branch_id) r
WHERE len(r.n2) +1 = len(r.n1)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name1
Tom
Alexander
(2) сервер БД сгенерирует ошибку
(3)
name1
Tom
(4)
name1
Alexander
(5) ни одна строка не будет отобрана
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1600 0.8
10
20.05.98
15
Alex
NULL
900 NULL
10
21.06.98
13
Peter
17
1800 0.6
20
NULL
17
Abel
NULL
1900 0.9
20
NULL
Запрос SQL имеет следующий вид:
SELECT r.n1 name1, r.n2 name2
FROM (SELECT m.Worker_name n1, w.Worker_name n2
FROM Worker w, Worker m
WHERE w.Manager_id = m.Worker_id) r
WHERE RIGHT(r.n1, 1) = RIGHT(r.n2, 1)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name1 name2
Tom Alex
(2)
name1 name2
Tom Alex
Peter Abel
(3) нет отобранных строк
(4)
name1 name2
Alex Tom
Abel Peter
(5)
name1 name2
Alex Tom
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
500 0.4
10
20.05.98
12
Alex
15
1200 0
20
21.06.98
15
James
17
1100 0
20
21.06.98
Запрос SQL имеет следующий вид:
SELECT Worker_name
FROM Worker
WHERE Salary*Commission_pct + Salary <= (SELECT MIN(Salary) FROM Worker GROUP
BY Branch_id HAVING Branch_id = 20)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
Worker_name
Tom
(2)
Worker_name
Tom
James
(3)
Worker_name
Tom
Alex
James
(4) сервер БД сгенерирует ошибку
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Запрос SQL имеет вид:
SELECT Student_name AS “name”
FROM Students s
WHERE Math_scope > (SELECT Math_scope FROM Students WHERE Student_id IN (11,
12))
При попытке выполнения запроса сервер БД генерирует ошибку. Укажите
правильную причину возникновения ошибки:
Ответ:
(1) псевдоним name должен быть записан без кавычек
(2) названиям столбцов во фразе SELECT и WHERE должен предшествовать префикс "s"
(3) подзапрос должен записываться без скобок
(4) подзапрос возвращает несколько строк, тогда как оператор сравнения > может
применяться только для однострочных подзапросов
(5) синтаксис SQL не допускает использования многострочных подзапросов
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Запрос SQL имеет вид:
SELECT Student_name AS “name”
FROM Students s
WHERE Math_scope > ANY SELECT Math_scope FROM Students WHERE Student_id = 11
При попытке выполнения запроса сервер БД генерирует ошибку. Укажите
правильную причину возникновения ошибки:
Ответ:
(1) для всех названий столбцов в запросе должен использоваться префикс s
(2) подзапрос не заключен в кавычки
(3) подзапрос не заключен в скобки
(4) подзапрос возвращает одну строку, тогда как оператор сравнения > ANY может
применяться только для многострочных подзапросов
(5) псевдоним name должен быть записан без кавычек
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Запрос SQL имеет вид:
SELECT Student_name AS “name”
FROM Students s
WHERE Math_scope > ANY(SELECT * FROM Students WHERE Student_id = 11)
При попытке выполнения запроса сервер БД генерирует ошибку. Укажите
правильную причину возникновения ошибки:
Ответ:
(1) подзапрос должен быть заключен в кавычки
(2) подзапрос возвращает одну строку, тогда как оператор сравнения > ANY может
применяться только для многострочных подзапросов
(3) таблица Students в главном запросе не может иметь псевдоним
(4) подзапрос является многостолбцовым, хотя в данном случае он должен
возвращать значение только одного столбца
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
17
1000 0.5
10
20.05.98
12
Alexander
17
900 NULL
20
21.06.98
Запрос SQL имеет вид
SELECT w.Worker_name AS name
FROM Worker w
WHERE Salary > ANY(SELECT * FROM Worker WHERE Worker_id =12)
При попытке выполнения запроса сервер БД генерирует ошибку. Укажите
правильную причину возникновения ошибки:
Ответ:
(1) подзапрос является многостолбцовым, хотя в данном случае он должен
возвращать значение только одного столбца.
(2) подзапрос должен быть заключен в кавычки
(3) подзапрос возвращает одну строку, тогда как оператор сравнения > ANY может
применяться только для многострочных подзапросов
(4) префиксом столбца Worker_name во фразе SELECT главного запроса может быть только
полное имя таблицы.
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
1000 0.8
10
20.05.98
12
Alex
17
900 NULL
20
21.06.98
Запрос SQL имеет вид:
SELECT Worker_name AS “name”
FROM Worker w
WHERE w.Salary > ALL SELECT Salary FROM Worker WHERE Worker_id = 11
При попытке выполнения запроса сервер БД генерирует ошибку. Укажите
правильную причину возникновения ошибки:
Ответ:
(1) псевдоним name должен быть записан без кавычек.
(2) для всех названий столбцов в запросе должен использоваться префикс w
(3) подзапрос должен быть заключен в кавычки
(4) подзапрос возвращает одну строку, тогда как оператор сравнения > ALL может
применяться только для многострочных подзапросов
(5) подзапрос должен быть заключен в скобки
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
500 0.4
10
20.05.98
12
Alex
15
1200 NULL
20
21.06.98
15
James
17
1100 NULL
20
21.06.98
Запрос SQL имеет вид:
SELECT Worker_name AS “name”
FROM Worker w
WHERE Salary > (SELECT Salary FROM Worker WHERE Worker_id NOT IN (14, 15))
При попытке выполнения запроса сервер БД генерирует ошибку. Укажите
правильную причину возникновения ошибки:
Ответ:
(1) названиям столбцов во фразе SELECT и WHERE должен предшествовать префикс "w"
(2) псевдоним name должен быть записан без кавычек.
(3) подзапрос должен заключаться в двойные кавычки, а не в скобки
(4) синтаксис SQL не допускает использования многострочных подзапросов
(5) подзапрос возвращает несколько строк, тогда как оператор сравнения > может
применяться только для однострочных подзапросов
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Salary (float NOT
NULL), Group_id (int, FK)
Запрос предназначен для отображения имен студентов, стипендия которых
(Salary) превышает стипендию каждого студента, обучающегося в группе 20.
SELECT Student_name
FROM Students
WHERE Salary __________ (SELECT Salary FROM Students WHERE Group_id = 20)
Укажите оператор сравнения, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) >
(2) > ANY
(3) > ALL
(4) > IN
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope
(float), Group_id (int, FK)
Запрос предназначен для отображения имен студентов, оценка по Математике
(Math_scope) которых равна средней оценке по этой дисциплине в одной из
учебных групп 10 или 20.
SELECT Student_name
FROM Students
WHERE Math_scope __________ (SELECT AVG(Math_scope) FROM Students GROUP BY
Group_id HAVING Group_id IN (10, 20))
Укажите операторы сравнения, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) = ANY
(2) IN LIST
(3) = LIST
(4) IN
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope
(float), Group_id (int, FK)
Запрос предназначен для отображения номеров учебных групп численностью более
чем группы 15 и 20.
SELECT Group_id
FROM Students
GROUP BY Group_id
HAVING COUNT(Student_id) __________ (SELECT COUNT(Student_id) FROM Students
GROUP BY Group_id HAVING Group_id IN (15, 20))
Укажите операторы сравнения, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) > ALL
(2) > ANY
(3) > LIST
(4) > IN
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Запрос предназначен для отображения номеров отделов компании численностью
более численности отделов 10 и 20, и со средним окладом более, чем средний
оклад в отделе 30.
SELECT Branch_id
FROM Worker
GROUP BY Branch_id
HAVING COUNT(Worker_id) __________ (SELECT COUNT(Worker_id) FROM Worker GROUP
BY Branch_id HAVING Branch_id IN (10, 20))
AND
AVG(Salary) __________ (SELECT AVG(Salary) FROM Worker WHERE Branch_id =30)
Укажите операторы сравнения, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) первый фрагмент: > ALL, второй фрагмент: >
(2) первый фрагмент: >, второй фрагмент: >
(3) первый фрагмент: > ANY, второй фрагмент: >
(4) первый фрагмент: > ALL, второй фрагмент: > ALL
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name,
Position, Salary, Commission_pct, Branch_id (int, FK)
Запрос предназначен для отображения имен сотрудников, оклад которых равен
среднему окладу в одном из отделов 10 или 20.
SELECT Worker_name
FROM Worker
WHERE Salary ____ (SELECT AVG(Salary) FROM Worker
GROUP BY Branch_id HAVING Branch_id IN (10, 20))
Выберите варианты кода, которые при подстановке вместо знаков подчеркивания
обеспечивают корректное выполнение запроса и получение требуемого результата:
Ответ:
(1) =
(2) = IN LIST
(3) IN
(4) = ANY
(5) = ALL
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name
(varchar), Position, Manager_id (varchar), Salary (float NOT NULL),
Commission_pct (float NOT NULL), Branch_id (int, FK), Hire_date (timestamp)
Запрос предназначен для отображения имен сотрудников, премия которых
(Salary*Commission_pct) превышает премию хотя бы одного сотрудника,
работающего в отделе 10.
SELECT Worker_name
FROM Worker
WHERE Salary*Commission_pct ______ (SELECT Salary*Commission_pct
FROM Worker WHERE Branch_id = 10)
Укажите операторы сравнения, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата:
Ответ:
(1) > ANY
(2) >
(3) > IN
(4) > IN LIST
Номер 1
Отношение Student_grade имеет схему:
Student_grade: Grade_id (int PK), Lowest_avg_scope (float), Highest_avg_scope
(float)
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope
(float, NOT NULL), Lang_scope (float, NOT NULL), Group_id (int, FK)
Запрос предназначен для отображения имен студентов, рейтинг которых
(Grade_id) попадает в первую категорию. Категория рейтинга определяется на
основе выражения (Math_scope + Lang_scope)/2
SELECT Student_name
FROM Students
WHERE ____(SELECT Lowest_avg_scope, Highest_avg_scope FROM Student_grade
WHERE_____)
Выберите из предложенных вариантов те, которые при подстановке вместо знаков
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) первый фрагмент: (Math_scope + Lang_scope)/2 BETWEEN второй фрагмент: Grade_id = 1
(2) первый фрагмент: (Math_scope + Lang_scope)/2 IN второй фрагмент: Grade_id = 1
(3) первый фрагмент: EXISTS второй фрагмент: (Math_scope + Lang_scope)/2 BETWEEN
Lowest_avg_scope AND Highest_avg_scope AND Grade_id = 1
(4) первый фрагмент: PRESENTS второй фрагмент: (Math_scope + Lang_scope)/2 BETWEEN
Lowest_avg_scope AND Highest_avg_scope AND Grade_id = 1
Номер 2
Отношение Specialties имеет схему:
Specialties: Specialty_id (int, PK), Specialty_title, Specialty_rating
Отношение Skills имеет схему:
Skills: Skill_id (int PK), Skill_title
Отношение Specialty_skill имеет схему:
Specialty_skill: Specialty_id (int PK FK), Skill_id (int PK FK)
Запрос предназначен для отображения названий специальностей, которые
предполагают получение обучающимся навыка "system integrator":
SELECT Specialty_title
FROM Specialties s
WHERE EXISTS
(SELECT * FROM Specialty_skill, Skills
WHERE Specialties.Specialty_id = Specialty_skill.Specialty_id
AND Specialty_skill.Skill_id = Skills.Skill_id
AND Skill_title = ‘system integrator’
)
При выполнении данного запроса сервер БД генерирует сообщение об ошибке.
Укажите правильную причину возникновения ошибки.
Ответ:
(1) неверный синтаксис оператора EXISTS
(2) в последнем условии подзапроса EXISTS пропущен префикс столбца Skill_title
(3) подзапрос EXISTS не может использоваться для соединения строк из нескольких таблиц
(4) Префикс "Specialties" в первом условии подзапроса EXISTS должен быть заменен
на символ "s"
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Salary Group_id
11
Lincoln
15
2.3
NULL 10
15
Li
NULL
4.2
1100 20
13
Alan
15
4.7
1300 20
Отношение Groups состоит из следующих кортежей:
Group_id Grade_level Specialty_id Head_stud_id
10
1
120.010
10
20
2
120.010
17
Запрос SQL имеет вид
:
SELECT Student_name name
FROM Students s
WHERE NOT EXISTS (SELECT * FROM Groups g
WHERE s.Group_id = g.Group_id AND
g.Group_id=10)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Lincoln
(2) сервер БД сгенерирует ошибку
(3)
name
Li
Alan
(4) ни одна строка не будет отобрана
(5)
name
Lincoln
Li
Alan
Номер 4
Отношение Worker_grade имеет схему:
Worker_grade: Grade_id (int PK), Lowest_sal
(float), Highest_sal (float)
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Manager_id
(varchar), Salary (float NOT NULL), Commission_pct (float), Branch_id (int,
FK), Hire_date (timestamp)
Запрос предназначен для отображения имен сотрудников, уровень зарплаты
которых (Grade_id) попадает в первую категорию:
SELECT Worker_name
FROM Worker w
WHERE ______ (SELECT Lowest_sal, Highest_sal FROM Worker_grade
WHERE_________)
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) первый фрагмент: EXISTS второй фрагмент: Worker.Salary BETWEEN Lowest_sal AND
Highest_sal AND Grade_id = 1
(2) первый фрагмент: Salary BETWEEN второй фрагмент: Grade_id = 1
(3) первый фрагмент: Salary IN RANGE второй фрагмент: Grade_id = 1
(4) первый фрагмент: EXISTS второй фрагмент: Salary BETWEEN Lowest_sal AND
Highest_sal AND Grade_id = 1
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name,
Position, Salary, Commission_pct, Branch_id (int, FK)
Отношение Skills имеет схему:
Skills: Skill_id (int PK), Skill_title (varchar)
Отношение Worker_skill имеет схему:
Worker_skill: Worker_id (int PK FK), Skill_id (int PK FK)
Запрос предназначен для отображения имен сотрудников, которые обладают
навыком "Java programming":
SELECT Worker_name
FROM Worker w JOIN Worker_skill ws ON w.Worker_id = ws.Worker_id
WHERE EXISTS (SELECT * FROM Skills WHERE Skill_title = ‘Java programming’)
При выполнении данного запроса отбирается избыточное количество строк, т.е.
имена даже тех сотрудников, которые не обладают заданным навыком. Объясните
причину отклонения получаемого результата от ожидаемого результата.
Ответ:
(1) если запрос содержит оператор JOIN, то следующий далее
оператор EXISTS игнорируется
(2) для вставки дополнительного условия соединения вместо оператора WHERE следовало
использовать оператор AND
(3) в подзапросе EXISTS пропущено условие: ws.Skill_id = Skills.Skill_id
(4) вместо оператора EXISTS в данном примере следовало использовать оператор PERSISTS
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom
15
500 0.4
10
20.05.98
12
Alex
15
1200 NULL
20
21.06.98
15
James
17
1100 NULL
20
21.06.98
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
Запрос SQL имеет вид:
SELECT Worker_name name
FROM Worker w
WHERE NOT EXISTS (SELECT * FROM Branch b
WHERE w.Branch_id = b.Branch_id AND
b.Branch_id = 20)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Tom
(2) сервер БД сгенерирует ошибку
(3) ни одна строка не будет отобрана
(4)
name
Tom
Alex
James
(5)
name
Alex
James
Номер 1
Оператор IN:
Ответ:
(1) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом
значений равно значению заданного поля в проверяемой записи
(2) эквивалентен = ANY
(3) может применяться только для многострочных подзапросов
(4) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >= и т.д.)
(5) не используется совместно с многострочными подзапросами
Номер 2
Оператор ALL:
Ответ:
(1) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >= и
т.д.)
(2) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом
значений удовлетворяет условию, диктуемому простейшим оператором сравнения, стоящим
перед ALL
(3) может применяться только для многострочных подзапросов
(4) гарантирует истинность условия, только если все значения, возвращаемые
подзапросом, удовлетворяют условию, диктуемому простейшим оператором
сравнения, стоящим перед ALL
Номер 3
Оператор ANY:
Ответ:
(1) может применяться только для многострочных подзапросов
(2) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >=,
<=, <,>)
(3) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом
значений удовлетворяет условию, диктуемому простейшим оператором сравнения,
стоящим перед ANY
(4) гарантирует истинность условия, только если все значения, возвращаемые подзапросом,
удовлетворяют условию, диктуемому простейшим оператором сравнения, стоящим
перед ANY
Номер 4
Оператор (NOT) EXISTS:
Ответ:
(1) используется для организации подзапросов
(2) допускает в подзапросе использование названий столбцов (выражений с
использованием названий столбцов), принадлежащих таблице(ам) главного запроса
(3) позволяет создавать только многострочные подзапросы
(4) позволяет создавать только однострочные подзапросы
Номер 5
Выберите корректный фрагмент кода при условии, что столбцы a, f1, f2 имеют
тип данных INT:
Ответ:
(1) ... WHERE a = SELECT f1 FROM t ...
(2) ... WHERE a = SELECT f1, f2 FROM t ...
(3) ... WHERE a = (SELECT f1 FROM t) ...
(4) ... WHERE a = (SELECT count(f1) FROM t) ...
(5) ... WHERE a = SELECT count(f1), f2 FROM t ...
Номер 6
Укажите фрагменты, выполняя код которых сервер БД сгенерирует ошибку. (Тип
данных столбца а в обеих таблицах совпадает.)
Ответ:
(1) ... FROM t1 WHERE a = (SELECT a FROM t2) ...
(2) ... FROM t1 WHERE a = (SELECT a) ...
(3) ... FROM t1 WHERE a IN (SELECT a FROM t2) ...
(4) ... FROM t1 WHERE a IN (SELECT a) ...
(5) ... FROM t1 WHERE a EXISTS (SELECT a FROM t2) ...
Номер 1
Оператор UNION:
Ответ:
(1) является бинарным оператором
(2) используется для пересечения двух отношений
(3) используется для объединения двух отношений
(4) не существует
Номер 2
Оператор EXCEPT:
Ответ:
(1) позволяет получить разность отношений
(2) может применяться только для отношений с одинаковой структурой
(3) используется для объединения двух отношений
(4) используется для организации подзапросов
(5) не существует
Номер 3
Оператор ANY:
Ответ:
(1) может применяться только для многострочных подзапросов
(2) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >=,
<=, <, >)
(3) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом
значений удовлетворяет условию, диктуемому простейшим оператором сравнения,
стоящим перед ANY
(4) гарантирует истинность условия, только если все значения, возвращаемые подзапросом,
удовлетворяют условию, диктуемому простейшим оператором сравнения, стоящим
перед ANY
Номер 4
Какие из перечисленных операторов могут использоваться для организации
пересечения отношений:
Ответ:
(1) INTERSECTION
(2) INTERSECT
(3) EXCEPT
(4) EXCEPTION
(5) UNION
Номер 5
Оператор EXCEPT:
Ответ:
(1) позволяет получить разность отношений
(2) используется для исключения из итоговой выборки строк, не удовлетворяющих заданным
условиям
(3) является синонимом оператора NOT EXISTS
(4) является унарным оператором
(5) не существует
Номер 6
Оператор INTERSECTION:
Ответ:
(1) позволяет получить пересечение отношений
(2) не существует
(3) может применяться только для отношений с одинаковой структурой
(4) является бинарным
(5) используется для соединения строк из нескольких таблиц
Номер 1
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tom
15
3.9
4.3
10
12
Peter
28
4.2
5.0
10
Отношение Students1 состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tomas
13
4.9
4.3
20
Запрос SQL имеет вид:
SELECT len(Student_name) name FROM Students
INTERSECT
SELECT len(Student_name) name FROM Students1
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
5
5
(2) сервер БД сгенерирует ошибку
(3)
name
5
(4)
name
Tom
(5)
name
3
Номер 2
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tomas
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Отношение Specialties состоит из следующих кортежей:
Specialty_id Specialty_title Specialty_rating
11.01.15
Account
9.8
12.03.14
Sales
6.2
Запрос SQL имеет вид:
SELECT Student_name name FROM Students
WHERE NOT EXISTS (SELECT * FROM Specilaties WHERE
len(Specialty_title)=len(Student_name))
UNION
SELECT Specialty_title name FROM Specialties
WHERE NOT EXISTS (SELECT * FROM Students WHERE
len(Student_name)=len(Specialty_title))
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Tomas
Sales
(2)
name
Alex
Account
(3) сервер БД сгенерирует ошибку
(4)
name
Tomas
Alex
Account
Sales
Номер 3
Отношение Students состоит из следующих кортежей:
Student_id Student_name Head_stud_id Math_scope Lang_scope Group_id
11
Tomas
15
3.9
4.3
10
12
Alex
28
4.2
5.0
10
Отношение Specialties состоит из следующих кортежей
Specialty_id Specialty_title Specialty_rating
11.01.15
Accounting 9.8
12.03.14
Engineering 6.2
Запрос SQL имеет вид:
SELECT Student_name name FROM Students
WHERE EXISTS (SELECT * FROM Specilaties WHERE
left(Specialty_title,1)=left(Student_name, 1))
UINION
SELECT Specialty_title name FROM Specialties
WHERE EXISTS (SELECT * FROM Students WHERE
left(Student_name,1)=left(Specialty_title,1))
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Tom
Engineering
(2) сервер БД сгенерирует ошибку
(3)
name
Tom
Alex
Accounting
Engineering
(4)
name
Alex
Accounting
Номер 4
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Robert
17
1000 0.5
10
20.05.98
12
Alexander
17
900 NULL
20
21.06.98
Отношение Worker1 состоит из следующих кортежей:
12 Alexis 17 1200 NULL 20 29.06.98
Запрос SQL имеет вид:
SELECT len(Worker_name) name FROM Worker
INTERSECT
SELECT len(Worker_name) name FROM Worker1
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1) сервер БД сгенерирует ошибку
(2)
name
6
6
(3)
name
Robert
Alexis
(4)
name
9
(5)
name
6
Номер 5
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
Tom_Parker 15
1100 0.8
10
20.05.98
12
Alex_Stone 17
900 0.2
20
21.06.98
Отношение Branch состоит из следующих кортежей:
Branch_id Branch_title Location_id
10
Accounting 11
20
Research
12
Запрос SQL имеет вид:
SELECT Worker_name name FROM Worker
WHERE NOT EXISTS (SELECT * FROM Branch WHERE
left(Branch_title,1)=left(Worker_name, 1))
UNION
SELECT Branch_title name FROM Branch
WHERE NOT EXISTS (SELECT * FROM Worker WHERE
left(Worker_name,1)=left(Branch_title,1))
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Alex_Stone
Research
(2) сервер БД сгенерирует ошибку
(3)
name
Tom_Parker
Alex_Stone
Accounting
Research
(4)
name
Tom_Parker
Research
Номер 6
Отношение Worker состоит из следующих кортежей:
Worker_id Worker_name Manager_id Salary Commission_pct Branch_id Hire_date
11
12
Robert
Alexis
17
17
1000 0.5
900 NULL
10
20
20.05.98
21.06.98
Отношение Worker1 состоит из следующих кортежей:
12 Alexis 17 1200 NULL 20 29.06.98
Запрос SQL имеет вид:
SELECT Worker_name name FROM Worker w
WHERE EXISTS (SELECT * FROM Worker1 w1 WHERE w.Worker_name = w1.Worker_name)
Выберите среди предложенных вариантов верный вариант итогового отчета:
Ответ:
(1)
name
Robert
Alexis
(2)
name
Alexis
Alexis
(3)
name
Alexis
(4) сервер БД сгенерирует ошибку
Номер 1
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope,
Group_id (int)
Отношение Groups имеет схему:
Groups: Group_id (int PK), Grade_level (int), Specialty_id, Head_stud_id
Запрос предназначен для отображения совпадающих номеров студентов и групп
SELECT Student_id nom FROM Students
________________
SELECT Group_id nom FROM Groups
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) EXCEPT
(2) INTERSECTION
(3) UNION
(4) INTERSECT
(5) EXIST
Номер 2
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope,
Group_id (int)
Отношение Instructors имеет схему:
Instructors: Instructor_id (int PK), Instructor_name, Length_of_work
Запрос предназначен для отображения имен учителей, которые не встречаются
среди имен студентов
SELECT Instructor_name FROM Instructors
_________
SELECT Student_name FROM Students
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) INTERSECT
(2) UNION
(3) INTERSECTION
(4) NOT EXISTS
(5) EXCEPT
Номер 3
Отношение Students имеет схему:
Students: Student_id (int, PK), Student_name, Head_stud_id, Math_scope,
Group_id (int)
Отношение Instructors имеет схему:
Instructors: Instructor_id (int PK), Instructor_name, Length_of_work
Запрос предназначен для отображения имен учителей, которые встречаются среди
имен студентов
SELECT Instructor_name FROM Instructors
_________
SELECT Student_name FROM Students
Выберите из предложенных вариантов тот, который при подстановке вместо знака
подчеркивания обеспечивает корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) UNION
(2) INTERSECT
(3) INTERSECTION
(4) EXCEPT
(5) EXIST
Номер 4
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name,
Position, Salary, Commission_pct, Branch_id (int, FK)
Отношение Branch имеет схему:
Branch: Branch_id (int PK), Branch_title, Location_id
Запрос предназначен для отображения общего списка имен сотрудников и названий
отделов
SELECT Worker_name name FROM Worker
________________
SELECT Branch_title name FROM Branch
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) INTERSECT
(2) INTERSECTION
(3) EXIST
(4) EXCEPT
(5) UNION
Номер 5
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name (varchar), Position, Salary,
Commission_pct, Branch_id (int, FK)
Отношение Manager имеет схему:
Manager: Manager_id (int, PK), Manager_name (varchar),
Managed_branch_id
Запрос предназначен для отображения имен сотрудников, которые не встречаются
среди имен менеджеров
SELECT Worker_name FROM Worker
_________
SELECT Manager_name FROM Manager
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) INTERSECTION
(2) INTERSECT
(3) EXCEPTION
(4) EXCEPT
(5) EXISTS
Номер 6
Отношение Worker имеет схему:
Worker: Worker_id (int, PK), Worker_name, Position, Salary, Commission_pct,
Branch_id (int, FK)
Отношение Manager имеет схему:
Manager: Manager_id (int, PK), Manager_name,
Managed_branch_id
Запрос предназначен для отображения имен менеджеров, которые встречаются
среди имен сотрудников
SELECT Worker_name FROM Worker w
_________
(SELECT Manager_name FROM Manager WHERE Worker_name = Manager_name)
Выберите из предложенных вариантов те, которые при подстановке вместо знака
подчеркивания обеспечивают корректное выполнение запроса и получение
требуемого результата
Ответ:
(1) INTERSECTION
(2) INTERSECT
(3) EXCEPTION
(4) EXCEPT
(5) WHERE EXISTS
Download