SQL: основы - ответы на тесты Интуит

Правильные ответы выделены зелёным цветом.
Все ответы: Проверка знаний синтаксиса и семантики основных конструкций языка SQL.
Смотрите также:

Сортировка строк полученного в результате выборки отчета:

(1) по умолчанию осуществляется в порядке убывания значений заданного столбца или выражения
(2) определяется во фразе ORDER ON
(3) по умолчанию осуществляется в порядке возрастания значений заданного столбца или выражения
(4) может осуществляться только по единственному столбцу или выражению
(5) осуществляется по первичному ключу, если не задан конкретный столбец (выражение)
Отношение Students имеет схему: files 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
Отношение Groups состоит из следующих кортежей:files
Group_idGrade_levelSpecialty_idHead_stud_id
ДИ11120.01010
ДИ22120.01017
ВИ11131.015123
ВИ22131.01515

Запрос имеет следующий вид:

SELECT Head_stud_id, Grade_level FROM Groups Order BY Grade_level DESC, Head_stud_id

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
Head_stud_idGrade_level
101
1231
152
172
(2)
Head_stud_idGrade_level
172
152
1231
101
(3)
Head_stud_idGrade_level
152
172
101
1231
(4) сервер БД сгенерирует ошибку
(5)
Grade_levelHead_stud_id
217
215
1123
110

Назначение транзакции -

(1) нормализация отношений БД
(2) сохранение целостности данных в БД
(3) создание резервной копии БД
(4) предотвращение несанкционированного доступа к данным
(5) оптимизация выполнения ресурсоемких операторов SQL
Укажите, какие из перечисленных утверждений являются истинными:

Оператор IN:

(1) используется только для сравнения числовых значений
(2) используется для проверки попадания значения в заданный диапазон
(3) используется для проверки вхождения значения в заданный список
(4) может быть заменен комплексным условием с использованием операторов AND
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Lincoln15NULL4.310
12Li284.25.010
13Lik284.54.320

Запрос имеет следующий вид:

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) ни одна строка не будет отобрана
Отношение Students имеет схему:files 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 LIKE “%!_%” ESCAPE ‘!’
(2) Student_name LIKE “%[_]%”
(3) Student_name LIKE ‘%[_]’
(4) Student_name LIKE ‘%?_%’ ESCAPE ‘?’
(5) Student_name LIKE ‘%!_%’ ESCAPE ‘!’
Выберите из предложенного списка варианты с правильной расстановкой приоритетов (очередности выполнения) различных групп операторов:
(1) Арифметические операторы Операторы сравнения (<, >, = …) Оператор конкатенации
(2) Логические операторы (AND, OR) Оператор конкатенации Арифметические операторы
(3) Логические операторы (AND, OR) Арифметические операторы Операторы сравнения (<, >, = …)
(4) Арифметические операторы Оператор конкатенации Логические операторы (AND, OR)
(5) ничего из перечисленного
Отношение Students имеет схему: files 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)
Какие из перечисленных функций не являются функциями работы со строками:
(1) LOWER
(2) AVG
(3) LEFT
(4) LTRIM
(5) CAST
Запрос имеет следующий вид: 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) сервер сгенерирует ошибку
Для удаления записей из таблицы базы данных предназначен оператор
(1) ALTER TABLE
(2) DEALLOCATE
(3) DELETE
(4) DROP
(5) ROLLBACK
Отношение Students имеет схему:files 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) список значений не соответствует по типам данных списку столбцов
Отношение Students имеет схему:files 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

При выполнении следующего запроса сервер БД генерирует ошибку.

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 написано с ошибкой
Что может выступать в качестве ограничения столбца при создании таблицы?
(1) IN
(2) UNIQUE
(3) SECONDARY KEY
(4) NOT EMPTY
(5) REFERENCES
Удалить таблицу из базы данных можно
(1) оператором DELETE TABLE
(2) оператором DROP TABLE
(3) только если она пуста
(4) только если она не имеет внешних ключей, ссылающихся на другие существующие таблицы
(5) только если она была создана как временная, то есть с опцией TEMPORARY

Функция AVG:

(1) используется для подсчета в итоговом отношении (каждой группе строк итогового отношения) числа значений выбранного столбца, отличных от NULL
(2) используется для вычисления дисперсии значений выбранного столбца во всей выборке или в каждой группе строк итогового отношения
(3) используется для вычисления математического ожидания значений выбранного столбца во всей выборке или в каждой группе строк итогового отношения
(4) используется для вычисления среднего арифметического значений выбранного столбца во всей выборке или в каждой группе строк итогового отношения
(5) возвращает значение NULL, если переданное в качестве аргумента выражение или столбец, принимает для одной из строк, обрабатываемых этой функцией, неопределенное значение
Отношение Students имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3110010
12Li284.2NULL20
13Alan244.7130020

Запрос имеет следующий вид:

SELECT AVG (Salary) AS report FROM Students

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
report
NULL
(2) сервер БД сгенерирует ошибку
(3)
report
800
(4)
report
1200
(5)
report
0

Фраза HAVING:

(1) не может включать такие операторы сравнения, как: BETWEEN ... AND, LIKE, IN
(2) может включать только столбцы и выражения, которые присутствуют во фразе GROUP BY или передаются в качестве аргументов в групповые функции этой же фразы (не принимая во внимания подзапросы)
(3) не допускает использования подзапросов
(4) используется для исключения групп из итоговой выборки
Отношение Students имеет схему:files 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, или который не передан в качестве аргумента в групповую функцию
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln154.9110010
12Li284.2NULL20
13Alan244.7130020

Запрос имеет следующий вид:

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
Отношение Students имеет схему: files 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
Какие из перечисленных операций реляционной алгебры могут лежать в основе соединения строк из нескольких таблиц
(1) эквисоединение
(2) проекция
(3) декартово произведение
(4) внешнее соединение
Отношение Students имеет схему: files 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 некорректный синтаксис в префиксах названий столбцов, вместо псевдонимов таблиц следовало использовать полные названия таблиц
Отношение Students имеет схему: files 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
Отношение Specialties имеет схему: files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.310
12Alex284.25.010

Отношение Student_grade состоит из следующих кортежей:

