игра брюс 2048
Главная / Базы данных / Введение в Oracle SQL / Тест 6

Введение в Oracle SQL - тест 6

Упражнение 1:
Номер 1
Дана таблица WORK, в которой содержится информация о сотрудниках компании:
 
WORKNOНомер сотрудника
WNAMEФамилия
MGRНомер начальника
Необходимо вычислить общее количество начальников, без вывода информации о них, с учетом того, что у начальника может быть несколько подчиненных, и некоторые сотрудники не имеют начальника. Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT COUNT(*) FROM work WHERE mgr IS NOT NULL; 

 (2) SELECT COUNT(DISTINCT mgr) FROM work WHERE mgr IS NOT NULL; 

 (3) SELECT COUNT(DISTINCT *) FROM work; 

 (4) SELECT COUNT(mgr) FROM work; 


Номер 2
Запрос SQL:1 SELECT * 
2 FROM students s, classes c 
3 WHERE s.id = c.student_id 
4 AND c.category IN 
5 (SELECT type FROM courses WHERE level > 3) 
6 ORDER BY s.last_name, c.number;
Для изменения порядка следования столбцов в итоговой выборке, в запросе должна быть изменена строка ...

Ответ:

 (1) 2 

 (2) 3 

 (3) 4 

 (4) 5 

 (5) 6 


Номер 3
Необходимо вычислить разницу между самой низкой и самой высокой зарплатами сотрудников (столбец SALARY таблицы EMP). Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT MAX(salary) + MIN(salary) FROM emp; 

 (2) SELECT BETWEEN MAX(salary) AND MIN(salary) FROM emp; 

 (3) SELECT MAX(salary) - MIN(salary) FROM emp; 

 (4) SELECT MAX(salary) / MIN(salary) FROM emp; 


Упражнение 2:
Номер 1
Запрос SQL:SELECT COUNT(title) 
FROM books 
WHERE genre = 'Horror' AND title IS NULL;
Данный запрос является некорректным способом вычисления количества строк таблицы "books», в которых пропущены наименования книг указанного жанра, по причине того, что ...

Ответ:

 (1) функция COUNT(title) не принимает во внимание строки, в которых значение столбца "title» пусто 

 (2) правильным синтаксисом последней строки запроса является запись: HAVING title IS NULL 

 (3) правильным синтаксисом последней строки запроса является запись: HAVING NULL title 

 (4) данный запрос никогда не возвратит значение > 1, т.к. функция COUNT(title) учитывает только уникальные значения 

 (5) все условия в предложении WHERE необходимо отменить, иначе все наименования жанра 'Horror' (пустые и непустые) будут учитываться функцией COUNT 


Номер 2
Дана таблица:
 
EMP
ENAMESALDEPTNO
Blake275030
King500010
Clark245010
Martin125030
Запрос SQL:SELECT NVL(MAX(sal),0) FROM emp WHERE ename = 'Blake' AND deptno = 10; Результат выполнения запроса:

Ответ:

 (1) 0 

 (2) 5000 

 (3) 2750 

 (4) ошибка 


Номер 3
Запрос SQL:SELECT COUNT(title) 
FROM books 
WHERE genre = 'Horror';
Верное описание результата действия запроса: возвращение ...

Ответ:

 (1) уникальных наименований книг жанра "Horror" с учетом пустых значений 

 (2) уникальных наименований книг жанра "Horror" без учета пустых значений 

 (3) наименований книг жанра "Horror" 

 (4) количества наименований книг жанра "Horror" 


Упражнение 3:
Номер 1
Даны таблицы: 
 
ANIMALS
FAMILYNAME
mammaldog
mammallion
fishguppy
birdeagle
fishguppy
birdpelican
fishNULL
BLOOD_TYPES
FAMILYBLOOD_TYPE
mammalwarm_blooded
fishcold_blooded
birdcold_blooded
Запрос SQL:SELECT COUNT(DISTINCT name) FROM animals WHERE family = ANY (SELECT family FROM blood_types WHERE blood_type NOT LIKE ('warm%')); Количество строк, возвращенных запросом, = ...

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 


Номер 2
Даны таблицы: 
 
ANIMALS
FAMILYNAME
mammaldog
mammallion
fishguppy
birdeagle
fishguppy
birdpelican
fishNULL
BLOOD_TYPES
FAMILYBLOOD_TYPE
mammalwarm_blooded
fishcold_blooded
birdcold_blooded
Запрос SQL:SELECT COUNT(DISTINCT name) FROM animals WHERE family = ANY (SELECT family FROM blood_types WHERE blood_type LIKE ('warm%')); Значение, возвращенное запросом, = ...

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 


