Главная / Базы данных /
Введение в Oracle SQL / Тест 4
Введение в Oracle SQL - тест 4
Упражнение 1:
Номер 1
Запрос SQL SELECT SYSDATE FROM DUAL; возвращает ...
Ответ:
 (1) уникальный идентификатор пользователя базы данных, открывшего сеанс работы с сервером Oracle 
 (2) уникальное имя пользователя базы данных, открывшего сеанс работы с сервером Oracle 
 (3) дату и время суток, установленные на сервере Oracle 
 (4) дату и время суток, установленные на рабочей станции пользователя 
Номер 2
Запрос SQL SELECT USER FROM DUAL; возвращает ...
Ответ:
 (1) уникальный идентификатор пользователя базы данных, открывшего сеанс работы с сервером Oracle 
 (2) уникальное имя пользователя базы данных, открывшего сеанс работы с сервером Oracle 
 (3) дату и время суток, установленные на сервере Oracle 
 (4) дату и время суток, установленные на рабочей станции пользователя 
Номер 3
Запрос SQL SELECT UID FROM DUAL; возвращает ...
Ответ:
 (1) уникальный идентификатор пользователя базы данных, открывшего сеанс работы с сервером Oracle 
 (2) уникальное имя пользователя базы данных, открывшего сеанс работы с сервером Oracle 
 (3) дату и время суток, установленные на сервере Oracle 
 (4) дату и время суток, установленные на рабочей станции пользователя 
Упражнение 2:
Номер 1
Запрос SQL: SELECT ' " '||SUBSTR('happybirthday', 4, 6)||' " '
FROM dual; возвращает ...
Ответ:
 (1) "ybirth" 
 (2) "hday" 
 (3) "happyb" 
 (4) "pybirt" 
 (5) ошибку 
Номер 2
Запрос SQL SELECT TO_CHAR(ADD_MONTHS(LAST_DAY(TO_DATE('08-NOV-1999','DD-MON-YYYY')),3),'DD-MONTH-YYYY')
FROM dual; возвращает ...
Ответ:
 (1) 01-MARCH-2000 
 (2) 29-FEBRUARY-2000 
 (3) 30-FEBRUARY-2000 
 (4) 08-FEBRUARY-2000 
 (5) ошибку 
Номер 3
В базе данных компании информация о зарплате сотрудников содержится в столбце SAL таблицы EMP. Предполагается увеличить зарплату сотрудников на 10% и выплатить комиссию в размере 20% от новой увеличенной зарплаты. Необходимо подготовить отчет, в котором будут отражены увеличенная зарплата сотрудников, комиссия и общий размер всех выплат. Поставленную задачу выполняют запросы:
Ответ:
 (1) SELECT sal*1.1 "Зарплата", sal*1.1*0.2 "Комиссия",
sal*1.1 + sal*1.1*0.2 "Всего выплат"
FROM emp; 
 (2) SELECT sal*1.1 "Зарплата", sal*1.1*0.2 "Комиссия",
sal*1.1 + sal*0.2 "Всего выплат"
FROM emp; 
 (3) SELECT sal*1.1 "Зарплата", sal*0.2 "Комиссия",
sal*1.1 + sal*1.1*0.2 "Всего выплат"
FROM emp; 
Упражнение 3:
Номер 1
Выражения, возвращающие дату:
Ответ:
 (1) '09-DEC-11'+6
 
 (2) 8/24+'09-DEC-1999'
 
 (3) '09-DEC-11'-'09-FEB-10'
 
 (4) ('09-DEC-11'-'09-FEB-10')/6
 
 (5) SYSDATE + 3
 
 (6) SYSDATE-'09-FEB-10'
 
Номер 2
Выражения, возвращающие число:
Ответ:
 (1) '09-DEC-11'+6
 
 (2) 8/24+'09-DEC-1999'
 
 (3) '09-DEC-11'-'09-FEB-10'
 
 (4) ('09-DEC-11'-'09-FEB-10')/6
 
 (5) SYSDATE + 3
 
Номер 3
Символьные функции, возвращающае числовое значение:
Ответ:
 (1) RPAD
 
 (2) SUBSTR
 
 (3) LENGTH
 
 (4) INITCAP
 
 (5) LTRIM
 
 (6) LOWER
 