Grade_idLowest_avg_scopeHighest_avg_scope
18.19
29.110

Запрос 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_nameGrade_id
Tom1
Alex2
(2)
Student_nameGrade_id
Tom1
Tom2
Alex1
Alex2
(3)
Student_nameGrade_id
(4)
Student_nameGrade_id
Alex2
(5) сервер сгенерирует ошибку
Отношение Students состоит из следующих кортежей: files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3110010
12LiNULL4.2NULL20
13Alan154.7130020

Запрос 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) запрос не вернет ни одной строки данных
Подзапрос
(1) содержится во внешнем запросе, всегда начинающемся со слова SELECT
(2) всегда начинается со слова SELECT
(3) может содержать в себе другой подзапрос
(4) представляет собой любое выражение языка SQL, заключенное в круглые скобки
(5) может содержаться в операторах DML (язык манипулирования данными)
Отношение Students имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3010
15LiNULL4.2110020
13Alan154.7130020
Запрос 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.310
12Alex284.25.010

Запрос 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 не допускает использования многострочных подзапросов
Отношение Students имеет схему:files 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
Отношение Student_grade имеет схему:files 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

Оператор IN:

(1) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом значений равно значению заданного поля в проверяемой записи
(2) эквивалентен = ANY
(3) может применяться только для многострочных подзапросов
(4) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >= и т.д.)
(5) не используется совместно с многострочными подзапросами

Оператор UNION:

(1) является бинарным оператором
(2) используется для пересечения двух отношений
(3) используется для объединения двух отношений
(4) не существует
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.310
12Peter284.25.010

Отношение Students1 состоит из следующих кортежей:

Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tomas134.94.320

Запрос 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
Отношение Students имеет схему: files 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
Значение NULL:
(1) в выражениях неявно заменяется на значение "ноль" или пробел
(2) означает, что значение недоступно, не присвоено или неизвестно
(3) при использовании в арифметическом выражении приводит к тому, что выражение принимает неопределенное значение
(4) при использовании в арифметическом выражении приводит к тому, что выражение принимает значение "ноль"
Отношение Students имеет схему: files 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) *
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom155.04.310
12Alex284.25.010

Запрос 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 не допускается использование псевдонимов столбцов

Транзакция завершается оператором

(1) CANCEL
(2) COMMIT
(3) END
(4) ROLLBACK
(5) SUBMIT
Выберите из предложенного списка вариант с правильной расстановкой приоритетов (очередности выполнения) различных групп операторов:
(1) Арифметические операторы Логические операторы (AND, OR) Операторы сравнения (<, >, = …)
(2) Логические операторы (AND, OR) Операторы сравнения (<, >, = …) Арифметические операторы
(3) Логические операторы (AND, OR) Арифметические операторы Операторы сравнения (<, >, = …)
(4) Арифметические операторы Операторы сравнения (<, >, = …) Логические операторы (AND, OR)
(5) все перечисленные утверждения неверны
Отношение Students имеет схему:files 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
Отношение Students имеет схему:files 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 >= 'A' AND Student_name <= 'C'
(3) Student_name < 'D' AND Student_name >= 'A'
(4) Student_name LIKE "A%" OR Student_name LIKE "B%" OR Student_name LIKE "C%"
(5) Student_name LIKE 'C%' OR Student_name LIKE 'A%' OR Student_name LIKE 'B%'

Оператор ESCAPE:

(1) может использоваться в сочетании с оператором LIKE
(2) применяется для исключения из диапазона, задаваемого оператором BETWEENAND, конкретных значений
(3) применяется для исключения из списка, задаваемого оператором IN, конкретных значений
(4) не существует
(5) может применяться для поиска метасимволов: "_" и "%".
Отношение Groups имеет схему:files 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
Какие из перечисленных функций могут использоваться для явного преобразования типов данных:
(1) NVL
(2) ISNULL
(3) CAST
(4) AVG
(5) RTRIM
Функция CURRENT_TIMESTAMP
(1) позволяет установить заданное время в качестве системного
(2) возвращает текущее время
(3) возвращает время начала работы текущего пользователя с текущей базой данных
(4) позволяет установить заданную дату в качестве системной
(5) возвращает текущую дату
Оператор UPDATE
(1) завершает транзакцию записью всех произведенных ею изменений
(2) изменяет структуру таблицы
(3) изменяет значение столбцов таблицы
(4) может содержать вложенный подзапрос на выборку данных
(5) может быть вложен в качестве подзапроса в другой запрос
Отношение Students имеет схему:files 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
Отношение Students имеет схему:files 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)

При выполнении следующего запроса сервер БД генерирует ошибку.

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) не нужна запятая при перечислении ограничений одного столбца
Ограничение PRIMARY KEY
(1) делает указанный столбец первичным ключом отношения
(2) задает столбец, в котором будет храниться порядковый номер строки таблицы
(3) может использоваться в определении таблицы более одного раза
(4) может использоваться только для столбцов с названием, содержащим подстроку "id"
(5) автоматически содержит в себе ограничение NOT NULL
Оператор изменения структуры таблицы
(1) -это оператор UPDATE
(2) позволяет добавить новый столбец в таблицу
(3) позволяет добавить новую строку в таблицу
(4) может содержать фразу DROP COLUMN
(5) может привести к потере данных

Функция COUNT:

(1) используется для подсчета в итоговом отношении (или каждой группе строк итогового отчета) числа значений выбранного столбца, отличных от NULL
(2) используется для вычисления среднеквадратического отклонения значений выбранного столбца во всей выборке или в каждой группе строк итогового отношения
(3) используется для вычисления среднего арифметического значений выбранного столбца во всей выборке или в каждой группе строк итогового отношения
(4) используется для вычисления математического ожидания значений выбранного столбца во всей выборке или в каждой группе строк итогового отношения
(5) не обрабатывает строки, для которых выражение или столбец, переданные в функцию в качестве аргумента, принимают неопределенные значения
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeExam_dateGroup_id
11Lincoln15NULLNULL10
12Li284.212.09.200310

Запрос имеет следующий вид:

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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3110010
12Li28NULLNULL20
13Alan244.7130020

Запрос имеет следующий вид:

SELECT MIN (Math_scope) AS report FROM Students

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
report
2.3
(2) сервер БД сгенерирует ошибку
(3)
report
0
(4)
report
NULL
(5)
report
no rows selected

