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

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

Упражнение 1:
Номер 1
Даны таблицы: 
TOOLS
NAMEPRICETYPE
drill155A
sawzall192N
mitre saw292M
router86I
RAD145M
jigsaw128I
screwdriver77P
TOOL_TYPES
TYPEUSAGE
AAlways
IOften
MSometimes
NRarely
PNever
Запрос SQL: SELECT t.type, SUM(t.price) FROM tools t GROUP BY t.type HAVING SUM(t.price) >= (SELECT AVG(price) FROM tools WHERE type IN (SELECT type FROM tool_types WHERE usage = 'Often')); Количество строк, возвращенных запросом, = ...

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 

 (6) выполнение запроса вызовет ошибку 


Номер 2
Даны таблицы: 
TOOLS
NAMEPRICETYPE
drill155A
sawzall192N
mitre saw292M
router86I
RAD145M
jigsaw128I
screwdriver77P
TOOL_TYPES
TYPEUSAGE
AAlways
IOften
MSometimes
NRarely
PNever
Запрос SQL: SELECT t.type, SUM(t.price) FROM tools t GROUP BY t.type HAVING SUM(t.price) <= (SELECT AVG(price) FROM tools WHERE type IN (SELECT type FROM tool_types WHERE usage = 'Often')); Количество строк, возвращенных запросом, = ...

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 

 (6) выполнение запроса вызовет ошибку 


Номер 3
Даны таблицы: 
TOOLS
NAMEPRICETYPE
drill155A
sawzall192N
mitre saw292M
router86I
RAD145M
jigsaw128I
screwdriver77P
TOOL_TYPES
TYPEUSAGE
AAlways
IOften
MSometimes
NRarely
PNever
Запрос SQL: SELECT t.type, SUM(t.price) FROM tools t GROUP BY t.type HAVING SUM(t.price) <= (SELECT AVG(price) FROM tools WHERE type IN (SELECT type FROM tool_types WHERE usage = 'Sometimes')); Количество строк, возвращенных запросом, = ...

Ответ:

 (1) 1 

 (2) 2 

 (3) 3 

 (4) 4 

 (5) 5 

 (6) выполнение запроса вызовет ошибку 


Упражнение 2:
Номер 1
Оператор SQL, который позволяет объединить результаты нескольких предложений SELECT в одно множество:

Ответ:

 (1) UNION 

 (2) ALL 

 (3) INTEGRATE 

 (4) AGGREGATE 

 (5) INNER JOIN 


Номер 2
Предложения GROUP BY и HAVING НЕ используются для ...

Ответ:

 (1) объединения всех строк таблицы в одну группу 

 (2) группировки данных, основанной на известном критерии 

 (3) расположения данных в порядке возрастания 

 (4) исключения данных из результата запроса, основанного на известном критерии 

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


Номер 3
Запрос SQL: SELECT type, AVG(price), MIN(price) 
FROM product 
GROUP BY category;  Определить, что является неправильным в данном запросе SQL.

Ответ:

 (1) cкалярные значения и аггрегированные данные нельзя одновременно указывать в списке SELECT 

 (2) в список SELECT нельзя включать несколько групповых функций 

 (3) отсутствует условие WHERE 

 (4) столбец "type» должен быть включен в предложение GROUP BY 

 (5) ничего 


Упражнение 3:
Номер 1
Запросы SQL, возвращающие список фамилий (столбец FIO), упорядоченных по убыванию:

Ответ:

 (1) Select FIO from STUDENT group by FIO; 

 (2) Select FIO from STUDENT order by FIO ASC; 

 (3) Select FIO from STUDENT order by FIO DESС; 

 (4) Select FIO from STUDENT order by FIO; 


Номер 2
Запрос SQL:1 SELECT city, state, COUNT(*) 
2 FROM customers 
3 GROUP BY city, state 
4 UNION ALL 
5 SELECT city, state, COUNT(*) 
6 FROM employees 
7 GROUP BY city, state;
 Необходимо отсортировать результат выборки, возвращаемой запросом. Для выполнения поставленной задачи следует разместить предложение ORDER BY ...