Номер 3
Даны таблицы: 
 
ANIMALS
FAMILYNAME
mammaldog
mammallion
fishguppy
birdeagle
fishguppy
birdpelican
fishNULL
BLOOD_TYPES
FAMILYBLOOD_TYPE
mammalwarm_blooded
fishcold_blooded
birdcold_blooded
Запрос SQL:SELECT COUNT(name) FROM animals WHERE family <> ALL (SELECT family FROM blood_types WHERE blood_type LIKE ('warm%')); Значение, возвращенное запросом, = ...

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 


Упражнение 4:
Номер 1
Дана таблица: 
 
COMBOS
IDABC
1catNULLdog
2liondogNULL
3NULLbirdferret
4lynxantbat
5flybeebeetle
6fishfishcricket
Запрос SQL:SELECT MAX(a), MIN(b), MAX(C) FROM COMBOS; Результат выполнения запроса:

Ответ:

 (1) lynx NULL ferret 

 (2) lynx fish ferret 

 (3) lynx ant ferret 

 (4) сообщение об ошибке 

 (5) lynx bee lion 


Номер 2
Дана таблица: 
 
COMBOS
IDABC
1catNULLdog
2liondogNULL
3NULLbirdferret
4lynxantbat
5flybeebeetle
6fishfishcricket
Запрос SQL:SELECT MAX(a), COUNT(b), MIN(C) FROM COMBOS; Результат выполнения запроса:

Ответ:

 (1) lynx NULL ferret 

 (2) lynx 5 bat 

 (3) lynx 0 ferret 

 (4) сообщение об ошибке 

 (5) lynx bee lion 


Номер 3
Дана таблица: 
 
COMBOS
IDABC
1catNULLdog
2liondogNULL
3NULLbirdferret
4lynxantbat
5flybeebeetle
6fishfishcricket
Запрос SQL:SELECT MAX(a), VARIANCE(b), MIN(C) FROM COMBOS; Результат выполнения запроса:

Ответ:

 (1) lynx NULL ferret 

 (2) lynx 5 bat 

 (3) lynx 0 ferret 

 (4) сообщение об ошибке 

 (5) lynx bee lion 


Упражнение 5:
Номер 1
Таблица MATH_101 содержит информацию об успеваемости студентов группы:
 
MATH_101
LAST_NAMEHIGH_GRADELOW_GRADE
Masters9892
Bludget9074
Banderos9165
Kosmel8581
Trimple9064
Anderson9379
Запрос SQL: SELECT last_name, high_grade, RANK() OVER (ORDER BY high_grade DESC) AS "Analytic function" FROM math_101;Результат выполнения команды - ...

Ответ:

 (1) получение оценки взаимозависимости в столбцах LOW_GRADE и HIGH_GRADE  

 (2) вывод разницы между наивысшими баллами студента и его предшественника в алфавитном списке 

 (3) вывод рейтингового номера студента в зависимости от его успеваемости 

 (4) вычисление процента успеваемости студента 


Номер 2
Таблица MATH_101 содержит информацию об успеваемости студентов группы: 
 
MATH_101
LAST_NAMEHIGH_GRADELOW_GRADE
Masters9892
Bludget9074
Banderos9165
Kosmel8581
Trimple9064
Anderson9379
Запрос SQL: SELECT REGR_AVGX(high_grade, low_grade) AS "Analytic function", REGR_AVGY(high_grade, low_grade) AS "Analytic function", REGR_SLOPE(high_grade, low_grade) AS "Analytic function" FROM math_101;Результат выполнения команды - ...

Ответ:

 (1) получение оценки взаимозависимости в столбцах LOW_GRADE и HIGH_GRADE  

 (2) вывод разницы между наивысшими баллами студента и его предшественника в алфавитном списке 

 (3) вывод рейтингового номера студента в зависимости от его успеваемости 

 (4) вычисление процента успеваемости студента 


Номер 3
Таблица MATH_101 содержит информацию об успеваемости студентов группы: 
 
MATH_101
LAST_NAMEHIGH_GRADELOW_GRADE
Masters9892
Bludget9074
Banderos9165
Kosmel8581
Trimple9064
Anderson9379
Запрос SQL:SELECT last_name, high_grade, high_grade-lag(high_grade,1) OVER (ORDER BY last_name) AS "Analytic function" FROM math_101; Результат выполнения команды - ...