Фраза GROUP BY:

(1) предшествует фразе WHERE
(2) используется для разбиения исходного отношения на группы
(3) является обязательной, если в запросе используются групповые функции
(4) является обязательной, если во фразе SELECT помимо групповой функции присутствует название какого-либо столбца или выражение
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Lincoln153.45.010
12NULL284.24.310

Запрос 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 (не принимая во внимания те столбцы, которые передаются в качестве аргументов в групповые функции)
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln154.9110010
12Li284.2120020
13Alan244.7130020
14Tom244.6160020

Запрос имеет следующий вид

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
Отношение Specialties состоит из следующих кортежей:files
Specialty_idSpecialty_titleSpecialty_rating
11.01.15Accounting9.8
12.03.14Engineering6.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)

Внешнее соединение:

(1) это соединение строк из нескольких отношений, при котором используется отличная от равенства операция сравнения
(2) возвращает все строки хотя бы одной таблицы, участвующей в соединении
(3) может быть только левым или правым
(4) обеспечивается применением операторов: LEFT (RIGHT, FULL) OUTER JOIN
Отношение Students имеет схему: files 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
Отношение Specialties имеет схему: files 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
Отношение Groups имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.310
12Alex284.25.010

Отношение Student_grade состоит из следующих кортежей:

Grade_idLowest_avg_scopeHighest_avg_scope
18.19
29.110

Запрос 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_nameGrade_id
Tom1
Alex2
(2)
Student_nameGrade_id
Alex2
(3)
Student_nameGrade_id
Tom1
Tom2
Alex1
Alex2
(4)
Student_nameGrade_id
(5) сервер сгенерирует ошибку
Отношение Students состоит из следующих кортежей: files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln122.3110010
12LiNULL4.2NULL20
13Alan154.7130020

Запрос 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)
namereport
Li2
(2)
namereport
Li1
(3) сервер БД сгенерирует ошибку
(4)
namereport
Li0
Подзапрос
(1) должен быть заключен в круглые скобки при использовании во внешнем запросе типа SELECT
(2) возвращает таблицу, которой всегда должен быть присвоен псевдоним
(3) может возвращать единственное значение
(4) не может возвращать несколько строк данных
(5) всегда выполняется прежде, чем внешний запрос
Отношение Specialties имеет схему:files 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)
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3NULL10
15LiNULL4.2110020
13Alan154.7130020

Запрос 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)
name1name2
LincolnLi
(2)
name1name2
LiLincoln
LiAlan
(3) сервер БД сгенерирует ошибку
(4)
name1name2
LincolnLi
AlanLi
(5)
name1name2
LiLincoln
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.310
12Alex284.25.010

Запрос 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 должен быть записан без кавычек
Отношение Students имеет схему:files 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
Отношение Specialties имеет схему: files 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"

Оператор ALL:

(1) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >= и т.д.)
(2) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом значений удовлетворяет условию, диктуемому простейшим оператором сравнения, стоящим перед ALL
(3) может применяться только для многострочных подзапросов
(4) гарантирует истинность условия, только если все значения, возвращаемые подзапросом, удовлетворяют условию, диктуемому простейшим оператором сравнения, стоящим перед ALL

Оператор EXCEPT:

(1) позволяет получить разность отношений
(2) может применяться только для отношений с одинаковой структурой
(3) используется для объединения двух отношений
(4) используется для организации подзапросов
(5) не существует
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tomas153.94.310
12Alex284.25.010

Отношение Specialties состоит из следующих кортежей:

Specialty_idSpecialty_titleSpecialty_rating
11.01.15Account9.8
12.03.14Sales6.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
Отношение Students имеет схему: files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom15NULL4.310
12Alex284.25.0NULL

Запрос имеет следующий вид:

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
Отношение Groups имеет схему:files 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”
Отношение Students имеет схему:files 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)

Оператор ROLLBACK

(1) начинает транзакцию
(2) завершает транзакцию
(3) отменяет изменения, внесенные транзакцией в БД
(4) отменяет последнюю выполненную над БД команду
(5) удаляет указанную таблицу из БД
Укажите, какие из перечисленных операторов являются корректными операторами сравнения:
(1) = NULL
(2) IS NULL (проверка неопределенных значений)
(3) BETWEEN VALUES (в интервале)
(4) INSIDE (в списке)
(5) LIKE
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom154.24.310
12Alex28NULL5.010

Запрос 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)
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeMis_daysGroup_id
11Tom154.58%10
12Alex284.21310

Запрос предназначен для получения отчета, содержащего информацию о студентах, количество пропусков занятий которых указано в процентах от общего числа занятий (значение в столбце Mis_days заканчивается знаком %). Столбец Mis_days имеет тип VARCHAR.

SELECT Student_name, Mis_days FROM Students WHERE __________________

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

(1) Mis_days LIKE ‘%ESCAPE%’
(2) Mis_days LIKE ‘ %”%” ’
(3) Mis_days LIKE ‘%!%’ ESCAPE ‘!’
(4) Mis_days LIKE “%?%” ESCAPE "?"
(5) Mis_days LIKE ‘%?%’ ESCAPE '?'
Положим условия: у1, у2, у3 являются истинными, а условия x1, x2, x3 – ложными.

Какие из перечисленных комплексных условий во фразе WHERE будут истинными:

(1) y1 and (x1 or y2)
(2) y2 and x2 or x1 or x3
(3) у1 and x1 or у2 and x2 or у3 and x3
(4) у1 and (x1 or у2) and (x2 or у3) or x3
Отношение Specialties состоит из следующих кортежей:files
Specialty_idSpecialty_titleSpecialty_rating
11.01.15Accounting9.8
12.03.14Engineering 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)
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln154.7100010
12Li284.2100020

Запрос имеет следующий вид:

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_nameNew sal
Lincoln1100
Li1200
(2) сервер БД сгенерирует ошибку
(3)
Student_nameNew sal
Lincoln1000
Li1000
(4)
Student_nameNew sal
LincolnNULL
LiNULL
Запрос 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
Оператор INSERT
(1) добавляет новую таблицу в БД
(2) добавляет новую запись в таблицу БД
(3) вставляет новое значение в существующую ячейку таблицы
(4) может содержать вложенный подзапрос на выборку данных
(5) может быть вложен в качестве подзапроса в другой запрос
Отношение Students имеет схему:files 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
Отношение Students имеет схему:files 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