Упражнение 4:
Номер 1
Даны функции: SUM, AVG, COUNT, MIN, MAX
. Необходимо удалить все групповые функции из некоторого предложения SQL. Полный перечень функций из числа вышеуказанных, удаление которых выполнит поставленную задачу, приведен в следующем варианте:
Ответ:
 (1) SUM, AVG, COUNT, MAX, MIN
 
 (2) SUM
 
 (3) SUM, AVG
 
 (4) AVG
 
 (5) SUM, MAX, MIN, COUNT
 
Номер 2
Групповая функция, возвращающая среднее арифметическое значение:
Ответ:
 (1) SUM
 
 (2) MAX
 
 (3) MIN
 
 (4) AVG
 
 (5) VARIANCE
 
Номер 3
Встроенный пакет Oracle, который расширяет возможности стандартных функций статистической обработки данных столбца:
Ответ:
 (1) DBMS_SQL
 
 (2) DBMS_STDDEV
 
 (3) DBMS_STAT_FUNCS
 
 (4) DBMS_GROUP_FUNCS
 
Упражнение 5:
Номер 1
Системные функции Oracle:
Ответ:
 (1) SYSDATE
 
 (2) LEVEL
 
 (3) USER
 
 (4) SYSTIMESTAMP
 
 (5) UID
 
 (6) INSTR
 
Номер 2
Псевдостолбцы Oracle:
Ответ:
 (1) LOWER
 
 (2) LEVEL
 
 (3) INITCAP
 
 (4) RTRIM
 
 (5) ROWNUM
 
 (6) INSTR
 
Номер 3
Функции преобразования регистра символьных строк Oracle:
Ответ:
 (1) LOWER
 
 (2) SYSDATE
 
 (3) INITCAP
 
 (4) UPPER
 
 (5) SUBSTR
 
 (6) INSTR
 
Упражнение 6:
Номер 1
Конкатенация строк в запросе SQL Oracle выполняется оператором:
Ответ:
 (1) + 
 (2) * 
 (3) '' 
 (4) || 
 (5) "" 
Номер 2
Смысл понятия "литерал" в СУБД - ...
Ответ:
 (1) символьная константа 
 (2) логическая переменная 
 (3) системная переменная 
Номер 3
Использование символьной строки, заключенной в апострофы, в запросе SQL приемлемо для ...
Ответ:
 (1) отображения имени столбца в команде SELECT 
 (2) ссылки на числовую функцию в арифметическом выражении 
 (3) установки псевдонима столбца  
 (4) отображения знака "тире" между склеиваемыми строками 
Упражнение 7:
Номер 1
Запрос SQL:SELECT name, NVL(sal,0) salary
FROM emp
WHERE sal IS NULL;В столбце SALARY при возвращении значения NULL будет отображено:
Ответ:
 (1) 0 
 (2) NULL 
 (3) пробел 
 (4) выполнение запроса вызовет ошибку 
Номер 2
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
ID | Номер сотрудника | PRIMARY KEY |
LAST_NAME | Фамилия | NOT NULL |
TITLE | Должность | NOT NULL |
MANAGER_ID | Номер начальника | |
SALARY | Зарплата | NOT NULL |
COMMISSION_PCT | Комиссионный процент | |
Необходимо получить список всех сотрудников с указанием суммарного дохода, полученного сложением сумм зарплаты и комиссионного процента; при этом следует учесть, что у некоторых сотрудников значение комиссионого процента отсутствует. Запрос, который выполняет поставленную задачу:
Ответ:
 (1) SELECT id, last_name, salary + commission_pct "Суммарный доход"
FROM s_emp; 
 (2) SELECT id, last_name, NVL(salary,0) + commission_pct "Суммарный доход"
FROM s_emp; 
 (3) SELECT id, last_name, NVL(salary + commission_pct,0) "Суммарный доход"
FROM s_emp; 
 (4) SELECT id, last_name, salary + NVL(commission_pct,0) "Суммарный доход"