Ответ:

 (1) получение оценки взаимозависимости в столбцах LOW_GRADE и HIGH_GRADE  

 (2) вывод разницы между наивысшими баллами студента и его предшественника в алфавитном списке 

 (3) вывод рейтингового номера студента в зависимости от его успеваемости 

 (4) вычисление процента успеваемости студента 


Упражнение 6:
Номер 1
Дана таблица: 
 
VTABLE
ABC
451
526
194
21220
8104
1209
Необходимо установить номер строки в порядке возрастания значения в столбце "a". Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT a, b, c, RATIO_TO_REPORT (b) OVER () AS "Analytic function" FROM vtable; 

 (2) SELECT a, b, c, b - LAG(b,1) OVER (ORDER BY b) AS "Analytic function" FROM vtable; 

 (3) SELECT a, b, c, ROW_NUMBER () OVER (ORDER BY a) AS "Analytic function" FROM vtable; 

 (4) SELECT a, b, c, SUM(c) OVER (ORDER BY с RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT_ROW) AS "Analytic function" FROM vtable; 


Номер 2
Дана таблица: 
 
VTABLE
ABC
451
526
194
21220
8104
1209
Необходимо вычислить сумму значений в столбце "с" нарастающим итогом. Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT a, b, c, RATIO_TO_REPORT (B) OVER () AS "Analytic function" FROM vtable; 

 (2) SELECT a, b, c, b - LAG(b,1) OVER (ORDER BY b) AS "Analytic function" FROM vtable; 

 (3) SELECT a, b, c, ROW_NUMBER () OVER (ORDER BY a) AS "Analytic function" FROM vtable; 

 (4) SELECT a, b, c, SUM(c) OVER (ORDER BY с RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT_ROW) AS "Analytic function" FROM vtable; 


Номер 3
Дана таблица: 
 
VTABLE
ABC
451
526
194
21220
8104
1209
Необходимо вычислить долю значения в столбце "b" в общей сумме значений столбца. Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT a, b, c, RATIO_TO_REPORT (B) OVER () AS "Analytic function" FROM vtable; 

 (2) SELECT a, b, c, b - LAG(b,1) OVER (ORDER BY b) AS "Analytic function" FROM vtable; 

 (3) SELECT a, b, c, ROW_NUMBER () OVER (ORDER BY a) AS "Analytic function" FROM vtable; 

 (4) SELECT a, b, c, SUM(c) OVER (ORDER BY с RANGE BETWEEN UNBOUNDED PRECEDING AND CURRENT_ROW) AS "Analytic function" FROM vtable; 


Упражнение 7:
Номер 1
Групповые функции, работающие со всеми типами данных:

Ответ:

 (1) SUM 

 (2) MAX 

 (3) MIN 

 (4) AVG 

 (5) COUNT 

 (6) VARIANCE 


Номер 2
Групповые функции, работающие только с числовыми типами данных:

Ответ:

 (1) SUM 

 (2) MAX 

 (3) MIN 

 (4) AVG 

 (5) COUNT 

 (6) VARIANCE 


Номер 3
Групповые функции, которые, при добавлении аргумента (*), учитывают пустые значения при вычислении результата:

Ответ:

 (1) SUM 

 (2) MAX 

 (3) MIN 

 (4) AVG 

 (5) COUNT 

 (6) VARIANCE 


Упражнение 8:
Номер 1
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
 
IDНомер сотрудникаPRIMARY KEY
LAST_NAMEФамилияNOT NULL
TITLEДолжностьNOT NULL
MANAGER_IDНомер начальника
SALARYЗарплатаNOT NULL
START_DATEДата начала работыNOT NULL
Необходимо получить информацию о сотруднике, который принят на работу позже остальных. Запрос, который выполняет поставленную задачу:

Ответ:

 (1) SELECT * FROM s_emp WHERE start_date = MIN(start_date); 

 (2) SELECT * FROM s_emp WHERE start_date = MAX(start_date); 

 (3) SELECT * FROM s_emp WHERE start_date = (SELECT MIN(start_date) FROM S_EMP); 

 (4) SELECT * FROM s_emp WHERE start_date = (SELECT MAX(start_date) FROM S_EMP); 


Номер 2
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
 