При выполнении следующего запроса сервер БД генерирует ошибку.

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
Ограничение DEFAULT
(1) устанавливает для столбца значение по умолчанию
(2) автоматически содержит в себе ограничение NOT NULL
(3) не может затрагивать комбинацию из нескольких столбцов
(4) не может использоваться в паре ни с каким другим ограничением
(5) в списке ограничений столбца должно быть последним
Представление (VIEW)
(1) хранит данные, отобранные соответствующим подзапросом SELECT
(2) создается оператором CREATE TEMPORARY TABLE
(3) предназначено для хранения текста запроса на выборку данных
(4) может быть использовано в секции FROM запроса на выборку данных
(5) может представлять данные из нескольких таблиц

Групповые функции:

(1) возвращают отдельные значения для каждой обрабатываемой строки
(2) возвращают одно значение для каждой группы строк или всех строк, обрабатываемых по запросу
(3) не обрабатывают строки, для которых выражение или столбец, переданные в функцию в качестве аргумента, принимают неопределенные значения
(4) возвращают значение NULL, если переданное в качестве аргумента выражение или столбец, принимает для одной из строк, обрабатываемых функцией, неопределенное значение
Отношение Students имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3110010
12NULL28NULLNULL20
13Alberta244.7110020

Запрос имеет следующий вид:

SELECT COUNT(DISTINCT Salary) AS report FROM Students

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
report
2
(2) сервер БД сгенерирует ошибку
(3)
report
0
(4)
report
NULL
(5)
report
1
Выберите среди предложенных ниже вариантов те, которые отражают корректный порядок следования различных фраз в запросе на выборку данных
(1) WHERE HAVING GROUP BY
(2) WHERE GROUP BY HAVING
(3) WHERE GROUP BY ORDER BY
(4) GROUP BY WHERE ORDER BY
Отношение Students имеет схему:files 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
Отношение Students имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln15315.010
12Glint284.5NULL10
13Foltrig284.5NULL10

Запрос имеет следующий вид:

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

Эквисоединение:

(1) это соединение строк из нескольких отношений, обладающих одинаковой структурой (схемой)
(2) соединение строк из нескольких таблиц, основанное на совпадении всех пар значений в одноименных столбцах исходных отношений
(3) соединение строк из нескольких таблиц, основанное на совпадении значений в заданных столбцах исходных отношений
(4) может выполняться только на основе ключевых полей исходных отношений
(5) соединяет и добавляет в выборку строки, которые в соответствующих полях (по которым ведется соединение) исходных таблиц содержат значение NULL
Отношение Students имеет схему: files 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 обладают разными типами, неявное преобразование которых оказалось невозможным
Отношение 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
Отношение Student_grade имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.3NULL
12Alex284.25.010

Отношение Groups состоит из следующих кортежей:

Group_idGrade_levelSpecialty_idHead_stud_id
101120.01010
202120.01017

Запрос SQL имеет вид:

SELECT Student_name, Group_id FROM Students FULL OUTER JOIN Groups ON Students.Group_id = Groups.Group_id

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
Student_nameGrade_id
Alex10
NULL20
(2)
Student_nameGrade_id
Alex10
(3)
Student_nameGrade_id
TomNULL
Alex10
NULL20
(4) сервер сгенерирует ошибку
Отношение Students состоит из следующих кортежей: files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln164.1110010
15LiNULL4.2NULL20
13NULL154.7130020
16TomNULL4.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)
namescope
Li4.2
(2)
namescope
No rows selected
(3) сервер БД сгенерирует ошибку
(4)
namereport
Li4.2
Li4.0
Подзапрос
(1) может использовать только те таблицы, которые упомянуты в предложении FROM данного подзапроса
(2) всегда обращается к тем же таблицам, что и внешний запрос
(3) никогда не обращается к тем же таблицам, что и внешний запрос
(4) может содержать в предложении FROM таблицы, уже использующиеся во внешнем запросе
(5) может не содержать предложения FROM
Отношение Students имеет схему:files 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”
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3NULL10
15LiNULL4.2110020
13Alan154.7130020

Отношение Groups состоит из следующих кортежей:

Location_idCountry_nameCity_nameStreet
101120.01010
202120.01017

Запрос 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) ни одна строка не будет отобрана
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tom153.94.310
12Alex284.25.010

Запрос 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) подзапрос является многостолбцовым, хотя в данном случае он должен возвращать значение только одного столбца
Отношение Students имеет схему:files 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
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeSalaryGroup_id
11Lincoln152.3NULL10
15LiNULL4.2110020
13Alan154.7130020

Отношение Groups состоит из следующих кортежей:

Group_idGrade_levelSpecialty_idHead_stud_id
101120.01010
202120.01017

Запрос 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

Оператор ANY:

(1) может применяться только для многострочных подзапросов
(2) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >=, <=, <,>)
(3) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом значений удовлетворяет условию, диктуемому простейшим оператором сравнения, стоящим перед ANY
(4) гарантирует истинность условия, только если все значения, возвращаемые подзапросом, удовлетворяют условию, диктуемому простейшим оператором сравнения, стоящим перед ANY

Оператор ANY:

(1) может применяться только для многострочных подзапросов
(2) всегда применяется в сочетании с простейшим оператором сравнения (=, <>, >=, <=, <, >)
(3) гарантирует истинность условия, если хотя бы одно из возвращаемых подзапросом значений удовлетворяет условию, диктуемому простейшим оператором сравнения, стоящим перед ANY
(4) гарантирует истинность условия, только если все значения, возвращаемые подзапросом, удовлетворяют условию, диктуемому простейшим оператором сравнения, стоящим перед ANY
Отношение Students состоит из следующих кортежей:files
Student_idStudent_nameHead_stud_idMath_scopeLang_scopeGroup_id
11Tomas153.94.310
12Alex284.25.010

Отношение Specialties состоит из следующих кортежей