Ответ:

 (1) между строками 1 и 2, и между строками 5 и 6 

 (2) между строками 3 и 4, и после строки 7 

 (3) после предложения UNION ALL 

 (4) после строки 7 

 (5) предложение ORDER BY не может быть включено в запрос, содержащий UNION ALL 


Номер 3
Верными предложениями относительно сортировки результатов выборки в SQL являются:

Ответ:

 (1) при указании в предложении ORDER BY столбцов, содержащих пустые значения, эти значения будут отображаться последними 

 (2) допускается смешивание в предложении ORDER BY имен столбцов и их порядковых номеров в списке SELECT (например, ORDER BY product, 2, price, 4) 

 (3) ключевое слово ASC, которое является необязательным при сортировке по символьным столбцам, обязательно должно указываться после имени числового столбца (например, ORDER BY salary ASC) 

 (4) предложение ORDER BY должно быть расположено после предложения GROUP BY (если оно имеется в команде SELECT), но перед предложением HAVING (если оно имеется в команде SELECT) 


Упражнение 4:
Номер 1
Запрос SQL:SELECT dept_no, AVG(MONTHS_BETWEEN(SYSDATE, hiredate)) 
FROM emp
WHERE AVG(MONTHS_BETWEEN(SYSDATE, hiredate)) > 60
GROUP BY dept_no 
ORDER BY AVG(MONTHS_BETWEEN(SYSDATE, hiredate));
 Причина, вследствие которой запрос SQL вызывает ошибку:

Ответ:

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

 (2) групповые функции нельзя использовать в предложении WHERE  

 (3) групповые функции нельзя использовать в предложении ORDER BY 

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


Номер 2
Дана таблица: 
 