IDНомер сотрудникаPRIMARY KEY
LAST_NAMEФамилияNOT NULL
TITLEДолжностьNOT NULL
MANAGER_IDНомер начальника
SALARYЗарплатаNOT NULL
START_DATEДата начала работыNOT NULL
Необходимо получить информацию о сотруднике, который получает наименьшую зарплату. Запрос, который выполняет поставленную задачу:

Ответ:

 (1) SELECT * FROM s_emp WHERE salary = MIN(salary); 

 (2) SELECT * FROM s_emp WHERE <= ALL(salary); 

 (3) SELECT * FROM s_emp WHERE salary = (SELECT MIN(salary) FROM S_EMP); 

 (4) SELECT * FROM s_emp WHERE <= SOME(salary); 


Номер 3
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
 
IDНомер сотрудникаPRIMARY KEY
LAST_NAMEФамилияNOT NULL
TITLEДолжностьNOT NULL
MANAGER_IDНомер начальника
SALARYЗарплатаNOT NULL
START_DATEДата начала работыNOT NULL
Необходимо вычислить количество месяцев между самой ранней и самой поздней датами приема на работу сотрудников. Запрос, который выполняет поставленную задачу:

Ответ:

 (1) SELECT MONTHS_BETWEEN(MAX(start_date), MIN(start_date)) FROM s_emp; 

 (2) SELECT MONTH_BETWEEN(MAX(start_date), MIN(start_date)) FROM s_emp; 

 (3) SELECT * FROM s_emp WHERE start_date BETWEEN MAX(start_date) AND MIN(start_date); 

 (4) SELECT * FROM s_emp WHERE MONTHS_BETWEEN(MAX(start_date), MIN(start_date)); 


Упражнение 9:
Номер 1
Назначение ключевого слова DISTINCT в списке выборки:

Ответ:

 (1) определение повторяющихся строк в таблице 

 (2) определение столбца, в котором все значения уникальны 

 (3) исключение повторяющихся столбцов в таблице 

 (4) исключение повторяющихся строк в результате выборки 


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

Ответ:

 (1) размещение столбца уникального ключа первым в списке SELECT  

 (2) размещение ключевого слова DISTINCT после ключевого слова SELECT 

 (3) размещение ключевого слова UNIQUE после ключевого слова SELECT 

 (4) задание в предложении WHERE определенного значения для ключевого столбца 

 (5) добавление функции COUNT(1) в предложение WHERE 


Номер 3
Эквивалент ключевого слова DISTINCT в качестве опции исключения повторяющихся значений для групповой функции:

Ответ:

 (1) UNIQUE 

 (2) ALL 

 (3) ANY 

 (4) SOME 

 (5) * 


Упражнение 10:
Номер 1
Дана таблица: 
 
VTABLE
COLUMN NAMENULL/NOT NULLDATATYPE
anullchar(5)
bnot nullnumber(5)
cnot nullchar(20)
Запрос SQL: SELECT DISTINCT a FROM vtable;В столбце "а» таблицы "vtable» содержатся 2 значения 'Blue', 1 значение 'Red', 4 значения 'White' и 3 пустых значения. Количество строк, возвращенных запросом, = ...

Ответ:

 (1) 3 

 (2) 4 

 (3) 7 

 (4) 8 

 (5) 10 


Номер 2
Дана таблица: 
 
VTABLE
COLUMN NAMENULL/NOT NULLDATATYPE
anullchar(5)
bnot nullnumber(5)
cnot nullchar(20)
Необходимо вычислить среднее арифметическое среди уникальных значений столбцa "b» таблицы "vtable». Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT AVG(b) FROM vtable; 

 (2) SELECT DISTINCT AVG(b) FROM vtable; 

 (3) SELECT UNIQUE AVG(b) FROM vtable; 

 (4) SELECT AVG(DISTINCT b) FROM vtable; 

 (5) SELECT AVG(UNIQUE b) FROM vtable; 


Номер 3
Дана таблица: 
 
VTABLE
COLUMN NAMENULL/NOT NULLDATATYPE
anullchar(5)
bnot nullnumber(5)
cnot nullchar(20)
Необходимо вычислить среднее арифметическое среди уникальных значений столбцa "с» таблицы "vtable». Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT AVG(c) FROM vtable; 

 (2) SELECT DISTINCT AVG(c) FROM vtable; 

 (3) SELECT UNIQUE AVG(c) FROM vtable; 

 (4) SELECT AVG(DISTINCT c) FROM vtable; 

 (5) SELECT AVG(UNIQUE c) FROM vtable; 