Specialty_idSpecialty_titleSpecialty_rating
11.01.15Accounting9.8
12.03.14Engineering6.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
Отношение Students имеет схему: files 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

Оператор SELECT -

(1) основной оператор языка SQL, предназначенный для организации запросов на выборку данных
(2) может содержать операторы DML (язык манипулирования данными) в качестве подзапросов
(3) может применяться в операторах DML (язык манипулирования данными) при организации подзапросов
(4) является оператором DDL (язык определения данных)
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom151100NULL1020.05.98
12Alex179000.52021.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 не допускается использование арифметических выражений
Отношение Worker имеет схему: files 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

Транзакция - это

(1) синоним любого SQL-оператора
(2) несколько SQL-операторов, выделенных в единый блок
(3) оператор языка DML (язык манипулирования данными)
(4) два оператора SQL, причем второй оператор использует результаты выполнения первого оператора
(5) некоторые действия, производимые с данными, представляющими денежные суммы
Укажите, какие из перечисленных утверждений являются истинными:

Оператор LIKE:

(1) может использоваться для сравнения строк в условии WHERE
(2) имеет смысл "неточного совпадения", то есть возвращает значение "ИСТИНА" если сравниваемые строки различаются не более, чем в одном символе
(3) используется для поиска строковых значений по шаблону с метасимволами "%" и "_"
(4) может применяться для поиска цифр в текстовых строках
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom151100NULL1020.05.98
12Sam158000.2
13Alex179000.52021.06.98
14Jack1715000.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) ни одна из строк не будет отобрана
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom15110034%1020.05.98
12Alex179000.22021.06.98

Запрос предназначен для получения отчета, содержащего информацию о сотрудниках, размер премии которых указан в процентах от оклада (значение в столбце Commission_pct заканчивается знаком %). Столбец Commission_pct имеет тип VARCHAR.

SELECT Worker_name, Salary, Commission_pct FROM Worker WHERE__________________

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

(1) Commission_pct LIKE AS ‘%!%’ ESCAPE ‘!’
(2) Commission_pct LIKE ‘%!%’ ESCAPE ‘!’
(3) Commission_pct LIKE ‘%?%’ ESCAPE ‘?’
(4) Commission_pct LIKE ‘ %”%” ’
(5) Commission_pct LIKE ‘%ESCAPE%’
Выберите из представленного списка все операторы, которые не могут применяться для сравнения числовых значений:
(1) IN
(2) <>
(3) BETWEEN AND
(4) =<
Отношение Branch имеет схему: files 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%’
Функция POSITION
(1) делает текущей заданную строку в заданной таблице
(2) возвращает номер позиции первого символа заданной подстроки в заданной строке
(3) заполняет указанным символом заданную позицию в строке
(4) возвращает номер текущей строки в заданной таблице
(5) возвращает разность между местным и всемирным временем (часовой пояс)
Функция UPPER
(1) переводит заданную строку в верхний регистр
(2) возвращает заданное число, округленное вверх до ближайшего целого
(3) возвращает год, следующий за текущей датой
(4) генерирует следующее натуральное число заданной последовательности
(5) задает верхнюю границу цикла
Для добавления новых записей в таблицу базы данных предназначен оператор
(1) ADD
(2) ALTER TABLE
(3) COMMIT
(4) INSERT
(5) SET
Отношение Worker имеет схему: files 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) список значений не соответствует по типам данных списку столбцов
Отношение Worker имеет схему: files 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
Оператор CREATE TABLE
(1) создает новую таблицу
(2) создает новую таблицу на основе некоторой другой существующей таблицы с ее последующим удалением
(3) создает представление - виртуальную таблицу
(4) определяет имя и столбцы новой таблицы
(5) позволяет изменить имя и столбцы существующей таблицы
DDL (язык определения данных) содержит операторы:
(1) CREATE VIEW
(2) DELETE TABLE
(3) UPDATE TABLE
(4) CREATE TABLE
(5) ALTER VIEW
Для значения "221b" подойдет тип данных
(1) CHAR
(2) FLOAT
(3) INTEGER
(4) TIMESTAMP
(5) VARCHAR
Какие из перечисленных функций не являются групповыми:
(1) SQRT
(2) AVG
(3) COUNT
(4) MIN
(5) SIN
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1710000.51020.05.98
12Alex17900NULL2021.06.98
13James19900NULL10NULL

Запрос имеет следующий вид:

SELECT COUNT (DISTINCT (Manager_id)) report FROM Worker

Выберите среди предложенных вариантов верный вариант итогового отчета, при условии, что столбец Manager_id имеет тип данных int:

(1)
report
NULL
(2) сервер БД сгенерирует ошибку
(3)
report
2
(4)
report
3
(5)
report
1
Выберите среди предложенных ниже вариантов те, которые отражают корректный порядок следования различных фраз в запросе на выборку данных
(1) WHERE GROUP BY ORDER BY
(2) HAVING GROUP BY
(3) ORDER BY GROUP BY HAVING
(4) GROUP BY HAVING ORDER BY
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1710000.52020.05.98
12Alex17900NULL2021.06.98
13JamesNULL900NULL10NULL

Запрос имеет следующий вид:

SELECT MIN(Salary) report FROM Worker WHERE Commission_pct >= 1 GROUP BY Branch_id

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1) строки не выбраны
(2)
report
1000
(3) сервер БД сгенерирует ошибку
(4)
report
1000
9000
Отношение Worker имеет схему: files 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

Не-эквисоединение:

(1) может применяться ТОЛЬКО в том случае, если в связываемых отношениях отсутствуют пары одинаковых по наименованиям и типам столбцов
(2) есть выборка строк (на основе заданных условий) из декартового произведения исходных отношений
(3) это объединение нескольких отношений, обладающих разной структурой (схемой)
(4) может выполняться только на основе ключевых полей исходных отношений
(5) соединение строк из нескольких таблиц, основанное на сравнении значений в заданных столбцах исходных отношений, где в качестве операции сравнения не используется "="
Отношение Worker имеет схему: files 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 не допускается использование псевдонимов
Отношение Worker имеет схему: files 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
Отношение Worker_grade имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1710000.5NULL20.05.98
12Alex17900NULL2021.06.98

Отношение Branch состоит из следующих кортежей:

Branch_idBranch_titleLocation_id
10Accounting11
20Research12