FROM s_emp; 
Номер 3
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
ID | Номер сотрудника | PRIMARY KEY |
LAST_NAME | Фамилия | NOT NULL |
TITLE | Должность | NOT NULL |
MANAGER_ID | Номер начальника | |
SALARY | Зарплата | NOT NULL |
COMMISSION_PCT | Комиссионный процент | |
Запрос SQL:
SELECT id, last_name, NVL(TO_CHAR(manager_id),'No manager')
FROM s_emp; Результат действия запроса - выборка ...
Ответ:
 (1) списка сотрудников, у которых нет начальника 
 (2) списка сотрудников, у которых есть начальник 
 (3) всех сотрудников, с пометкой 'No manager' для сотрудников, у которых нет начальника 
 (4) всех сотрудников, с пометкой 'No manager' в столбце MANAGER_ID 
Упражнение 8:
Номер 1
Функции преобразования типов данных Oracle:
Ответ:
 (1) LOWER
 
 (2) TO_NUMBER
 
 (3) TO_CHAR
 
 (4) TO_CLOB
 
 (5) TO_DATE
 
 (6) DECODE
 
Номер 2
Функции работы с датой Oracle:
Ответ:
 (1) TO_NUMBER
 
 (2) TRUNC
 
 (3) NEXT_DAY
 
 (4) ROUND
 
 (5) MONTHS_BETWEEN
 
Номер 3
Символьные функции Oracle:
Ответ:
 (1) UPPER
 
 (2) TRUNC
 
 (3) ADD_MONTHS
 
 (4) RTRIM
 
 (5) LPAD
 
 (6) INSTR
 
Упражнение 9:
Номер 1
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
ID | Номер сотрудника | PRIMARY KEY |
LAST_NAME | Фамилия | NOT NULL |
TITLE | Должность | NOT NULL |
MANAGER_ID | Номер начальника | |
SALARY | Зарплата | NOT NULL |
COMMISSION_PCT | Комиссионный процент | |
Запрос SQL:
SELECT id, last_name, title,
DECODE (title, 'President', 30,
'Vice President', 20,
'Sales Representative', 10, 5) "Премии (в %)"
FROM s_emp; В отчете, полученном при выполнении запроса, будут отображены следующие значения размера премиального процента различным категориям сотрудников:
Ответ:
 (1) 20% - президенту компании, 10% - вице-президентам, 5% - остальным сотрудникам 
 (2) 30% - президенту компании, 20% - вице-президентам, 10% - торговым представителям, 5% - остальным сотрудникам 
 (3) 30% - торговым представителям, 20% - президенту компании, 10% - вице-президентам, 5% - остальным сотрудникам 
 (4) 30% - президенту компании, 20% - вице-президентам, 10% - торговым представителям 
Номер 2
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
ID | Номер сотрудника | PRIMARY KEY |
LAST_NAME | Фамилия | NOT NULL |
TITLE | Должность | NOT NULL |
MANAGER_ID | Номер начальника | |
SALARY | Зарплата | NOT NULL |
COMMISSION_PCT | Комиссионный процент | |
Запрос SQL:
SELECT id, last_name, title,
CASE
WHEN title='President' THEN '20% BONUS',
WHEN title='Vice President' THEN '10% BONUS'
WHEN title='Sales Representative' THEN '30% BONUS'
ELSE '5% BONUS' END "Премии (в %)"
FROM s_emp; В отчете, полученном при выполнении запроса, будут отображены следующие значения размера премиального процента различным категориям сотрудников:
Ответ:
 (1) 20% - президенту компании, 10% - вице-президентам, 5% - остальным сотрудникам 
 (2) 30% - президенту компании, 20% - вице-президентам, 10% - торговым представителям, 5% - остальным сотрудникам 
 (3) 30% - торговым представителям, 20% - президенту компании, 10% - вице-президентам, 5% - остальным сотрудникам 
 (4) 30% - президенту компании, 20% - вице-президентам, 10% - торговым представителям 