Упражнение 11:
Номер 1
Дана таблица EMP, в которой содержится информация о сотрудниках компании:
 
IDНомер сотрудникаPRIMARY KEY
LAST_NAMEФамилияNOT NULL
TITLEДолжностьNOT NULL
DEPT_IDНомер отделаNOT NULL
SALARYЗарплатаNOT NULL
START_DATEДата начала работыNOT NULL
Необходимо получить выборку с указанием должности и количества сотрудников, работающих в этой должности в каждом из отделов № 11, 21, 31, 41. Структура требуемой выборки: (TITLE, 11, 21, 31, 41). Поставленную задачу выполнит запрос:

Ответ:

 (1) SELECT * FROM (SELECT title, dept_id FROM emp) PIVOT (COUNT(*) FOR dept_id IN (11, 21, 31, 41)); 

 (2) SELECT * FROM (SELECT title, dept_id FROM emp) UNPIVOT (COUNT(*) FOR dept_id IN (11, 21, 31, 41)); 

 (3) SELECT * FROM (SELECT title, dept_id FROM emp) CURSOR (COUNT(*) FOR dept_id IN (11, 21, 31, 41)); 

 (4) SELECT * FROM (SELECT title, dept_id FROM emp) CASE (COUNT(*) FOR dept_id IN (11, 21, 31, 41)); 


Номер 2
Опция PIVOT команды SELECT выполняет ...

Ответ:

 (1) сворачивание данных нескольких столбцов в выборке в один столбец 

 (2) разворачивание данных одного столбца в выборке в несколько столбцов 

 (3) указание ссылки на курсор SQL в команде SELECT 

 (4) задание критерия для построения иерархической выборки командой SELECT 


Номер 3
Запрос SQL: SELECT * 
FROM (SELECT title, dept_id FROM emp)
PIVOT (COUNT(*) FOR dept_id IN (11, 21, 31, 41));Результаты, эквивалентные выборке данного запроса, возвращают команды:

Ответ:

 (1) SELECT title, COUNT (CASE WHEN dept_id = 11 THEN 1 END) "11", COUNT (CASE WHEN dept_id = 21 THEN 1 END) "21", COUNT (CASE WHEN dept_id = 31 THEN 1 END) "31", COUNT (CASE WHEN dept_id = 41 THEN 1 END) "41" FROM (SELECT title, dept_id FROM emp) GROUP BY title; 

 (2) SELECT title, COUNT (IF dept_id = 11 THEN 1 END) "11", COUNT (IF dept_id = 21 THEN 1 END) "21", COUNT (IF dept_id = 31 THEN 1 END) "31", COUNT (IF dept_id = 41 THEN 1 END) "41" FROM (SELECT title, dept_id FROM emp) GROUP BY title; 

 (3) SELECT title, COUNT (FOR dept_id = 11 THEN 1 END) "11", COUNT (FOR dept_id = 21 THEN 1 END) "21", COUNT (FOR dept_id = 31 THEN 1 END) "31", COUNT (FOR dept_id = 41 THEN 1 END) "41" FROM (SELECT title, dept_id FROM emp) GROUP BY title; 

 (4) SELECT title, COUNT (DECODE(dept_id, 11, 1, 0)) "11", COUNT (DECODE(dept_id, 21, 1, 0)) "21", COUNT (DECODE(dept_id, 31, 1, 0)) "31", COUNT (DECODE(dept_id, 41, 1, 0)) "41" FROM (SELECT title, dept_id FROM emp) GROUP BY title; 


Упражнение 12:
Номер 1
Предложения SQL, в которых допустимо использование аналитических функций:

Ответ:

 (1) SELECT 

 (2) FROM 

 (3) WHERE 

 (4) HAVING 

 (5) GROUP BY 

 (6) ORDER BY 


Номер 2
Аналитическими функциями Oracle 11g являются:

Ответ:

 (1) ROWNUM 

 (2) ROW_NUMBER 

 (3) ROWID 

 (4) DENSE_RANK 

 (5) LAG 


Номер 3
Статистические аналитические функции Oracle возможно использовать для ...

Ответ:

 (1) расчета доли зарплаты сотрудника в общей сумме зарплат всех сотрудников 

 (2) вычисления итоговых сумм нарастающим итогом 

 (3) оценки взаимозависимости значений в столбцах 

 (4) выполнения сравнений с использованием объектных данных 

 (5) вычисления аггрегированных значений для символьных строк 




Главная / Базы данных / Введение в Oracle SQL / Тест 6