Запрос 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_nameBranch_id
Alex20
NULL10
(2)
Worker_nameBranch_id
NULL10
(3)
Worker_nameBranch_id
TomNULL
Alex20
NULL10
(4) сервер сгенерирует ошибку
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom151100NULL1020.05.98
15SamNULL8000.221.06.98
13Alex179000.52023.06.98
17JackNULL15000.523.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)
namescope
No rows selected
(2)
workermanager
TomSam
AlexJack
(3) сервер БД сгенерирует ошибку
(4)
workermanager
TomSam
(5)
workermanager
AlexJack
Какие операторы сравнения могут применяться в условии HAVING, если в качестве правого операнда используется многострочный подзапрос:
(1) <>
(2) IN
(3) <
(4) >=ANY
(5) = ANY
Отношение Worker имеет схему files 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”
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1710000.51020.05.98
12Alexander17900NULL2021.06.98

Отношение Branch состоит из следующих кортежей:

Branch_idBranch_titleLocation_id
10Accounting11
20Research12

Запрос 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) ни одна строка не будет отобрана
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1710000.51020.05.98
12Alexander17900NULL2021.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 главного запроса может быть только полное имя таблицы.
Отношение Worker имеет схему: files 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
Отношение Worker_grade имеет схему: files 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

Оператор (NOT) EXISTS:

(1) используется для организации подзапросов
(2) допускает в подзапросе использование названий столбцов (выражений с использованием названий столбцов), принадлежащих таблице(ам) главного запроса
(3) позволяет создавать только многострочные подзапросы
(4) позволяет создавать только однострочные подзапросы
Какие из перечисленных операторов могут использоваться для организации пересечения отношений:
(1) INTERSECTION
(2) INTERSECT
(3) EXCEPT
(4) EXCEPTION
(5) UNION
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Robert1710000.51020.05.98
12Alexander17900NULL2021.06.98

Отношение Worker1 состоит из следующих кортежей:

12Alexis171200NULL2029.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
Отношение Worker имеет схему: files 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

Ключевое слово DISTINCT, следующее за ключевым словом SELECT:

(1) указывает компилятору SQL на необходимость обязательного применения индексов участвующих в запросе столбцов
(2) вообще не может следовать за оператором SELECT
(3) используется для исключения из выборки строк-дубликатов
(4) предшествует названиям столбцов, по которым следует осуществить группировку
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1511000.51020.05.98
12Alex17900NULL2021.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) сервер БД сгенерирует ошибку
Отношение Branch состоит из следующих кортежей: files
Branch_idBranch_titleLocation_id
10Accounting11
20Research12
30Accounting12
40Research11

Запрос имеет следующий вид:

SELECT Branch_title, Location_id FROM Branch ORDER BY Branch_title DESC, Location_id DESC

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
Branch_titleLocation_id
Research11
Research12
Accounting11
Accounting12
(2)
Branch_titleLocation_id
Research12
Research11
Accounting12
Accounting11
(3)
Branch_titleLocation_id
Accounting11
Accounting12
Research11
Research12
(4) сервер БД сгенерирует ошибку
(5)
Branch_titleLocation_id
Accounting12
Accounting11
Research12
Research11

Если какой-то оператор транзакции не выполнился, то

(1) оставшиеся операторы пропускаются (не выполняются), генерируется ошибка
(2) оставшиеся операторы пропускаются (не выполняются); БД возвращается в состояние, предшествующее первому невыполненному оператору
(3) оставшиеся операторы пропускаются (не выполняются); БД возвращается в состояние, предшествующее первому оператору транзакции
(4) выполняются оставшиеся операторы
(5) выполняются оставшиеся операторы, после чего повторяется попытка запуска невыполненного оператора
Укажите, какие из перечисленных операторов не являются допустимыми операторами сравнения:
(1) >, < (больше, меньше)
(2) IN (в списке)
(3) BETWEEN AND (в интервале)
(4) NOT EQUALS (не равно)
(5) LIKE AS (поиск по шаблонам)
Отношение Branch состоит из следующих кортежей: files
Branch_idBranch_titleLocation_id
10Accounting11
20Research12
30Accounting12
40Banking11

Запрос предназначен для отображения всех номеров отделов, названия которых начинаются с символа "А"

SELECT Branch_id FROM Branch WHERE _____________________

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

(1) Branch_title = ‘A%’
(2) Branch_title BETWEEN ‘A’ AND ‘B’ AND Branch_title <’B’
(3) Branch_title LIKE ‘A%’
(4) Branch_title LIKE ‘A?%’
(5) Branch_title >= ‘A%’ AND < ‘B’
Отношение Worker имеет схему: files 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 LIKE AS ‘[A-C] %’
(2) Worker_name LIKE ‘[ABC]’
(3) Worker_name < 'C' OR Worker_name LIKE 'C%'
(4) Worker_name LIKE 'C%' OR Worker_name LIKE 'A%' OR Worker_name LIKE 'B%'
(5) Worker_name LIKE ‘[ABC] %’
Положим условия: у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))
Отношение Worker имеет схему: files 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)
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1510000.81020.05.98
12Alex17900NULL2021.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
Получить подстроку, начинающуюся с заданной позиции в заданной строке, можно с помощью функции
(1) IN
(2) POSITION
(3) SUBSTRING
(4) EXTRACT
(5) CONCAT
Оператор DELETE
(1) удаляет запись из таблицы БД
(2) удаляет таблицу из БД
(3) удаляет значение из некоторого столбца таблицы
(4) может содержать вложенный подзапрос на выборку данных
(5) может быть вложен в качестве подзапроса в другой запрос
Отношение Worker имеет схему: files 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
Отношение Worker имеет схему: files 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)
Определение столбца в операторе CREATE TABLE
(1) содержит только имя столбца
(2) содержит только имя и ограничение столбца
(3) содержит тип данных и имя столбца в таком же порядке
(4) содержит имя и тип столбца в таком же порядке
(5) обязательно содержит тип, имя и ограничение столбца
Ограничение FOREIGN KEY
(1) автоматически содержит в себе ограничение NOT NULL
(2) может ссылаться на любой столбец другой таблицы
(3) может ссылаться на столбец этой же таблицы
(4) может ссылаться более чем на один столбец
(5) обязательно содержит слово REFERENCES
Для значения "0,01" подойдет тип данных
(1) BOOLEAN
(2) FLOAT
(3) INTEGER
(4) NUMERIC
(5) SMALLINT
Какие из перечисленных функций являются групповыми:
(1) SQRT
(2) SUM
(3) COUNT
(4) MAX
(5) COS
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom151000$0.81020.05.98
12Alex17900$NULL2021.06.98
13Jack151500$0.220NULL