Номер 3
Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
ID | Номер сотрудника | PRIMARY KEY |
LAST_NAME | Фамилия | NOT NULL |
TITLE | Должность | NOT NULL |
MANAGER_ID | Номер начальника | |
SALARY | Зарплата | NOT NULL |
COMMISSION_PCT | Комиссионный процент | |
Запрос SQL:
SELECT id, last_name, title,
NVL2(commission_pct,20,5) "Комисионный процент"
FROM s_emp; В отчете, полученном при выполнении запроса, будут отображены следующие значения комиссионного процента различным категориям сотрудников:
Ответ:
 (1) 20% всем сотрудникам компании 
 (2) 5% всем сотрудникам компании 
 (3) 20% сотрудникам компании, ранее получавшим комиссионные 
 (4) 5% сотрудникам компании, ранее не получавшим комиссионные 
Упражнение 10:
Номер 1
Получить дату "1 ноября 2011" возможно при помощи запроса:
Ответ:
 (1) SELECT ROUND(TO_DATE('30-10-2011','DD-MM-YYYY'),'MONTH') FROM DUAL; 
 (2) SELECT TRUNC(TO_DATE('30-11-2011','DD-MM-YYYY'),'MONTH') FROM DUAL; 
 (3) SELECT ROUND(TO_DATE('03-10-2011','DD-MM-YYYY'),'MONTH') FROM DUAL; 
 (4) SELECT TRUNC(DATE'31-OCT-2011','MONTH') FROM DUAL; 
Номер 2
Для получения даты "1 ноября 2011 15:30:48" используется конструкция:
Ответ:
 (1) DATE'01-NOV-2011 15:30:48'
 
 (2) TIME'01-NOV-2011 15:30:48'
 
 (3) TIMESTAMP'01-NOV-2011 15:30:48'
 
 (4) INTERVAL'01-NOV-2011 15:30:48'
 
Номер 3
Конструкция INTERVAL '03-8' YEAR TO MONTH
позволяет сформулировать ...
Ответ:
 (1) дату, соответствующую 3 августа текущего года 
 (2) дату, которая будет через 3 месяца после текущей системной даты 
 (3) временной интервал 3 месяца и 8 дней 
 (4) временной интервал 3 года и 8 месяцев 
Упражнение 11:
Номер 1
Синтаксис явного обозначения числа BINARY_FLOAT
:
Ответ:
 (1) 258f
 
 (2) 258d
 
 (3) 2.58e2
 
 (4) 258float
 
Номер 2
Внутреннее представление выражения сервером Oracle возвращает функция:
Ответ:
 (1) DUAL
 
 (2) DUMP
 
 (3) INNER
 
 (4) SYS_DBA
 
Номер 3
Системный параметр NLS_DATE_FORMAT
предназначен для настройки отображения ...
Ответ:
 (1) символа национальной валюты 
 (2) кодировки 
 (3) символов кириллицы 
 (4) формата даты 
Упражнение 12:
Номер 1
Запрос SQL:SELECT id, last_name, ROWNUM
FROM s_emp; В столбце ROWNUM результирующей выборки запроса будет представлен ...
Ответ:
 (1) порядковый номер строки в таблице 
 (2) порядковый номер строки в выборке 
 (3) уникальный идентификатор строки в таблице 
 (4) порядковый номер столбца в таблице 
Номер 2
Запрос SQL:SELECT last_name,
(SELECT name FROM s_dept WHERE s_dept.id=s_emp.dept_id) dept_name
FROM s_emp; Верными высказываниями относительно подобной синтаксической конструкции запроса SQL являются:
Ответ:
 (1) включение вложенного запроса в команду SELECT
недопустимо в Oracle 11g  
 (2) вложенный запрос должен возвращать одну строку 
 (3) вложенный запрос не может возвращать пустую выборку 
 (4) вложенный запрос должен состоять из одного столбца 
Номер 3
Запрос SQL:SELECT last_name,
(SELECT name FROM s_dept WHERE s_dept.id=s_emp.dept_id) dept_name
FROM s_emp; Неверными высказываниями относительно подобной синтаксической конструкции запроса SQL являются:
Ответ:
 (1) включение вложенного запроса в команду SELECT поддерживается в диалекте SQL Oracle любой версии 
 (2) вложенный запрос должен возвращать одно значение 
 (3) вложенный запрос может возвращать пустую выборку 
 (4) вложенный запрос может состоять из нескольких столбцов