1. Какое из следующего предложения используется для ограничения количества строк, извлекаемых из запроса SELECT?
- ПРЕДЕЛ
- ГДЕ
- А ТАКЖЕ
- ОТ
Ответ: B. Предложение WHERE используется для ограничения количества строк, возвращаемых из запроса SELECT.
2. Выберите элементы базы данных, значения которых можно сравнить в предложении WHERE запроса SELECT.
- колонка
- Последовательность
- Процедура
- буквальный
Ответ: A, D. Предложение WHERE может использоваться для сравнения значений из столбцов, литералов, арифметических функций и функций.
3. Какие элементы НЕ содержатся в предикате предложения WHERE запроса SELECT?
- Оператор сравнения
- Условие сравнения
- Название столбца
- Имя таблицы
Ответ: D. Имя таблицы не требуется в предикате предложения WHERE.
4. Какие из следующих значений НЕ могут быть возвращены после оценки условия предложения WHERE?
- НЕИЗВЕСТНЫЙ
- ПРАВДА
- ЛОЖНЫЙ
- НОЛЬ
Ответ: A. Если результат условия в предложении WHERE неизвестен, возвращается NULL. Во всех других сценариях возвращается ИСТИНА или ЛОЖЬ.
5. Какое минимальное количество предложений WHERE должно присутствовать в запросе SELECT?
- 1
- 2
- 0
- 3
Ответ: C. Предложение WHERE является необязательным предложением в запросе SELECT, которое используется только для ограничения количества строк.
6. Какое максимальное количество предложений WHERE может быть включено в запрос SELECT?
- 1
- 2
- 0
- 3
Ответ: A. Предложение WHERE является необязательным предложением в запросе SELECT, которое можно использовать только один раз, чтобы ограничить количество строк.
7. Какие из следующих утверждений верны в отношении предложения WHERE?
- Псевдоним столбца может использоваться в предложении WHERE для ссылки на столбец
- Оператор сравнения является необязательным элементом в условии условия WHERE
- Функции могут использоваться как операнды в предложении WHERE
- В запросе SELECT может быть несколько предложений WHERE.
Ответ: C. Предложение WHERE должно иметь оператор сравнения для оценки условия. Он может использовать функцию в качестве одного из операндов. В запросе SELECT допускается только одно предложение WHERE.
8. Напишите запрос SELECT для вывода списка уникальных отделов из таблицы EMP?
-
SELECT deptno FROM emp;
-
SELECT DISTINCT deptno FROM emp;
-
SELECT DISTINCT (deptno) FROM emp;
-
SELECT empno, DISTINCT deptno FROM emp;
Ответ: B & C. Ключевое слово DISTINCT используется для фильтрации дублирующихся строк из запроса SELECT.
9. Какие из следующих операций разрешены для столбцов даты и времени?
- разделение
- прибавление
- Вычитание
- конкатенация
Ответ: B, C и D. Сложение, вычитание и объединение — это операции, разрешенные для столбцов даты и метки времени.
10. Из приведенных ниже операторов какой из них имеет самый высокий уровень приоритета?
- Отдел (/)
- Умножение (*)
- Скобки ( () )
- Вычитание
Ответ: C. Выражения в скобках содержат самый высокий уровень приоритета.
11. Интерпретировать вывод, возвращенный нижеуказанным запросом SELECT.
SELECT ename, (sysdate - hiredate) FROM emp;
- Количество дней в текущем году
- Количество дней в году, когда сотрудник был нанят
- Количество дней, проведенных сотрудником в компании
- Запрос вызывает исключение «ORA-00932: несовместимые типы данных: ожидаемый номер получен ДАТА»
Ответ: C. Выражение (sysdate-hiredate) возвращает количество рабочих дней сотрудника в компании.
12. Какие из приведенных ниже утверждений правильно описывают таблицу DUAL в Oracle?
- DUAL таблица — это временная таблица в базе данных Oracle
- Таблица DUAL содержит только один столбец символьного типа, известный как DUMMY
- ДВОЙНАЯ таблица, принадлежащая SYS, не может быть удалена
- Таблица с именем DUAL может быть создана пользователем в его собственной схеме
Ответ: B, C, D. Таблица DUAL в Oracle принадлежит SYS и содержит один столбец DUMMY типа VARCHAR2 (1).
13. Определите тип вывода, возвращаемый запросом ниже
SELECT sysdate - hiredate FROM emp WHERE empno=7369;
- Тип данных DATE
- NUMBER тип данных
- Тип данных VARCHAR2
- Запрос вызывает ошибку, так как арифметические операции не могут быть выполнены для столбцов даты
Ответ: B. Вычитание между двумя датами приводит к числовой разнице дней между двумя датами.
14. Какие выражения НЕ возвращают значения NULL?
-
SELECT ((10 + 20) * 50) + null from dual;
-
SELECT 'this is a '||null||'test with nulls' from dual;
-
SELECT null/0 from dual;
-
SELECT null||'test'||null as “Test” from dual;
Ответ: B, D. Любая арифметическая операция с NULL приводит к NULL.
15. Определите результат запроса ниже
SELECT 'Tutorial''s Point compiles technical tutorials' FROM DUAL;
- Tutorial’s Point составляет технические руководства
- Учебное пособие составляет технические уроки
- ‘Tutorial»s Point составляет технические уроки’
- Вызывает исключение «ORA-01756: строка в кавычках не завершена должным образом»
Ответ: Б.
16. Изучите таблицу ОБУЧЕНИЯ, как указано ниже:
Name Null? Type ----------------------------------------- -------- ------------- TRAINING_ID NOT NULL NUMBER(5) TRAINING_LOCATION NUMBER(7,2) START_DATE DATE END_DATE DATE
Какие два SQL будут успешно выполнены? (Выберите два)
-
SELECT NVL (ADD_MONTHS (END_DATE,1),SYSDATE) FROM training;
-
SELECT TO_DATE (NVL(SYSDATE-END_DATE,SYSDATE)) FROM training;
-
SELECT NVL(MONTHS_BETWEEN(START_DATE,END_DATE),’In Progress’) FROM training;
-
SELECT NVL(TO_CHAR(MONTHS_BETWEEN(START_DATE,END_DATE)),’In Progress’) FROM training;
Ответ: A, D. Используйте функцию NVL для предоставления альтернативного значения столбцу, когда NULL.
17. Как называется выбор столбцов в операторе SELECT?
- поиск
- выбор
- проекция
- ограничения
Ответ: C. Проекция — это возможность выбирать только необходимые столбцы в операторе SELECT.
18. Что означает ограничение строк, возвращаемое оператором SELECT, известным как
- поиск
- проекция
- Ограничивая
- выбор
Ответ: C. Ограничение — это возможность ограничить количество строк, поставив определенные условия.
19. Что из следующего верно в отношении запроса, приведенного ниже?
SELECT col1, col2 FROM tab1 ORDER BY col1;
- Все строки для столбца COL1 будут отсортированы в порядке убывания.
- Все строки для столбца COL1 будут отсортированы в порядке возрастания.
- Запрос выдаст ошибку, поскольку в запросе нет предложения WHERE.
- Запрос выдаст ошибку, так как предложение ORDER BY должно включать все столбцы в предложении SELECT.
Ответ: B. По умолчанию предложение ORDER BY сортирует значения в порядке возрастания.
20. Что из следующего верно в отношении SQL-запроса, приведенного ниже?
SELECT col1,col2 FROM tab1 WHERE col1 = 'A' ORDER BY col2 DESC, col1;
- Он отобразит строку, у которой значение col1 равно «A», упорядоченное col1 в порядке убывания, а затем col2 в порядке убывания.
- Предложение ORDER BY не будет работать, поскольку ключевое слово DESC должно всегда записываться в конце предложения ORDER BY, а не между ними, как указано в запросе.
- Приведенный выше запрос будет отсортирован в порядке убывания только на основе col2, а использование col1 в предложении ORDER BY будет отклонено.
- Он отобразит строку со значением col1 в виде ‘A’, упорядоченного col1, а затем, за которым следует col2, поскольку выполнение предложения ORDER BY происходит из порядка столбцов в инструкции SELECT.
Ответ: C. Поскольку COL1 уже отфильтрован и зафиксирован в запросе как скалярное значение, сортировка не будет выполняться на основе COL1.
21. Что верно в отношении запроса, приведенного ниже?
SELECT col1, col2 FROM tab1 ORDER BY col1,col2 WHERE col2 = 'B';
- Выполняется успешно
- Это дает требуемый результат со значением COL2 как «B», но без упорядочения по столбцам COL1 и COL2, потому что предложение ORDER BY появляется перед предложением WHERE.
- Он отобразит строку, которая имеет значение COL2 как «B», упорядоченное по COL1, COL2.
- Он выдает ошибку, поскольку предложение ORDER BY не может быть записано перед предложением WHERE в Oracle.
Ответ: D. Предложение ORDER BY должно появляться после предложения WHERE в операторе SELECT.
22. Какие два предложения оператора SELECT необходимы для выбора и проекции?
- ВЫБРАТЬ ИЗ
- ЗАКАЗАТЬ, ГДЕ
- ВЫБЕРИТЕ, ГДЕ
- ВЫБРАТЬ, ЗАКАЗАТЬ ПО
Ответ: C.
23. Какие из следующих предложений WHERE НЕ поместятся в приведенном ниже запросе SELECT?
SELECT ename, deptno, sal FROM emp;
- ГДЕ НАПРАВЛЕНО (’02-ИЮН-2004 ‘);
- ГДЕ ПРОДАЖА («1000», «4000», «2000»);
- ГДЕ РАБОТАЕТ (ПРОДАЖА, КЛЕРК);
- ГДЕ СВЯЗЬ МЕЖДУ 0,1 И 0,5;
Ответ: C. Символьные литералы должны быть заключены в одинарные кавычки
24. Выберите предложение WHERE, которое извлекает значения DNAME, содержащие символьный литерал «er», из таблицы DEPT.
- Где DNAME IN (‘% e% r’);
- WHERE DNAME LIKE «% er%»;
- ГДЕ ДАМИН МЕЖДУ ‘e’ И ‘r’;
- ГДЕ DNAME СОДЕРЖИТ ‘e% r’;
Ответ: B. Оператор LIKE используется для поиска по шаблону в запросах SQL.
25. Какие два из следующих условий эквивалентны друг другу?
- ГДЕ КОММ НУЛЬ
- ГДЕ комм = NULL
- ГДЕ КОМ ВХОД (НУЛЬ)
- ГДЕ НЕТ (comm не NULL)
Ответ: A, D. Оператор NOT можно использовать для отмены действия своего операнда. Поэтому (COMM IS NULL) эквивалентно (NOT (COMM IS NOT NULL)).
26. Какие из следующих пунктов являются обязательными в запросе SQL?
- ВЫБРАТЬ ИЗ
- ВЫБРАТЬ, FROM, WHERE
- ВЫБОР, ГДЕ
- ВЫБЕРИТЕ, ГДЕ, ЗАКАЗАТЬ
Ответ: A. SELECT и FROM являются обязательными предложениями в запросе SELECT.
27. Какие три из следующих условий условия WHERE эквивалентны друг другу?
- ГДЕ ПРОДАЖА <= 5000 И ПРОДАЖА> = 2000
- ГДЕ ПРОДАЕТСЯ (2000,3000,4000,5000)
- ГДЕ ПРОДАЖА МЕЖДУ 2000 И 5000
- ГДЕ ПРОДАЖА> 1999 И ПРОДАЖА <5001
Ответ: A, C, D. Условия могут быть эквивалентны с использованием IN, BETWEEN и реляционных операторов.
28. Что из следующего верно в отношении приведенного ниже запроса?
SELECT empno, ename, job FROM emp WHERE ename like '_ith%';
- Он извлекает идентификатор сотрудника, имя и должность тех сотрудников, чье имя указано в любом месте.
- Он выбирает идентификатор сотрудника, имя и должность тех сотрудников, чье имя начинается с ‘ith’.
- Запрос выдает ошибку, поскольку два выражения для сопоставления строк не могут быть записаны вместе.
- Он выбирает идентификатор сотрудника, имя и должность тех сотрудников, чье имя начинается с любого буквенно-цифрового символа, за которым следует «ith», а любые буквенно-цифровые символы после «ith».
Ответ: Д.
29. Что из следующего используется для завершения SQL-запроса?
- :
- ;
- ,
- /
Ответ: B, D. Точка с запятой (;) или обратная косая черта (/) используется для завершения запроса в SQL * Plus и SQL Developer.
30. Сотрудники ДЖЕЙМС и МИЛЛЕР хотят узнать идентификатор своего отдела, отправив запрос в базу данных. Какой из следующих запросов даст требуемый результат?
-
SELECT ename, deptno FROM emp WHERE ename = 'JAMES';
-
SELECT ename, deptno FROM emp WHERE ename = 'MILLER';
-
SELECT ename, deptno FROM dept
-
SELECT ename, deptno FROM emp WHERE ename = 'JAMES' OR ename = 'MILLER'
Ответ: D. Несколько условий могут быть объединены с помощью предложения OR. Выполнение запроса считается успешным, если любое из двух значений истинно.
31. Что из следующего является ложным в отношении предложения WHERE?
- WHERE может сравнивать значения в столбцах, литералах, арифметических выражениях или функциях.
- Предложение WHERE содержит имя столбца
- Псевдонимы столбцов могут использоваться в предложении WHERE.
- Предложение WHERE не может содержать список значений или констант.
Ответ: C, D.
32. Какой формат даты по умолчанию в Oracle?
- DD-MON-YY
- DD-MON-YYYY
- DD-MM-RR
- DD-MON-RR
Ответ: D. DD-MON-RR — формат даты по умолчанию в Oracle.
33. Прогнозируем вывод приведенного ниже SQL-запроса.
SELECT ename, deptno, sal, comm FROM emp WHERE job = 'SALES' AND hiredate = ”01-JAN-97”;
- Получает данные о сотрудниках для всех сотрудников SALES.
- Выдает ошибку «ORA-00904:« 01-JAN-13 »: неверный идентификатор»
- Запрос выполняется успешно, но результаты не возвращаются
- Он выбирает данные для всех сотрудников SALES, которые были приняты на работу 01 января 1997 года.
Ответ: B. Литералы даты должны быть заключены в одинарные кавычки.
34. Вам необходимо отобразить имена всех сотрудников, чье имя называется «ГАРРИ», из таблицы «СОТРУДНИКИ». Какой из следующих запросов будет соответствовать требованию?
-
SELECT first_name FROM employees WHERE first_name LIKE 'GARRY%';
-
SELECT first_name FROM employees WHERE first_name LIKE '%GARRY%';
-
SELECT first_name FROM employees WHERE first_name LIKE 'GARRY';
-
SELECT first_name FROM employees WHERE first_name LIKE '_ARRY%';
Ответ: C. Подстановочные знаки можно использовать, если определенные символы строки поиска неизвестны.
35. Вам нужно отобразить идентификатор сотрудника всех сотрудников, которые содержат букву «s» в своей фамилии на второй позиции и идентификатор отдела как 100. Какой из следующих запросов принесет требуемые результаты?
-
SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '%s%';
-
SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '%s_';
-
SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '_s_%';
-
SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '_s%';
Ответ: D. Подстановочный знак подчеркивания (_) используется для замены одного символа.
36. Каков будет результат нижеуказанного запроса?
SELECT first_name, last_name, dept_id FROM employees WHERE hire_date LIKE '%98';
- Будут отображены имя, фамилия и идентификатор отдела для всех сотрудников, которые присоединились в 1998 году.
- Будут отображены имя, фамилия и идентификатор отдела для всех сотрудников, которые присоединились к 2098 году.
- Результаты не будут возвращены.
- Будут отображены имя, фамилия и идентификатор отдела для всех сотрудников, которые присоединились в 1998 году с 1 января 1998 года по 31 декабря 1998 года.
Ответ: D. Оператор LIKE используется для поиска по шаблону символов и литералов даты.
37. Что из следующего используется для получения строк, основанных на диапазоне значений?
- СОЮЗ ВСЕХ
- В
- МЕЖДУ
- ЛАЙК
Ответ: C. Оператор BETWEEN используется для извлечения строк на основе диапазона значений.
38. Вам необходимо отобразить идентификаторы сотрудников, у которых зарплата составляет от 20000 (включительно) до 50000 (включительно). Какой из следующих запросов принесет требуемые результаты?
-
SELECT emp_id FROM employees WHERE salary >=20000 AND salary <=50000;
-
SELECT emp_id FROM employees WHERE salary IN (20000, 50000);
-
SELECT emp_id FROM employees WHERE salary >20000 AND salary <50000;
-
SELECT emp_id FROM employees WHERE salary between 20000 AND 50000;
Ответ: A, D. Для больших диапазонов значений BETWEEN и реляционные операторы лучше всего подходят в запросах. Оператор IN не рекомендуется для большого диапазона значений.
39. Что верно в отношении приведенного ниже запроса?
SELECT first_name, last_name FROM employees WHERE last_name BETWEEN 'B%' AND 'E%';
- На нем будут отображаться все сотрудники с фамилиями, начиная с алфавита ‘B’ до ‘E’, включая B и исключая E.
- Он выдаст ошибку, так как BETWEEN может использоваться только для чисел, а не для строк.
- На нем будут отображаться все сотрудники, имеющие фамилии, начиная с «B» и заканчивая «E».
- В нем будут отображаться все сотрудники с фамилиями в диапазоне начальных алфавитов как «B» и «E», исключая имена, начинающиеся с «B» и «E».
Ответ: A. Оператор BETWEEN также работает с диапазоном символьных значений.
40. Каков будет результат запроса, упомянутого ниже?
SELECT employee_id, last_name, first_name, salary, manager_id FROM employees WHERE manager_id IN (200,100,300);
ORDER BY manager_id ASC;
- Он покажет всех сотрудников, находящихся под менеджерами, имеющих ID в диапазоне от 100 до 300.
- Он покажет всех сотрудников, которые находятся под менеджерами, имеющие идентификаторы 100, 200 или 300.
- Это выдаст ошибку, поскольку идентификаторы менеджера должны быть заключены в кавычки.
- Он выдаст ошибку, так как сортировка manager_id в предложении WHERE вступит в конфликт с предложением ORDER BY.
Ответ: B. Оператор IN может использоваться для обеспечения небольшого и ограниченного количества диапазона.
41. Какой из следующих пунктов определяет условие членства?
- МЕЖДУ
- ЛАЙК
- НУЛЕВОЙ
- IN (НЕ IN)
Ответ: D. Оператор IN определяет условие членства, которое может использовать диапазон значений или подзапрос.
42. Какой из следующих типов данных можно использовать в операторе IN?
- VARCHAR2
- ЧИСЛО
- ДАТА
- ВСЕ
Ответ: D. Оператор IN работает со всеми типами значений.
43. Вам необходимо отобразить список всех сотрудников, чье имя начинается с «Брайан» или «Джейсон». Какой из следующих запросов будет соответствовать требованию?
-
SELECT emp_id, last_name, first_name FROM employees WHERE first_name LIKE 'Bryan%' OR first_name LIKE 'Jason%';
-
SELECT emp_id, last_name, first_name FROM employees WHERE first_name BETWEEN 'Bryan' and 'Jason' ;
-
SELECT emp_id, last_name, first_name FROM employees WHERE first_name IN ('Bryan', 'Jason');
-
SELECT emp_id, last_name, first_name FROM employees WHERE first_name = 'Bryan' OR first_name = 'Jason'
Ответ: C, D. Оператор IN проверяет ЛЮБЫЕ значения, определенные как условие принадлежности.
44. Вам необходимо извлечь данные о тех отделах, название которых содержит строку «_DXX». Какие из приведенных ниже предложений WHERE можно использовать в операторе SELECT для получения требуемого результата?
- ГДЕ dept_id НРАВИТСЯ ‘% _DXX%’ ESCAPE ‘_’
- ГДЕ dept_id НРАВИТСЯ ‘% \ _ DXX%’ ESCAPE ‘\’
- ГДЕ dept_id LIKE ‘% _D123%’ ESCAPE ‘% _’
- ГДЕ dept_id НРАВИТСЯ ‘% \ _ D123%’ ESCAPE ‘\ _’
Ответ: Б.
45. Какое утверждение верно в отношении поведения по умолчанию предложения ORDER BY?
- В сортировке символов значения чувствительны к регистру.
- Значения NULL вообще не учитываются операцией сортировки.
- В предложении ORDER BY могут использоваться только те столбцы, которые указаны в списке SELECT.
- Числовые значения отображаются от максимального до минимального значения, если они имеют десятичные позиции.
Ответ: A. Предложение ORDER BY выполняет чувствительную к регистру сортировку со значениями символов.
46. Вам необходимо сформировать отчет о всех сотрудниках из таблицы EMPLOYEES на основе следующих условий: 1. Имя сотрудника не должно начинаться с «T» или «N». 2. Заработная плата сотрудника должна быть более 20000. 3. Сотрудник должен был быть принят на работу после 1 января 2010 года. Какой пункт WHERE даст требуемый результат?
- ГДЕ first_name НЕ НРАВИТСЯ ‘T%’ ИЛИ first_name НЕ НРАВИТСЯ ‘N%’ И ЗАРЛЯТОР> 20000 И hire_date> ‘1-ЯНВ-10’
- ГДЕ (имя_папка НЕ НРАВИТСЯ ‘T%’ И имя_ПРАВИЛО НЕ НРАВИТСЯ ‘N%’) ИЛИ оклад> 20000 ИЛИ hire_date> ‘1-ЯНВ-10’
- ГДЕ first_name НЕ НРАВИТСЯ ‘T%’ И ИМЯ_МЕНИ НЕ НРАВИТСЯ ‘N%’ И Зарплата> 20000 И hire_date> ‘1-JAN-10’
- ГДЕ (имя_папка НЕ НРАВИТСЯ ‘% T%’ ИЛИ имя_первое НЕ НРАВИТСЯ ‘% N%’) И (зарплата> 20000 И НАМЕР_Дата> ‘1-ЯНВ-10’)
Ответ: C.
47. Используя таблицу EMPLOYEES, вам необходимо отобразить имена всех сотрудников, принятых на работу после 1 января 2013 года, начиная с освежителей. Какой запрос даст нужный результат? (Выберите все подходящие варианты.)
-
SELECT first_name, hire_date FROM employees WHERE hire_date > '01-JAN-13' ORDER BY 2 DESC;
-
SELECT first_name, hire_date FROM employees WHERE hire_date > '01-JAN-13' ORDER BY first_name DESC;
-
SELECT first_name, hire_date FROM employees WHERE hire_date > '01-JAN-13' ORDER BY 1 DESC;
-
SELECT first_name, hire_date "START DATE" FROM employees WHERE hire_date > '01-JAN-13' ORDER BY "START DATE" DESC;
Ответ: А, Д.
48. Используя таблицу СОТРУДНИКИ, вам необходимо узнать имена и зарплаты всех сотрудников, нанятых в отделах 100 и 101, за период с 15 марта по 12 октября 13 года. Какие два запроса дадут требуемый результат? (Выберите два.)
-
SELECT first_name, salary FROM employees WHERE dept_id IN (100,101) AND hire_date BETWEEN '15-MAR-12' AND '15-OCT-12';
-
SELECT first_name, salary FROM employees WHERE dept_id = 100 OR dept_id =101 AND hire_date >='15-MAR-12' OR hire_date <='15-OCT-12';
-
SELECT first_name, salary FROM employees WHERE (dept_id BETWEEN 100 AND 101) AND (hire_date IN ('15-MAR-12','15-OCT-12'));
-
SELECT first_name, salary FROM employees WHERE (dept_id = 100 OR dept_id =101) AND (hire_date >='15-MAR-12' AND hire_date <='15-OCT-12');
Ответ: А, Д.
49. Используя таблицу EMPLOYEES, вы выполняете следующий запрос, чтобы сгенерировать имена, текущую зарплату и зарплату, увеличенную после оценки на 25%. Повышенная зарплата для всех сотрудников должна быть выше 30000.
SELECT first_name, salary, salary + (salary *0.25) "INCREASED_SALARY" FROM employees WHERE increased_salary >30000;
Запрос выдает ошибку ORA-00904. В чем причина ошибки?
- В выражении, используемом в операторе SELECT, отсутствует скобка.
- Одиночные кавычки должны использоваться для определения псевдонима столбца.
- Псевдоним столбца нельзя использовать в предложении WHERE.
- Псевдоним столбца в предложении WHERE должен быть заключен в двойные кавычки.
Ответ: C. Псевдоним столбца не может использоваться в условиях предложения WHERE, но может использоваться в операторе SELECT и предложении ORDER BY.
50. Вам необходимо отобразить имена сотрудников из таблицы СОТРУДНИКОВ, которые относятся к идентификатору отдела 100 с минимальной зарплатой 2000 или 4000 и без job_id. Вы выдаете следующий запрос.
SELECT first_name, dept_id, salary FROM employees WHERE dept_id = 100 AND (salary = 2000 OR salary = 4000) AND job_id <> '';
Какое утверждение верно в отношении вышеуказанного запроса?
- Он выполняется успешно, но не возвращает результата.
- Он успешно выполняется и возвращает требуемый результат.
- Он генерирует ошибку, потому что условие, указанное для job_id, недопустимо.
- Он генерирует ошибку, потому что условие, указанное для столбца зарплаты, недопустимо.
Ответ: A. Условие (зарплата = 2000 ИЛИ зарплата = 4000) приводит к значению ЛОЖЬ, потому что работник не может удерживать несколько зарплат одновременно.
51. Какие три задачи можно выполнить с помощью функций SQL, встроенных в базу данных Oracle? (Выберите три.)
- Отображение даты в формате не по умолчанию
- Нахождение количества символов в выражении
- Подстановка символьной строки в текстовое выражение с указанной строкой
- Объединение более двух столбцов или выражений в один столбец в выводе
Ответ: A, B, C. Используйте функции форматирования (TO_CHAR, TO_DATE) и символьные функции (LENGTH, REPLACE) для достижения целей.
52. Вам необходимо сгенерировать отчет, который отображает идентификаторы всех сотрудников в таблице EMPLOYEES, чья зарплата как минимум на 25% больше, чем значение 20000. Детали должны отображаться в порядке убывания зарплаты. Вы выдаете следующий запрос.
SELECT emp_id FROM employees WHERE salary>=20000*0.25 ORDER BY salary*0.25 DESC;
Какое утверждение верно в отношении вышеуказанного запроса?
- Он выполняет и выдает требуемый результат.
- Это приводит к ошибке, потому что выражение не может быть использовано в предложении ORDER BY.
- Это приводит к ошибке, поскольку опцию DESC нельзя использовать с выражением в предложении ORDER BY.
- Это приводит к ошибке, потому что выражение в предложении ORDER BY также должно быть указано в предложении SELECT.
Ответ: A. Предложение ORDER BY может содержать выражения столбцов.
53. Изучите структуру и данные таблицы TRAININGS:
Name Null? Type ----------------------------------------- -------- ------------- TRAINING_ID NOT NULL NUMBER(5) TRAINING_LOCATION NUMBER(7,2) START_DATE DATE END_DATE DATE
TRAINING_ID START_DATE TRAINING_COST ------ ---------------- ------------------------------------------------- 11 01-JAN-10 1000 22 01-FEB-10 2000 33 01-MAR-10 3000
Даты хранятся в формате даты по умолчанию dd-mon-rr в таблице TRAININGS. Какие три оператора SQL будут успешно выполнены? (Выберите три.)
-
SELECT start_date + '10' FROM trainings;
-
SELECT * FROM trainings WHERE start_date = '01-01-10';
-
SELECT training_cost FROM trainings WHERE training_id > '11';
-
SELECT * FROM trainings WHERE start_date ='01-JANUARY-10';
Ответ: А, С, D.
54. Какое из следующих утверждений является верным в отношении приведенного ниже запроса?
SELECT emp_id, first_name FROM employees ORDER BY dept_id;
- Предложение ORDER BY должно содержать только те столбцы, которые находятся в операторе SELECT.
- Приведенный выше запрос отсортирует набор результатов в порядке убывания.
- Предложение ORDER BY может содержать любой столбец в связанной таблице, необязательно столбцы в операторе SELECT.
- Выдает ошибку при выполнении.
Ответ: C. Предложение ORDER BY может использовать столбец для сортировки данных, которые не выбраны в списке столбцов, но содержатся в таблице, используемой в предложении FROM.
55. Какая особенность предложения ORDER BY продемонстрирована в следующем запросе?
SELECT emp_id, first_name “EmpName” FROM employees ORDER BY "EmpName";
- Предложение ORDER BY должно содержать только те столбцы, которые находятся в операторе SELECT.
- Приведенный выше запрос отсортирует набор результатов в порядке убывания имен сотрудников.
- Предложение ORDER BY работает с псевдонимами столбцов.
- Запрос SELECT вызывает ошибку при выполнении, поскольку псевдоним столбца нельзя использовать в предложении ORDER BY.
Ответ: C. Предложения ORDER BY прекрасно работают с псевдонимами столбцов, используемыми в операторе SELECT.
56. Что верно в отношении приведенного ниже запроса?
SELECT last_name, job_id, department_id, hire_date FROM employees ORDER BY 2;
- Он успешно выполняет сортировку результатов запроса на основе JOB_ID.
- Предложение ORDER BY не может содержать числа.
- Предложение ORDER BY не будет работать, поскольку ни один из столбцов в инструкции SELECT не используется в предложении ORDER BY.
- Запрос выдает ошибку при выполнении.
Ответ: A. Числовую позицию столбца можно использовать в предложении ORDER BY.
57. Вам нужно перечислить данные о сотрудниках для разных работ, но только по одной за раз.
SELECT emp_id, first_name, last_name FROM employees WHERE job_id....;
Что из перечисленного является более простым способом добиться того же в SQL * Plus?
- Замените каждый идентификатор работы за раз
- Используйте *, чтобы перечислить детали всех сотрудников
- Используйте & JOB, чтобы запрашивать ввод пользователя каждый раз, когда выполняется запрос
- Объявите переменные сеанса для замены значений идентификатора задания в запросе
Ответ: C. Нотация & X нарушает выполнение запроса и запрашивает ввод пользователя каждый раз, когда выполняется запрос.
58. Какое из следующих утверждений верно в отношении переменных подстановки в SQL?
- Один и тот же запрос может быть выполнен для разных значений с использованием переменных подстановки.
- Используя переменные подстановки, нужно каждый раз изменять предложение WHERE.
- Переменные подстановки не поддерживаются в Oracle.
- Существует ограничение, согласно которому предполагается, что значение вводится в переменные подстановки каждый раз во время выполнения запроса.
Ответ: А.
59. Какой из следующих типов данных назначен переменным подстановки?
- VARCHAR2
- ДАТА
- НЕТ ТИПА ДАННЫХ
- ЧИСЛО
Ответ: C. Переменные подстановки не имеют собственного типа данных, но соответствуют типу данных столбца, с которым они используются.
60. Что из перечисленного верно для переменных подстановки?
- Введенное в переменные значение остается постоянным, и пользователь не может изменить значения после первого выполнения запроса.
- Значение сохраняется в переменных после выполнения запроса один раз.
- Переменные подстановки поддерживают только NUMBERS.
- Значение, хранящееся в переменных подстановки (с использованием одного амперсанда), используется для первого выполнения и отбрасывается.
Ответ: Д.
61. Что из следующего является правильным синтаксисом для переменных подстановки в SQL * Plus?
- : вар
- $ вар
- & вар
- && вар
Ответ: C, D.
62. Какая из следующих переменных подстановки примет введенное значение один раз, а затем сохранит его до конца сеанса?
- && вар
- & вар
- : вар
- :: вар
Ответ: A. Переменная подстановки с двойным амперсандом многократно использует значение, предоставленное пользователем.
63. Что из следующего верно для переменных замещения?
- Только NUMBERS могут быть введены в качестве значений.
- Только символьные строки могут быть введены в качестве значений.
- И цифры и символы могут быть введены в качестве значений.
- Ни один из вышеперечисленных.
Ответ: C.
64. Что верно в отношении приведенного ниже запроса?
SELECT first_name, last_name, employee_id, salary FROM employees WHERE employee_id = &eid;
- Выдает ошибку «ORA-00904:« & eid »: неверный идентификатор»
- Это выполняется успешно.
- Предложение WHERE не может иметь переменных подстановки.
- Запрос запрашивает ввод значения для переменной & eid и успешно выполняется, принимая действительное значение employee_id.
Ответ: B, D.
65. Выберите утверждения, которые верны в отношении запроса, приведенного ниже.
SELECT first_name, last_name, &&prompt_col FROM employees ORDER BY &&promp_col;
- Выдает ошибку, так как использование переменной подстановки prompt_col недопустимо.
- Он выполняется успешно, но набор результатов не отсортирован.
- Он выполняется успешно, но значение переменной, введенное в операторе SELECT, игнорируется.
- Он успешно выполняется, и значение переменной подстановки сохраняется на протяжении всего сеанса.
Ответ: D. Переменная подстановки может использоваться во всех предложениях SQL-запроса.
66. Какая из следующих команд используется для создания и присвоения значения переменной подстановки в SQL * Plus?
- & вар
- && вар
- ЗАДАВАТЬ
- ОПРЕДЕЛИТЬ
Ответ: D. Используйте команду DEFINE в SQL * Plus, чтобы объявить переменную подстановки в сеансе.
67. Каков будет результат нижеуказанного действия в SQL * Plus?
DEFINE eid = 117 SELECT first_name, last_name, employee_id, salary FROM employees WHERE employee_id = &eid;
- Запрос SELECT выдает ошибку, поскольку переменные подстановки не могут быть определены в сеансе.
- Он предлагает пользователю ввести значение для переменной & eid.
- Он успешно выполняется с идентификатором сотрудника, замененным 117.
- Он игнорирует команду DEFINE, потому что переменная подстановки объявляется без знака амперсанда (&).
Ответ: C.
68. Что такое команда для удаления значения переменной подстановки, установленной командой DEFINE?
- Undefine
- ОТПРАВЛЯТЬСЯ
- УДАЛЯТЬ
- ЧИСТО
Ответ: A. Используйте команду UNDEFINE, чтобы удалить переменную подстановки из сеанса
69. Какая из следующих команд используется для проверки значений переменных подстановки до и после выполнения SQL-запроса?
- ОПРЕДЕЛИТЬ
- Undefine
- ПОКАЗАТЬ ПЕРЕМЕННЫЕ
- ПРОВЕРКИ
Ответ: D. Используйте команду VERIFY в SQL * Plus и SQL Developer, чтобы проверить подстановку значений с помощью переменных подстановки.
70. Какие из перечисленных ниже допустимых операторов для предложения WHERE?
- > =
- НУЛЕВОЙ
- знак равно
- КАК
Ответ: A, B, C.
71. Оцените следующий запрос:
SELECT ename || q'{'s salary is }' || sal AS "Salary" FROM emp;
Что происходит при выполнении вышеуказанного запроса?
- Выдает ошибку, поскольку фигурные скобки нельзя использовать с оператором [q]
- Выдает ошибку из-за несоответствия типов данных
- Выполняется успешно и добавляет апостроф (ы) в конце имени каждого сотрудника
- Выполняется успешно и добавляет имя сотрудника с литералом «{дата начала была}»
Ответ: C.
72. Какие из приведенных ниже предикатов предложения WHERE будут правильно перечислять сотрудников из отдела 20?
- ГДЕ ДЕПТНО 20
- ГДЕ ДЕПТНО 20
- ГДЕ ДЕПТНО = 20
- ГДЕ 20 = Дептно
Ответ: C, D. Оператор равенства (=) используется для сравнения операндов в условии равенства.
73. Напишите запрос SELECT, чтобы перечислить сотрудников, чья зарплата превышает 1000.
-
SELECT ename, sal FROM emp WHERE sal GREATER THAN 1000
-
SELECT ename, sal FROm emp WHERE sal > 1000
-
SELECT ename, sal FROM emp WHERE sal >= 1000
-
SELECT ename, sal FROM emp WHERE sal MORE THAN 1000
Ответ: B. Оператор больше чем (>) используется для сравнения операндов в условии.
74. Что произойдет, если приведенный ниже запрос будет выполнен в SQL * Plus?
SELECT ename, sal, deptno FROM emp WHERE sal/10 > deptno*10;
- Выполняется успешно и перечисляет сотрудников, чья 10-я часть зарплаты больше, чем в 10 раз номер его отдела
- Вызывает ошибку, потому что выражения должны быть заключены в скобки
- Вызывает ошибку, потому что предложение WHERE не может оценить выражения
- Вызывает ошибку, потому что предложение WHERE не может использовать литералы
Ответ: A. Предложение WHERE может содержать выражения.
75. Определите ошибку в приведенном ниже операторе SELECT.
SELECT ename, deptno, sal FROM emp WHERE job=CLERK;
- Предложение WHERE не может ссылаться на JOB столбца, поскольку оно не отображается в списке столбцов SELECT.
- Символьный литерал CLERK должен быть заключен в одинарные кавычки
- Символьный литерал CLERK должен быть заключен в скобки
- Нет ошибки в запросе
Ответ: B. Символьные литералы должны быть заключены в одинарные кавычки
76. Интерпретировать вывод приведенного ниже SQL-запроса.
SELECT ename, deptno, sal FROM emp WHERE sysdate-hiredate > 100;
- В запросе перечислены сотрудники, чей срок приема не менее чем на 100 дней раньше текущей даты.
- В запросе перечислены сотрудники, проработавшие в компании более 100 дней.
- В запросе перечислены сотрудники, у которых наем после 100 дней в этом году
- В запросе перечислены сотрудники, которые провели в компании менее 100 дней.
Ответ: A, B. Выражения даты могут быть использованы в предложении WHERE.
77. Какой из следующих запросов будет отображать сотрудников, которые были наняты после 31 декабря 1982 года?
-
SELECT ename, deptno FROM emp WHERE hiredate > '31-DEC-1982';
-
SELECT ename, deptno FROM emp WHERE hiredate > to_date('31-DEC-1982','DD-MM-YYYY');
-
SELECT ename, deptno FROM emp WHERE hiredate > to_char('31-DEC-1982','DD-MM-YYYY');
-
SELECT ename, deptno FROM emp WHERE hiredate > 31-DEC-1982;
Ответ: A, B. Литералы даты должны быть заключены в одинарные кавычки.
78. Какие из следующих условий, ГДЕ будут перечислять сотрудников, которые были наняты на текущую дату?
- ГДЕ sysdate-hiredate = 0
- ГДЕ sysdate = hiredate
- ГДЕ sysdate-hiredate <1
- ГДЕ to_date (sysdate, ‘DD-MON-YYYY’) = to_date (hiredate = ‘DD-MON-YYYY’)
Ответ: C, D. Условие SYSDATE = HIREDATE не будет работать, поскольку SYSDATE содержит динамический компонент метки времени, а hiredate является статическим значением в базе данных.
79. Какие из перечисленных ниже допустимых форматов литералов даты могут использоваться в предложении WHERE?
- 24 / Март / 95
- 02-12-1983
- 19-JUN-2001
- 31.04.2010
Ответ: A, C. Формат по умолчанию для литералов даты — DD-MON-RR.