PRODUCT (Товары)
COLUMN NAMEDATATYPECOMMENT
IDNUMBER(7)PRIMARY KEY
SALE_PRICENUMBER(7,2)Сумма продажи
Запросы SQL:
  • SELECT MAX(sale_price), MIN(sale_price), AVG(sale_price) FROM product;
  • SELECT ROUND(MAX(sale_price),2), ROUND(MIN(sale_price),2), ROUND(AVG(sale_price),2) FROM product GROUP BY sale_price;
  • Разница между результатами выполнения команд заключается в следующем:

    Ответ:

     (1) выполнение одной из команд SQL вызовет ошибку 

     (2) запрос 2 возвратит одну строку, запрос 1 возвратит более одной строки 

     (3) запрос 1 возвратит 3 значения, запрос 2 возвратит по 3 значения для каждой суммы продажи 

     (4) запрос 1 возвратит результат для каждой суммы продажи, запрос 2 возвратит результат для каждого товара 


    Номер 3
    Дана таблица: 
     
    PART (Детали)
    COLUMN NAMEDATATYPECOMMENT
    IDNUMBER(7)PRIMARY KEY
    COSTNUMBER(7,2)Цена
    PRODUCT_IDNUMBER(7)Номер товара
    Запросы SQL:
  • SELECT ROUND(MAX(cost),2), ROUND(MIN(cost),2), ROUND(SUM(cost),2), ROUND(AVG(cost),2) FROM part;
  • SELECT product_id, ROUND(MAX(cost),2), ROUND(MIN(cost),2), ROUND(SUM(cost),2), ROUND(AVG(cost),2) FROM part GROUP BY product_id;
  • Разница между результатами выполнения команд заключается в следующем:

    Ответ:

     (1) запрос 1 возвратит 1 строку, запрос 2 может возвратить несколько строк 

     (2) полученные выборки будут одинаковыми, но по-разному отображены 

     (3) запрос 1 возвратит результат для каждой детали, запрос 2 возвратит результат для каждого товара  

     (4) выполнение одного из запросов вызовет ошибку  


    Упражнение 5:
    Номер 1
    Запрос SQL: SELECT flavor, SUM(ice_cream_sales) 
    FROM sales_detail 
    GROUP BY flavor 
    ORDER BY 2 DESC;
    Определить, какое количество строк возвратит запрос, учитывая, что таблица "sales_detail» состоит из 10 строк с различными значениями в столбце "flavor» (2 значения 'vanilla', 3 значения 'chocolate', 4 значения 'strawberry' и 1 пустое значение).

    Ответ:

     (1) 0 

     (2) 1 

     (3) 3 

     (4) 4 

     (5) 10 


    Номер 2
    Дана таблица: 
     
    LOCATIONS
    IDDESCRIPTIONCLIMATECOST_RANK
    1Northwestmild1
    2West Coastwarm1
    3Northeastmild2
    4Midwestextremes3
    5Southeasthot3
    6Southwesthot3
    Запрос SQL: SELECT COUNT(*) FROM locations GROUP BY climate, cost_rank;Количество строк, возвращенных запросом, =...

    Ответ:

     (1) 0 

     (2) 2 

     (3) 3 

     (4) 4 

     (5) 5 


    Номер 3
    Дана таблица: 
     
    CUSTOMERS
    IDGENDERDEPARTMENTPURCHASES
    1femalehousewares27.75
    2malegarden42.20
    3femalehome improvement97.50
    4femalekitchen/bathroom28.60
    5malefurniture225.75
    6femalegarden34.40
    7malehardware16.50
    Запрос SQL: SELECT department, COUNT(*) FROM customers WHERE gender LIKE '%male' AND purchases > 30.00 GROUP BY department ORDER BY 1;Количество строк, возвращенных запросом, =...

    Ответ:

     (1) 0 

     (2) 2 

     (3) 3 

     (4) 4 

     (5) 5 


    Упражнение 6:
    Номер 1
    Порядок сортировки символьных строк в Oracle 11g определяется системным параметром ...

    Ответ:

     (1) NLS_LANG 

     (2) NLS_ORDER 

     (3) NLS_CHARACTERSET 

     (4) NLS_COMP 

     (5) NLS_SORT 


    Номер 2
    Для сортировки символьных строк в соответствии с правилами русского языка необходимо установить значение параметра NLS_SORT равным ...

    Ответ:

     (1) CYRILLIC 

     (2) BINARY 

     (3) LINGUISTIC 

     (4) RUSSIAN 

     (5) RUS 


    Номер 3
    Команда SQL, которая позволяет установить значение параметра сортировки символьных строк для сеанса работы с сервером Oracle:

    Ответ:

     (1) ALTER USER 

     (2) ALTER TABLE 

     (3) ALTER SESSION 

     (4) ALTER DATABASE 

     (5) ALTER COLUMN 


    Упражнение 7:
    Номер 1
    Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
     
    IDНомер сотрудникаPRIMARY KEY
    LAST_NAMEФамилияNOT NULL
    TITLEДолжностьNOT NULL
    MANAGER_IDНомер начальника
    SALARYЗарплатаNOT NULL
    START_DATEДата начала работыNOT NULL
    Запрос SQL:SELECT RPAD(last_name, LEVEL,'_') FROM s_emp CONNECT BY PRIOR id = manager_id START WITH manager_id IS NULL;Команда выполняет построение ...

    Ответ:

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

     (2) списка сотрудников, сгруппированного по номеру начальника 

     (3) списка сотрудников, не имеющих начальника 

     (4) псевдостолбца LEVEL, содержащего номер сотрудника и номер начальника 


    Номер 2
    Полный перечень узлов в структуре древовидной иерархии возвращает системная функция:

    Ответ:

     (1) CONNECT_BY_ISLEAF 

     (2) CONNECT_BY_ROOT 

     (3) SYS_CONNECT_BY_PATH 

     (4) CONNECT_BY_ISCYCLE 


    Номер 3
    Запрос SQL:SELECT RPAD(last_name, LEVEL,'_') "Level of subordination"
    FROM s_emp
    CONNECT BY PRIOR id = manager_id
    START WITH manager_id IS NULL;Упорядочить "ветви" дерева в пределах одного уровня позволит предложение:

    Ответ:

     (1) ORDER BY "Level of subordination" ASC 

     (2) ORDER SIBLINGS BY last_name 

     (3) ORDER BY NLSSORT(last_name, 'BINARY') 


    Упражнение 8:
    Номер 1
    Команды выполнения операций над множествами строк, возвращаемых запросами:

    Ответ:

     (1) UNION ALL 

     (2) UNION 

     (3) INTERSECT 

     (4) JOIN 

     (5) CROSS JOIN 

     (6) MINUS 


    Номер 2
    Запрос SQL: SELECT id, name FROM s_emp
    UNION
    SELECT id, last_name FROM s_dept; возвращает ...

    Ответ:

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

     (2) список столбцов таблиц S_EMP и S_DEPT  

     (3) объединение множеств результатов запросов 

     (4) пересечение множеств результатов запросов 

     (5) объединение множеств результатов запросов с включением дубликатов 


    Номер 3
    Верными высказываниями относительно выполнения операций над множествами в SQL являются:

    Ответ:

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

     (2) идентичные строки исключаются из результата, за исключением случая применения оператора UNION ALL 

     (3) последовательности типов данных в списках выборки запросов должны совпадать 

     (4) названия столбцов итоговой выборки соответствуют названиям столбцов последнего запроса 

     (5) пустые значения считаются равными 


    Упражнение 9:
    Номер 1
    Дана команда:  ALTER SESSION SET NLS_SORT = RUSSIAN_CI;Действие, выполняемое командой - установка порядка сортировки символьных строк ...

    Ответ:

     (1) на основе двоичных кодов символов, для сеанса работы с сервером Oracle 

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

     (3) в соответствии с правилами русского языка с игнорированием регистра символов, для сеанса работы с сервером Oracle 

     (4) в соответствии с правилами русского языка с учетом регистра символов, для сеанса работы с сервером Oracle 


    Номер 2
    Дана команда:  SELECT last_name FROM s_emp
    ORDER BY NLSSORT(last_name, 'NLS_SORT = BINARY');Действие, выполняемое командой - установка порядка сортировки символьных строк ...

    Ответ:

     (1) на основе двоичных кодов символов, для сеанса работы с сервером Oracle 

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

     (3) на основе двоичных кодов символов, с игнорированием регистра символов, для сеанса работы с сервером Oracle 

     (4) в соответствии с порядком латинского алфавита, результатов конкретного запроса 


    Номер 3
    Верными высказываниями относительно сортировки в SQL Oracle 11g являются:

    Ответ:

     (1) значения NULL указываются первыми при сортировке по возрастанию 

     (2) значения NULL указываются первыми при сортировке по убыванию 

     (3) предложение NULLS_FIRST позволяет разместить пустые значения первыми 

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


    Упражнение 10:
    Номер 1
    Функциональность OLAP в SQL Oracle 11g позволяют имитировать конструкции:

    Ответ:

     (1) GROUP BY ROLLUP 

     (2) GROUP BY OLAP 

     (3) GROUP BY GROUPING SETS 

     (4) GROUP BY CUBE 


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

    Ответ:

     (1) GROUPING_ID 

     (2) GROUPING 

     (3) GROUP_ID 

     (4) GROUPING SETS 


    Номер 3
    Запрос SQL:SELECT a, b, c, SUM(d), GROUP_ID 
    FROM vtable
    GROUP BY GROUPING SETS (a, ROLLUP(b,c));Степень повторения строк с агрегированными данными возвращает функция:

    Ответ:

     (1) SUM(d) 

     (2) GROUP_ID() 

     (3) GROUPING SETS 

     (4) ROLLUP(b,c) 


    Упражнение 11:
    Номер 1
    Запрос SQL:SELECT a, b, SUM(c) 
    FROM vtable
    GROUP BY ROLLUP(a,b);Выборку, эквивалентную результату запроса, возвращает команда:

    Ответ:

     (1) SELECT a, b, SUM(c) FROM vtable GROUP BY a, b UNION ALL SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 

     (2) SELECT a, b, SUM(c) FROM vtable GROUP BY a, b UNION ALL SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 

     (3) SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b; 

     (4) SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b; UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 


    Номер 2
    Запрос SQL:SELECT a, b, SUM(c) 
    FROM vtable
    GROUP BY CUBE(a,b));Выборку, эквивалентную результату запроса, возвращает команда:

    Ответ:

     (1) SELECT a, b, SUM(c) FROM vtable GROUP BY a, b UNION ALL SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 

     (2) SELECT a, b, SUM(c) FROM vtable GROUP BY a, b UNION ALL SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 

     (3) SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b; 

     (4) SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b; UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 


    Номер 3
    Запрос SQL:SELECT a, b, SUM(c) 
    FROM vtable
    GROUP BY (a,b);Выборку, эквивалентную результату запроса, возвращает команда:

    Ответ:

     (1) SELECT a, b, SUM(c) FROM vtable GROUP BY a, b UNION ALL SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 

     (2) SELECT a, b, SUM(c) FROM vtable GROUP BY a, b UNION ALL SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 

     (3) SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b; 

     (4) SELECT a, NULL, SUM(c) FROM vtable GROUP BY a UNION ALL SELECT NULL, b, SUM(c) FROM vtable GROUP BY b; UNION ALL SELECT NULL, NULL, SUM(c) FROM vtable; 


    Упражнение 12:
    Номер 1
    Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
     
    IDНомер сотрудникаPRIMARY KEY
    LAST_NAMEФамилияNOT NULL
    TITLEДолжностьNOT NULL
    MANAGER_IDНомер начальника
    SALARYЗарплатаNOT NULL
    START_DATEДата начала работыNOT NULL
    Запрос построения иерархии подчиненности:SELECT LEVEL, RPAD(last_name, LEVEL,'_') "Level of subordination" FROM s_emp CONNECT BY PRIOR id = manager_id START WITH manager_id IS NULL ORDER SIBLINGS BY last_name;Номер уровня подчиненности сотрудника определяет предложение:

    Ответ:

     (1) SELECT LEVEL 

     (2) CONNECT BY PRIOR id = manager_id 

     (3) START WITH manager_id IS NULL 

     (4) "Level of subordination" 


    Номер 2
    Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
     
    IDНомер сотрудникаPRIMARY KEY
    LAST_NAMEФамилияNOT NULL
    TITLEДолжностьNOT NULL
    MANAGER_IDНомер начальника
    SALARYЗарплатаNOT NULL
    START_DATEДата начала работыNOT NULL
    Запрос построения иерархии подчиненности:SELECT LEVEL, RPAD(last_name, LEVEL,'_') "Level of subordination" FROM s_emp CONNECT BY PRIOR id = manager_id START WITH manager_id IS NULL ORDER SIBLINGS BY last_name;Корневое значение древовидной иерархии определяет предложение:

    Ответ:

     (1) RPAD(last_name, LEVEL,'_') 

     (2) CONNECT BY PRIOR id = manager_id 

     (3) START WITH manager_id IS NULL 

     (4) ORDER SIBLINGS BY last_name 


    Номер 3
    Дана таблица S_EMP, в которой содержится информация о сотрудниках компании:
     
    IDНомер сотрудникаPRIMARY KEY
    LAST_NAMEФамилияNOT NULL
    TITLEДолжностьNOT NULL
    MANAGER_IDНомер начальника
    SALARYЗарплатаNOT NULL
    START_DATEДата начала работыNOT NULL
    Запрос построения иерархии подчиненности:SELECT LEVEL, RPAD(last_name, LEVEL,'_') "Level of subordination" FROM s_emp CONNECT BY PRIOR id = manager_id START WITH manager_id IS NULL ORDER SIBLINGS BY last_name;Критерий зависимости между узлами древовидной иерархии определяет предложение:

    Ответ:

     (1) RPAD(last_name, LEVEL,'_') 

     (2) CONNECT BY PRIOR id = manager_id 

     (3) START WITH manager_id IS NULL 

     (4) SELECT LEVEL 




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