Запрос имеет следующий вид:

SELECT COUNT (Branch_id) AS report FROM Worker

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
report
NULL
(2) сервер БД сгенерирует ошибку
(3)
report
0
(4)
report
2
(5)
report
3

Фраза GROUP BY:

(1) не может включать групповые функции
(2) содержит синтаксическую ошибку
(3) не допускает использования псевдонимов столбцов
(4) предшествует фразе ORDER BY
(5) может предшествовать фразе WHERE
Отношение 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1516000.81020.05.98
12Alex17900NULL1021.06.98
13Peter1718000.620NULL
14Abel1718000.920NULL

Запрос имеет следующий вид

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
Отношение Worker имеет схему files 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

Декартово произведение:

(1) это операция реляционной алгебры, которая лежит в основе любого соединения
(2) это операция, обеспечивающая соединение строк из исходных отношений на основе совпадения значений в одноименных столбцах
(3) получается, если в запросе на выборку данных в секции FROM перечисляется несколько таблиц и при этом отсутствует условие WHERE
(4) обеспечивается применением оператора CROSS JOIN
Отношение Worker имеет схему: files 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, поэтому не может использоваться для соединения строк из указанных таблиц
Отношение Worker имеет схему: files 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 w LEFT OUTER JOIN Branch b ON w.Branch_id = Branch.Branch_id
(2) Worker w, Branch WHERE w.Branch_id = Branch.Branch_id
(3) Worker w JOIN Branch USING w.Branch_id = Branch.Branch_id
(4) Worker w RIGHT OUTER JOIN Branch b ON w.Branch_id = Branch.Branch_id
(5) Worker w FULL OUTER JOIN Branch ON w.Branch_id = Branch.Branch_id
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1510000.81020.05.98
12Alex17900NULL2021.06.98

Отношение Worker_grade состоит из следующих кортежей:

Grade_idLowest_salHighest_sal
1500900
29011500

Запрос SQL имеет вид:

SELECT Worker_name, Grade_id FROM Worker, Worker_grade WHERE Salary BETWEEN Lowest_sal AND Highest_sal AND Grade_id <> 2

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
Worker_nameGrade_id
Tom1
Tom2
Alex1
Alex2
(2)
Worker_nameGrade_id
Tom2
Alex1
(3)
Worker_nameGrade_id
Alex1
(4)
Worker_nameGrade_id
(5) запрос не будет выполнен, т.к. содержит ошибки
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
12Tom171000$0.81020.05.98
17AlexNULL900$NULL2021.06.98
16Sam171500$0.220NULL

Запрос 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)
namereport
Alex2
(2)
namereport
Alex0
(3)
namereport
Alex1
(4) сервер БД сгенерирует ошибку
Какие операторы сравнения могут применяться в условии WHERE, если в качестве правого операнда используется подзапрос (однострочный или многострочный):
(1) >
(2) =<
(3) >=
(4) IN LIST
(5) = NOT ALL
Отношение Worker имеет схему: files 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’ ”
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1516000.81020.05.98
15AlexNULL900NULL1021.06.98
13Peter1718000.620NULL
17AbelNULL19000.920NULL

Запрос 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)
name1name2
TomAlex
(2)
name1name2
TomAlex
PeterAbel
(3) нет отобранных строк
(4)
name1name2
AlexTom
AbelPeter
(5)
name1name2
AlexTom
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1510000.81020.05.98
12Alex17900NULL2021.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) подзапрос должен быть заключен в скобки
Отношение Worker имеет схему: files 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
Отношение Worker имеет схему: files 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
Выберите корректный фрагмент кода при условии, что столбцы 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 ...

Оператор EXCEPT:

(1) позволяет получить разность отношений
(2) используется для исключения из итоговой выборки строк, не удовлетворяющих заданным условиям
(3) является синонимом оператора NOT EXISTS
(4) является унарным оператором
(5) не существует
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom_Parker1511000.81020.05.98
12Alex_Stone179000.22021.06.98

Отношение Branch состоит из следующих кортежей:

Branch_idBranch_titleLocation_id
10Accounting11
20Research12

Запрос 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
Отношение Worker имеет схему: files 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

Оператор SELECT -

(1) основной оператор языка SQL, предназначенный для изменения данных, хранящихся в базе данных
(2) может встречаться в запросе только один раз
(3) может применяться в операторах DML (язык манипулирования данными) при организации подзапросов
(4) является оператором DСL (язык управления данными)
Отношение Branch состоит из следующих кортежей: files
Branch_idBranch_titleLocation_id
10Accounting11
20NULL12

Запрос 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_idBranch_titleLocation_id
10Accounting11
20NULL12
(2)
Branch_idBranch_titleLocation_id
20NULL12
10Accounting11
(3)
Branch_idBranch_titleLocation_id
10Accounting11
(4) сервер БД сгенерирует ошибку
Отношение Worker имеет схему: files 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 bonus, __________ FROM Worker

Выберите из предложенных вариантов тот, который при подстановке вместо знака подчеркивания обеспечивает корректное выполнение запроса и получение требуемого результата при условии, что столбцы 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)

Оператор COMMIT

(1) является оператором DML (язык манипулирования данными), предназначен для изменения значений столбов таблицы
(2) начинает транзакцию
(3) завершает транзакцию
(4) создает копию БД в указанном каталоге
(5) подтверждает изменения, внесенные транзакцией в БД
Выберите из представленного списка все операторы, которые не могут применяться для сравнения строковых значений:
(1) >, < (больше, меньше)
(2) <>(не равно)
(3) BETWEEN AND (в интервале)
(4) LIKE
(5) Все перечисленные операторы МОГУТ использоваться для сравнения строк
Отношение Worker имеет схему: files 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 пропущен левый операнд
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom_Jayson1511000.41020.05.98
12Alex_Tayler179000.22021.06.98

Запрос предназначен для получения отчета, содержащего информацию о сотрудниках, для которых помимо имени известна и фамилия (фамилия отделяется от имени символом "_" в столбце Worker_name).

SELECT Worker_name, Salary, Commission_pct FROM Worker WHERE __________________

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

(1) Worker_name LIKE ‘%!_%’ ESCAPE ‘!’
(2) Worker_name LIKE “%!_%” ESCAPE ‘!’
(3) Worker_name LIKE ‘%?_’ ESCAPE ‘?’
(4) Worker_name LIKE ‘%?_%’ ESCAPE '?'
(5) Worker_name LIKE ‘%[_]’
Выберите из предложенного списка варианты с правильной расстановкой приоритетов (очередности выполнения) различных групп операторов:
(1) Логические операторы (AND, OR) Операторы сравнения (<, >, = …) Оператор конкатенации
(2) Оператор конкатенации Операторы сравнения (<, >, = …) Логические операторы (AND, OR)
(3) Арифметические операторы Операторы сравнения (<, >, = …) Оператор конкатенации
(4) Оператор конкатенации Логические операторы (AND, OR) Операторы сравнения (<, >, = …)
(5) ничего из перечисленного
Отношение Worker имеет схему: files 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
Отношение Worker имеет схему: files 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) SUBSTRING
(2) EXTRACT
(3) NULLIF
(4) TRIM
(5) DELBL
Для изменения значений столбцов таблицы служит оператор
(1) ALTER TABLE
(2) COMMIT
(3) SET
(4) UPDATE
(5) UPGRADE
Отношение Worker имеет схему: files 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 следует использовать знак "="
Отношение Worker имеет схему: files 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
В операторе CREATE TABLE
(1) определения столбцов пишутся каждое на отдельной строке, никакими другими символами-разделителями не отделяются
(2) определения столбцов разделяются запятыми
(3) элементы определения одного столбца пишутся каждое на отдельной строке, никакими другими символами-разделителями не отделяются
(4) элементы определения одного столбца разделяются пробелом
(5) элементы определения одного столбца разделяются запятыми
Фраза ON DELETE CASCADE
(1) может использоваться в определении первичного ключа
(2) означает, что при удалении значения первичного ключа будут удалены строки, содержащие данное значение во внешнем ключе
(3) означает, что при удалении значения внешнего ключа будут удалены строки, содержащие данное значение в первичном ключе
(4) может дополняться фразой ON INSERT CASCADE
(5) альтернативна фразе ON DELETE SET NULL
Для значения "1 сентября 2000г 8:00" подойдет тип данных
(1) DATE
(2) FLOAT
(3) INTEGER
(4) TIME
(5) TIMESTAMP

Групповые функции:

(1) могут использоваться только во фразе SELECT
(2) не могут использоваться в условии WHERE (если не идет речь о подзапросе)
(3) при вычислении не учитывают неопределенные значения
(4) возвращают значение NULL, если в качестве аргумента встречается неопределенное значение
(5) могут использоваться во фразе ORDER BY
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom151000$0.81020.05.98
12Alex17900$NULL2021.06.98
13Jack151500$0.420NULL

Запрос имеет следующий вид:

SELECT AVG(Commission_pct) AS report FROM Worker

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
report
0.6
(2) сервер БД сгенерирует ошибку
(3)
report
0.4
(4)
report
NULL
(5)
report
0
Какие из перечисленных вариантов кода являются допустимыми
(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
Отношение Worker имеет схему: files 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)
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom_Jayson155000.41020.05.98
12Alex_Tayler171100NULL2021.06.98
13Alex_Garnet171100NULL1021.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) не-эквисоединение
(2) декартово произведение
(3) внешнее соединение
(4) проекция
(5) объединение
Отношение Worker имеет схему: files 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 присутствует в обеих таблицах, по которым образуется соединение
Отношение Worker имеет схему: files 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
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom1710000.5NULL20.05.98
12Alex17900NULL2021.06.98

Отношение Branch состоит из следующих кортежей:

Branch_idBranch_titleLocation_id
10Accounting11
20Research12

Запрос SQL имеет вид:

SELECT Worker_name, Branch_id FROM Worker FULL OUTER JOIN Branch ON Worker.Branch_id = Branch.Branch_id

Выберите среди предложенных вариантов верный вариант итогового отчета:

(1)
Worker_nameBranch_id
TomNULL
Alex20
NULL10
(2)
Worker_nameBranch_id
Alex20
NULL10
(3) сервер БД сгенерирует ошибку
(4)
Worker_nameBranch_id
Alex20
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom155000.41020.05.98
12Alex151200NULL2021.06.98
15James171100NULL2021.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
В каких фразах предложения SELECT не могут присутствовать подзапросы
(1) ORDER BY
(2) HAVING
(3) GROUP BY
(4) FROM
Отношение Worker имеет схему: files 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)
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom155000.41020.05.98
12Alex15120002021.06.98
15James17110002021.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) сервер БД сгенерирует ошибку
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom155000.41020.05.98
12Alex151200NULL2021.06.98
15James171100NULL2021.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) подзапрос возвращает несколько строк, тогда как оператор сравнения > может применяться только для однострочных подзапросов
Отношение Worker имеет схему: files 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
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Tom155000.41020.05.98
12Alex151200NULL2021.06.98
15James171100NULL2021.06.98

Отношение Branch состоит из следующих кортежей:

Branch_idBranch_titleLocation_id
10Accounting11
20Research12

Запрос 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) ... 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) ...

Оператор INTERSECTION:

(1) позволяет получить пересечение отношений
(2) не существует
(3) может применяться только для отношений с одинаковой структурой
(4) является бинарным
(5) используется для соединения строк из нескольких таблиц
Отношение Worker состоит из следующих кортежей: files
Worker_idWorker_nameManager_idSalaryCommission_pctBranch_idHire_date
11Robert1710000.51020.05.98
12Alexis17900NULL2021.06.98

Отношение Worker1 состоит из следующих кортежей:

12Alexis171200NULL2029.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) сервер БД сгенерирует ошибку
Отношение Worker имеет схему: files 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