Учебники

Ограничение и сортировка вопросов о данных

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

  1. ПРЕДЕЛ
  2. ГДЕ
  3. А ТАКЖЕ
  4. ОТ

Ответ: B. Предложение WHERE используется для ограничения количества строк, возвращаемых из запроса SELECT.

2. Выберите элементы базы данных, значения которых можно сравнить в предложении WHERE запроса SELECT.

  1. колонка
  2. Последовательность
  3. Процедура
  4. буквальный

Ответ: A, D. Предложение WHERE может использоваться для сравнения значений из столбцов, литералов, арифметических функций и функций.

3. Какие элементы НЕ содержатся в предикате предложения WHERE запроса SELECT?

  1. Оператор сравнения
  2. Условие сравнения
  3. Название столбца
  4. Имя таблицы

Ответ: D. Имя таблицы не требуется в предикате предложения WHERE.

4. Какие из следующих значений НЕ могут быть возвращены после оценки условия предложения WHERE?

  1. НЕИЗВЕСТНЫЙ
  2. ПРАВДА
  3. ЛОЖНЫЙ
  4. НОЛЬ

Ответ: A. Если результат условия в предложении WHERE неизвестен, возвращается NULL. Во всех других сценариях возвращается ИСТИНА или ЛОЖЬ.

5. Какое минимальное количество предложений WHERE должно присутствовать в запросе SELECT?

  1. 1
  2. 2
  3. 0
  4. 3

Ответ: C. Предложение WHERE является необязательным предложением в запросе SELECT, которое используется только для ограничения количества строк.

6. Какое максимальное количество предложений WHERE может быть включено в запрос SELECT?

  1. 1
  2. 2
  3. 0
  4. 3

Ответ: A. Предложение WHERE является необязательным предложением в запросе SELECT, которое можно использовать только один раз, чтобы ограничить количество строк.

7. Какие из следующих утверждений верны в отношении предложения WHERE?

  1. Псевдоним столбца может использоваться в предложении WHERE для ссылки на столбец
  2. Оператор сравнения является необязательным элементом в условии условия WHERE
  3. Функции могут использоваться как операнды в предложении WHERE
  4. В запросе SELECT может быть несколько предложений WHERE.

Ответ: C. Предложение WHERE должно иметь оператор сравнения для оценки условия. Он может использовать функцию в качестве одного из операндов. В запросе SELECT допускается только одно предложение WHERE.

8. Напишите запрос SELECT для вывода списка уникальных отделов из таблицы EMP?

  1. SELECT deptno FROM emp;
  2. SELECT DISTINCT deptno FROM emp;
  3. SELECT DISTINCT (deptno) FROM emp;
  4. SELECT empno, DISTINCT deptno FROM emp;

Ответ: B & C. Ключевое слово DISTINCT используется для фильтрации дублирующихся строк из запроса SELECT.

9. Какие из следующих операций разрешены для столбцов даты и времени?

  1. разделение
  2. прибавление
  3. Вычитание
  4. конкатенация

Ответ: B, C и D. Сложение, вычитание и объединение — это операции, разрешенные для столбцов даты и метки времени.

10. Из приведенных ниже операторов какой из них имеет самый высокий уровень приоритета?

  1. Отдел (/)
  2. Умножение (*)
  3. Скобки ( () )
  4. Вычитание

Ответ: C. Выражения в скобках содержат самый высокий уровень приоритета.

11. Интерпретировать вывод, возвращенный нижеуказанным запросом SELECT.

SELECT ename, (sysdate - hiredate)
FROM emp;
  1. Количество дней в текущем году
  2. Количество дней в году, когда сотрудник был нанят
  3. Количество дней, проведенных сотрудником в компании
  4. Запрос вызывает исключение «ORA-00932: несовместимые типы данных: ожидаемый номер получен ДАТА»

Ответ: C. Выражение (sysdate-hiredate) возвращает количество рабочих дней сотрудника в компании.

12. Какие из приведенных ниже утверждений правильно описывают таблицу DUAL в Oracle?

  1. DUAL таблица — это временная таблица в базе данных Oracle
  2. Таблица DUAL содержит только один столбец символьного типа, известный как DUMMY
  3. ДВОЙНАЯ таблица, принадлежащая SYS, не может быть удалена
  4. Таблица с именем DUAL может быть создана пользователем в его собственной схеме

Ответ: B, C, D. Таблица DUAL в Oracle принадлежит SYS и содержит один столбец DUMMY типа VARCHAR2 (1).

13. Определите тип вывода, возвращаемый запросом ниже

SELECT sysdate - hiredate
FROM emp
WHERE empno=7369;
  1. Тип данных DATE
  2. NUMBER тип данных
  3. Тип данных VARCHAR2
  4. Запрос вызывает ошибку, так как арифметические операции не могут быть выполнены для столбцов даты

Ответ: B. Вычитание между двумя датами приводит к числовой разнице дней между двумя датами.

14. Какие выражения НЕ возвращают значения NULL?

  1. SELECT ((10 + 20) * 50) + null from dual;
  2. SELECT 'this is a '||null||'test with nulls' from dual;
  3. SELECT null/0 from dual;
  4. SELECT null||'test'||null as Test from dual;

Ответ: B, D. Любая арифметическая операция с NULL приводит к NULL.

15. Определите результат запроса ниже

SELECT 'Tutorial''s Point compiles technical tutorials' FROM DUAL;
  1. Tutorial’s Point составляет технические руководства
  2. Учебное пособие составляет технические уроки
  3. ‘Tutorial»s Point составляет технические уроки’
  4. Вызывает исключение «ORA-01756: строка в кавычках не завершена должным образом»

Ответ: Б.

16. Изучите таблицу ОБУЧЕНИЯ, как указано ниже:

 Name                                      Null?    Type
 ----------------------------------------- -------- -------------

 TRAINING_ID                               NOT NULL NUMBER(5)
 TRAINING_LOCATION                                  NUMBER(7,2)
 START_DATE                                         DATE
 END_DATE                                           DATE

Какие два SQL будут успешно выполнены? (Выберите два)

  1. SELECT NVL (ADD_MONTHS (END_DATE,1),SYSDATE) FROM training;
  2. SELECT TO_DATE (NVL(SYSDATE-END_DATE,SYSDATE)) FROM training;
  3. SELECT NVL(MONTHS_BETWEEN(START_DATE,END_DATE),’In Progress’) FROM training;
  4. SELECT NVL(TO_CHAR(MONTHS_BETWEEN(START_DATE,END_DATE)),’In Progress’) FROM training;

Ответ: A, D. Используйте функцию NVL для предоставления альтернативного значения столбцу, когда NULL.

17. Как называется выбор столбцов в операторе SELECT?

  1. поиск
  2. выбор
  3. проекция
  4. ограничения

Ответ: C. Проекция — это возможность выбирать только необходимые столбцы в операторе SELECT.

18. Что означает ограничение строк, возвращаемое оператором SELECT, известным как

  1. поиск
  2. проекция
  3. Ограничивая
  4. выбор

Ответ: C. Ограничение — это возможность ограничить количество строк, поставив определенные условия.

19. Что из следующего верно в отношении запроса, приведенного ниже?

SELECT col1, col2 
FROM tab1
ORDER BY col1;
  1. Все строки для столбца COL1 будут отсортированы в порядке убывания.
  2. Все строки для столбца COL1 будут отсортированы в порядке возрастания.
  3. Запрос выдаст ошибку, поскольку в запросе нет предложения WHERE.
  4. Запрос выдаст ошибку, так как предложение ORDER BY должно включать все столбцы в предложении SELECT.

Ответ: B. По умолчанию предложение ORDER BY сортирует значения в порядке возрастания.

20. Что из следующего верно в отношении SQL-запроса, приведенного ниже?

SELECT col1,col2
FROM tab1
WHERE col1 = 'A'
ORDER BY col2 DESC, col1;
  1. Он отобразит строку, у которой значение col1 равно «A», упорядоченное col1 в порядке убывания, а затем col2 в порядке убывания.
  2. Предложение ORDER BY не будет работать, поскольку ключевое слово DESC должно всегда записываться в конце предложения ORDER BY, а не между ними, как указано в запросе.
  3. Приведенный выше запрос будет отсортирован в порядке убывания только на основе col2, а использование col1 в предложении ORDER BY будет отклонено.
  4. Он отобразит строку со значением col1 в виде ‘A’, упорядоченного col1, а затем, за которым следует col2, поскольку выполнение предложения ORDER BY происходит из порядка столбцов в инструкции SELECT.

Ответ: C. Поскольку COL1 уже отфильтрован и зафиксирован в запросе как скалярное значение, сортировка не будет выполняться на основе COL1.

21. Что верно в отношении запроса, приведенного ниже?

SELECT col1, col2
FROM  tab1
ORDER BY col1,col2
WHERE col2 = 'B';
  1. Выполняется успешно
  2. Это дает требуемый результат со значением COL2 как «B», но без упорядочения по столбцам COL1 и COL2, потому что предложение ORDER BY появляется перед предложением WHERE.
  3. Он отобразит строку, которая имеет значение COL2 как «B», упорядоченное по COL1, COL2.
  4. Он выдает ошибку, поскольку предложение ORDER BY не может быть записано перед предложением WHERE в Oracle.

Ответ: D. Предложение ORDER BY должно появляться после предложения WHERE в операторе SELECT.

22. Какие два предложения оператора SELECT необходимы для выбора и проекции?

  1. ВЫБРАТЬ ИЗ
  2. ЗАКАЗАТЬ, ГДЕ
  3. ВЫБЕРИТЕ, ГДЕ
  4. ВЫБРАТЬ, ЗАКАЗАТЬ ПО

Ответ: C.

23. Какие из следующих предложений WHERE НЕ поместятся в приведенном ниже запросе SELECT?

SELECT ename, deptno, sal 
FROM emp;
  1. ГДЕ НАПРАВЛЕНО (’02-ИЮН-2004 ‘);
  2. ГДЕ ПРОДАЖА («1000», «4000», «2000»);
  3. ГДЕ РАБОТАЕТ (ПРОДАЖА, КЛЕРК);
  4. ГДЕ СВЯЗЬ МЕЖДУ 0,1 И 0,5;

Ответ: C. Символьные литералы должны быть заключены в одинарные кавычки

24. Выберите предложение WHERE, которое извлекает значения DNAME, содержащие символьный литерал «er», из таблицы DEPT.

  1. Где DNAME IN (‘% e% r’);
  2. WHERE DNAME LIKE «% er%»;
  3. ГДЕ ДАМИН МЕЖДУ ‘e’ И ‘r’;
  4. ГДЕ DNAME СОДЕРЖИТ ‘e% r’;

Ответ: B. Оператор LIKE используется для поиска по шаблону в запросах SQL.

25. Какие два из следующих условий эквивалентны друг другу?

  1. ГДЕ КОММ НУЛЬ
  2. ГДЕ комм = NULL
  3. ГДЕ КОМ ВХОД (НУЛЬ)
  4. ГДЕ НЕТ (comm не NULL)

Ответ: A, D. Оператор NOT можно использовать для отмены действия своего операнда. Поэтому (COMM IS NULL) эквивалентно (NOT (COMM IS NOT NULL)).

26. Какие из следующих пунктов являются обязательными в запросе SQL?

  1. ВЫБРАТЬ ИЗ
  2. ВЫБРАТЬ, FROM, WHERE
  3. ВЫБОР, ГДЕ
  4. ВЫБЕРИТЕ, ГДЕ, ЗАКАЗАТЬ

Ответ: A. SELECT и FROM являются обязательными предложениями в запросе SELECT.

27. Какие три из следующих условий условия WHERE эквивалентны друг другу?

  1. ГДЕ ПРОДАЖА <= 5000 И ПРОДАЖА> = 2000
  2. ГДЕ ПРОДАЕТСЯ (2000,3000,4000,5000)
  3. ГДЕ ПРОДАЖА МЕЖДУ 2000 И 5000
  4. ГДЕ ПРОДАЖА> 1999 И ПРОДАЖА <5001

Ответ: A, C, D. Условия могут быть эквивалентны с использованием IN, BETWEEN и реляционных операторов.

28. Что из следующего верно в отношении приведенного ниже запроса?

SELECT empno, ename, job
FROM emp
WHERE ename like '_ith%';
  1. Он извлекает идентификатор сотрудника, имя и должность тех сотрудников, чье имя указано в любом месте.
  2. Он выбирает идентификатор сотрудника, имя и должность тех сотрудников, чье имя начинается с ‘ith’.
  3. Запрос выдает ошибку, поскольку два выражения для сопоставления строк не могут быть записаны вместе.
  4. Он выбирает идентификатор сотрудника, имя и должность тех сотрудников, чье имя начинается с любого буквенно-цифрового символа, за которым следует «ith», а любые буквенно-цифровые символы после «ith».

Ответ: Д.

29. Что из следующего используется для завершения SQL-запроса?

  1. :
  2. ;
  3. ,
  4. /

Ответ: B, D. Точка с запятой (;) или обратная косая черта (/) используется для завершения запроса в SQL * Plus и SQL Developer.

30. Сотрудники ДЖЕЙМС и МИЛЛЕР хотят узнать идентификатор своего отдела, отправив запрос в базу данных. Какой из следующих запросов даст требуемый результат?

  1. SELECT ename, deptno FROM emp WHERE ename = 'JAMES';
  2. SELECT ename, deptno FROM emp WHERE ename = 'MILLER';
  3. SELECT ename, deptno FROM dept
  4. SELECT ename, deptno FROM emp WHERE ename = 'JAMES' OR ename = 'MILLER' 

Ответ: D. Несколько условий могут быть объединены с помощью предложения OR. Выполнение запроса считается успешным, если любое из двух значений истинно.

31. Что из следующего является ложным в отношении предложения WHERE?

  1. WHERE может сравнивать значения в столбцах, литералах, арифметических выражениях или функциях.
  2. Предложение WHERE содержит имя столбца
  3. Псевдонимы столбцов могут использоваться в предложении WHERE.
  4. Предложение WHERE не может содержать список значений или констант.

Ответ: C, D.

32. Какой формат даты по умолчанию в Oracle?

  1. DD-MON-YY
  2. DD-MON-YYYY
  3. DD-MM-RR
  4. 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”;
  1. Получает данные о сотрудниках для всех сотрудников SALES.
  2. Выдает ошибку «ORA-00904:« 01-JAN-13 »: неверный идентификатор»
  3. Запрос выполняется успешно, но результаты не возвращаются
  4. Он выбирает данные для всех сотрудников SALES, которые были приняты на работу 01 января 1997 года.

Ответ: B. Литералы даты должны быть заключены в одинарные кавычки.

34. Вам необходимо отобразить имена всех сотрудников, чье имя называется «ГАРРИ», из таблицы «СОТРУДНИКИ». Какой из следующих запросов будет соответствовать требованию?

  1. SELECT first_name FROM employees WHERE first_name LIKE 'GARRY%';
  2. SELECT first_name FROM employees WHERE first_name LIKE '%GARRY%';
  3. SELECT first_name FROM employees WHERE first_name LIKE 'GARRY';
  4. SELECT first_name FROM employees WHERE first_name LIKE '_ARRY%';

Ответ: C. Подстановочные знаки можно использовать, если определенные символы строки поиска неизвестны.

35. Вам нужно отобразить идентификатор сотрудника всех сотрудников, которые содержат букву «s» в своей фамилии на второй позиции и идентификатор отдела как 100. Какой из следующих запросов принесет требуемые результаты?

  1. SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '%s%';
  2. SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '%s_';
  3. SELECT emp_id FROM employees WHERE dept_id = 100 AND last_name LIKE '_s_%';
  4. 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';
  1. Будут отображены имя, фамилия и идентификатор отдела для всех сотрудников, которые присоединились в 1998 году.
  2. Будут отображены имя, фамилия и идентификатор отдела для всех сотрудников, которые присоединились к 2098 году.
  3. Результаты не будут возвращены.
  4. Будут отображены имя, фамилия и идентификатор отдела для всех сотрудников, которые присоединились в 1998 году с 1 января 1998 года по 31 декабря 1998 года.

Ответ: D. Оператор LIKE используется для поиска по шаблону символов и литералов даты.

37. Что из следующего используется для получения строк, основанных на диапазоне значений?

  1. СОЮЗ ВСЕХ
  2. В
  3. МЕЖДУ
  4. ЛАЙК

Ответ: C. Оператор BETWEEN используется для извлечения строк на основе диапазона значений.

38. Вам необходимо отобразить идентификаторы сотрудников, у которых зарплата составляет от 20000 (включительно) до 50000 (включительно). Какой из следующих запросов принесет требуемые результаты?

  1. SELECT emp_id FROM employees WHERE salary >=20000 AND salary <=50000;
  2. SELECT emp_id FROM employees WHERE salary IN (20000, 50000);
  3. SELECT emp_id FROM employees WHERE salary >20000 AND salary <50000;
  4. 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%';
  1. На нем будут отображаться все сотрудники с фамилиями, начиная с алфавита ‘B’ до ‘E’, включая B и исключая E.
  2. Он выдаст ошибку, так как BETWEEN может использоваться только для чисел, а не для строк.
  3. На нем будут отображаться все сотрудники, имеющие фамилии, начиная с «B» и заканчивая «E».
  4. В нем будут отображаться все сотрудники с фамилиями в диапазоне начальных алфавитов как «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;

  1. Он покажет всех сотрудников, находящихся под менеджерами, имеющих ID в диапазоне от 100 до 300.
  2. Он покажет всех сотрудников, которые находятся под менеджерами, имеющие идентификаторы 100, 200 или 300.
  3. Это выдаст ошибку, поскольку идентификаторы менеджера должны быть заключены в кавычки.
  4. Он выдаст ошибку, так как сортировка manager_id в предложении WHERE вступит в конфликт с предложением ORDER BY.

Ответ: B. Оператор IN может использоваться для обеспечения небольшого и ограниченного количества диапазона.

41. Какой из следующих пунктов определяет условие членства?

  1. МЕЖДУ
  2. ЛАЙК
  3. НУЛЕВОЙ
  4. IN (НЕ IN)

Ответ: D. Оператор IN определяет условие членства, которое может использовать диапазон значений или подзапрос.

42. Какой из следующих типов данных можно использовать в операторе IN?

  1. VARCHAR2
  2. ЧИСЛО
  3. ДАТА
  4. ВСЕ

Ответ: D. Оператор IN работает со всеми типами значений.

43. Вам необходимо отобразить список всех сотрудников, чье имя начинается с «Брайан» или «Джейсон». Какой из следующих запросов будет соответствовать требованию?

  1. SELECT emp_id, last_name, first_name FROM employees WHERE first_name LIKE 'Bryan%' OR first_name LIKE 'Jason%';
  2. SELECT emp_id, last_name, first_name FROM employees WHERE first_name BETWEEN 'Bryan' and 'Jason' ;
  3. SELECT emp_id, last_name, first_name FROM employees WHERE first_name IN ('Bryan', 'Jason');
  4. SELECT emp_id, last_name, first_name FROM employees WHERE first_name = 'Bryan' OR first_name = 'Jason'

Ответ: C, D. Оператор IN проверяет ЛЮБЫЕ значения, определенные как условие принадлежности.

44. Вам необходимо извлечь данные о тех отделах, название которых содержит строку «_DXX». Какие из приведенных ниже предложений WHERE можно использовать в операторе SELECT для получения требуемого результата?

  1. ГДЕ dept_id НРАВИТСЯ ‘% _DXX%’ ESCAPE ‘_’
  2. ГДЕ dept_id НРАВИТСЯ ‘% \ _ DXX%’ ESCAPE ‘\’
  3. ГДЕ dept_id LIKE ‘% _D123%’ ESCAPE ‘% _’
  4. ГДЕ dept_id НРАВИТСЯ ‘% \ _ D123%’ ESCAPE ‘\ _’

Ответ: Б.

45. Какое утверждение верно в отношении поведения по умолчанию предложения ORDER BY?

  1. В сортировке символов значения чувствительны к регистру.
  2. Значения NULL вообще не учитываются операцией сортировки.
  3. В предложении ORDER BY могут использоваться только те столбцы, которые указаны в списке SELECT.
  4. Числовые значения отображаются от максимального до минимального значения, если они имеют десятичные позиции.

Ответ: A. Предложение ORDER BY выполняет чувствительную к регистру сортировку со значениями символов.

46. ​​Вам необходимо сформировать отчет о всех сотрудниках из таблицы EMPLOYEES на основе следующих условий: 1. Имя сотрудника не должно начинаться с «T» или «N». 2. Заработная плата сотрудника должна быть более 20000. 3. Сотрудник должен был быть принят на работу после 1 января 2010 года. Какой пункт WHERE даст требуемый результат?

  1. ГДЕ first_name НЕ НРАВИТСЯ ‘T%’ ИЛИ ​​first_name НЕ НРАВИТСЯ ‘N%’ И ЗАРЛЯТОР> 20000 И hire_date> ‘1-ЯНВ-10’
  2. ГДЕ (имя_папка НЕ ​​НРАВИТСЯ ‘T%’ И имя_ПРАВИЛО НЕ НРАВИТСЯ ‘N%’) ИЛИ оклад> 20000 ИЛИ hire_date> ‘1-ЯНВ-10’
  3. ГДЕ first_name НЕ НРАВИТСЯ ‘T%’ И ИМЯ_МЕНИ НЕ НРАВИТСЯ ‘N%’ И Зарплата> 20000 И hire_date> ‘1-JAN-10’
  4. ГДЕ (имя_папка НЕ ​​НРАВИТСЯ ‘% T%’ ИЛИ ​​имя_первое НЕ НРАВИТСЯ ‘% N%’) И (зарплата> 20000 И НАМЕР_Дата> ‘1-ЯНВ-10’)

Ответ: C.

47. Используя таблицу EMPLOYEES, вам необходимо отобразить имена всех сотрудников, принятых на работу после 1 января 2013 года, начиная с освежителей. Какой запрос даст нужный результат? (Выберите все подходящие варианты.)

  1. SELECT first_name, hire_date FROM employees WHERE hire_date > '01-JAN-13' ORDER BY 2 DESC;
  2. SELECT first_name, hire_date FROM employees WHERE hire_date > '01-JAN-13' ORDER BY first_name DESC;
  3. SELECT first_name, hire_date FROM employees WHERE hire_date > '01-JAN-13' ORDER BY 1 DESC;
  4. 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 года. Какие два запроса дадут требуемый результат? (Выберите два.)

  1. SELECT first_name, salary FROM employees WHERE dept_id IN (100,101) AND hire_date BETWEEN '15-MAR-12' AND '15-OCT-12';
  2. 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';
  3. SELECT first_name, salary FROM employees WHERE (dept_id BETWEEN 100 AND 101) AND (hire_date IN ('15-MAR-12','15-OCT-12'));
  4. 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. В чем причина ошибки?

  1. В выражении, используемом в операторе SELECT, отсутствует скобка.
  2. Одиночные кавычки должны использоваться для определения псевдонима столбца.
  3. Псевдоним столбца нельзя использовать в предложении WHERE.
  4. Псевдоним столбца в предложении 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 <> '';

Какое утверждение верно в отношении вышеуказанного запроса?

  1. Он выполняется успешно, но не возвращает результата.
  2. Он успешно выполняется и возвращает требуемый результат.
  3. Он генерирует ошибку, потому что условие, указанное для job_id, недопустимо.
  4. Он генерирует ошибку, потому что условие, указанное для столбца зарплаты, недопустимо.

Ответ: A. Условие (зарплата = 2000 ИЛИ зарплата = 4000) приводит к значению ЛОЖЬ, потому что работник не может удерживать несколько зарплат одновременно.

51. Какие три задачи можно выполнить с помощью функций SQL, встроенных в базу данных Oracle? (Выберите три.)

  1. Отображение даты в формате не по умолчанию
  2. Нахождение количества символов в выражении
  3. Подстановка символьной строки в текстовое выражение с указанной строкой
  4. Объединение более двух столбцов или выражений в один столбец в выводе

Ответ: 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;

Какое утверждение верно в отношении вышеуказанного запроса?

  1. Он выполняет и выдает требуемый результат.
  2. Это приводит к ошибке, потому что выражение не может быть использовано в предложении ORDER BY.
  3. Это приводит к ошибке, поскольку опцию DESC нельзя использовать с выражением в предложении ORDER BY.
  4. Это приводит к ошибке, потому что выражение в предложении 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 будут успешно выполнены? (Выберите три.)

  1. SELECT start_date + '10' FROM trainings;
  2. SELECT * FROM trainings WHERE start_date = '01-01-10';
  3. SELECT training_cost FROM trainings WHERE training_id > '11';
  4. SELECT * FROM trainings WHERE start_date ='01-JANUARY-10';

Ответ: А, С, D.

54. Какое из следующих утверждений является верным в отношении приведенного ниже запроса?

SELECT emp_id, first_name 
FROM employees
ORDER BY dept_id;
  1. Предложение ORDER BY должно содержать только те столбцы, которые находятся в операторе SELECT.
  2. Приведенный выше запрос отсортирует набор результатов в порядке убывания.
  3. Предложение ORDER BY может содержать любой столбец в связанной таблице, необязательно столбцы в операторе SELECT.
  4. Выдает ошибку при выполнении.

Ответ: C. Предложение ORDER BY может использовать столбец для сортировки данных, которые не выбраны в списке столбцов, но содержатся в таблице, используемой в предложении FROM.

55. Какая особенность предложения ORDER BY продемонстрирована в следующем запросе?

SELECT emp_id, first_name EmpName
FROM employees
ORDER BY "EmpName";
  1. Предложение ORDER BY должно содержать только те столбцы, которые находятся в операторе SELECT.
  2. Приведенный выше запрос отсортирует набор результатов в порядке убывания имен сотрудников.
  3. Предложение ORDER BY работает с псевдонимами столбцов.
  4. Запрос SELECT вызывает ошибку при выполнении, поскольку псевдоним столбца нельзя использовать в предложении ORDER BY.

Ответ: C. Предложения ORDER BY прекрасно работают с псевдонимами столбцов, используемыми в операторе SELECT.

56. Что верно в отношении приведенного ниже запроса?

SELECT last_name, job_id, department_id, hire_date 
FROM employees
ORDER BY 2;
  1. Он успешно выполняет сортировку результатов запроса на основе JOB_ID.
  2. Предложение ORDER BY не может содержать числа.
  3. Предложение ORDER BY не будет работать, поскольку ни один из столбцов в инструкции SELECT не используется в предложении ORDER BY.
  4. Запрос выдает ошибку при выполнении.

Ответ: A. Числовую позицию столбца можно использовать в предложении ORDER BY.

57. Вам нужно перечислить данные о сотрудниках для разных работ, но только по одной за раз.

SELECT emp_id, first_name, last_name FROM employees WHERE job_id....;

Что из перечисленного является более простым способом добиться того же в SQL * Plus?

  1. Замените каждый идентификатор работы за раз
  2. Используйте *, чтобы перечислить детали всех сотрудников
  3. Используйте & JOB, чтобы запрашивать ввод пользователя каждый раз, когда выполняется запрос
  4. Объявите переменные сеанса для замены значений идентификатора задания в запросе

Ответ: C. Нотация & X нарушает выполнение запроса и запрашивает ввод пользователя каждый раз, когда выполняется запрос.

58. Какое из следующих утверждений верно в отношении переменных подстановки в SQL?

  1. Один и тот же запрос может быть выполнен для разных значений с использованием переменных подстановки.
  2. Используя переменные подстановки, нужно каждый раз изменять предложение WHERE.
  3. Переменные подстановки не поддерживаются в Oracle.
  4. Существует ограничение, согласно которому предполагается, что значение вводится в переменные подстановки каждый раз во время выполнения запроса.

Ответ: А.

59. Какой из следующих типов данных назначен переменным подстановки?

  1. VARCHAR2
  2. ДАТА
  3. НЕТ ТИПА ДАННЫХ
  4. ЧИСЛО

Ответ: C. Переменные подстановки не имеют собственного типа данных, но соответствуют типу данных столбца, с которым они используются.

60. Что из перечисленного верно для переменных подстановки?

  1. Введенное в переменные значение остается постоянным, и пользователь не может изменить значения после первого выполнения запроса.
  2. Значение сохраняется в переменных после выполнения запроса один раз.
  3. Переменные подстановки поддерживают только NUMBERS.
  4. Значение, хранящееся в переменных подстановки (с использованием одного амперсанда), используется для первого выполнения и отбрасывается.

Ответ: Д.

61. Что из следующего является правильным синтаксисом для переменных подстановки в SQL * Plus?

  1. : вар
  2. $ вар
  3. & вар
  4. && вар

Ответ: C, D.

62. Какая из следующих переменных подстановки примет введенное значение один раз, а затем сохранит его до конца сеанса?

  1. && вар
  2. & вар
  3. : вар
  4. :: вар

Ответ: A. Переменная подстановки с двойным амперсандом многократно использует значение, предоставленное пользователем.

63. Что из следующего верно для переменных замещения?

  1. Только NUMBERS могут быть введены в качестве значений.
  2. Только символьные строки могут быть введены в качестве значений.
  3. И цифры и символы могут быть введены в качестве значений.
  4. Ни один из вышеперечисленных.

Ответ: C.

64. Что верно в отношении приведенного ниже запроса?

SELECT first_name, last_name, employee_id, salary 
FROM employees 
WHERE employee_id = &eid;
  1. Выдает ошибку «ORA-00904:« & eid »: неверный идентификатор»
  2. Это выполняется успешно.
  3. Предложение WHERE не может иметь переменных подстановки.
  4. Запрос запрашивает ввод значения для переменной & eid и успешно выполняется, принимая действительное значение employee_id.

Ответ: B, D.

65. Выберите утверждения, которые верны в отношении запроса, приведенного ниже.

SELECT first_name, last_name, &&prompt_col 
FROM employees
ORDER BY &&promp_col;
  1. Выдает ошибку, так как использование переменной подстановки prompt_col недопустимо.
  2. Он выполняется успешно, но набор результатов не отсортирован.
  3. Он выполняется успешно, но значение переменной, введенное в операторе SELECT, игнорируется.
  4. Он успешно выполняется, и значение переменной подстановки сохраняется на протяжении всего сеанса.

Ответ: D. Переменная подстановки может использоваться во всех предложениях SQL-запроса.

66. Какая из следующих команд используется для создания и присвоения значения переменной подстановки в SQL * Plus?

  1. & вар
  2. && вар
  3. ЗАДАВАТЬ
  4. ОПРЕДЕЛИТЬ

Ответ: D. Используйте команду DEFINE в SQL * Plus, чтобы объявить переменную подстановки в сеансе.

67. Каков будет результат нижеуказанного действия в SQL * Plus?

DEFINE eid = 117 

SELECT first_name, last_name, employee_id, salary 
FROM employees 
WHERE employee_id = &eid;
  1. Запрос SELECT выдает ошибку, поскольку переменные подстановки не могут быть определены в сеансе.
  2. Он предлагает пользователю ввести значение для переменной & eid.
  3. Он успешно выполняется с идентификатором сотрудника, замененным 117.
  4. Он игнорирует команду DEFINE, потому что переменная подстановки объявляется без знака амперсанда (&).

Ответ: C.

68. Что такое команда для удаления значения переменной подстановки, установленной командой DEFINE?

  1. Undefine
  2. ОТПРАВЛЯТЬСЯ
  3. УДАЛЯТЬ
  4. ЧИСТО

Ответ: A. Используйте команду UNDEFINE, чтобы удалить переменную подстановки из сеанса

69. Какая из следующих команд используется для проверки значений переменных подстановки до и после выполнения SQL-запроса?

  1. ОПРЕДЕЛИТЬ
  2. Undefine
  3. ПОКАЗАТЬ ПЕРЕМЕННЫЕ
  4. ПРОВЕРКИ

Ответ: D. Используйте команду VERIFY в SQL * Plus и SQL Developer, чтобы проверить подстановку значений с помощью переменных подстановки.

70. Какие из перечисленных ниже допустимых операторов для предложения WHERE?

  1. > =
  2. НУЛЕВОЙ
  3. знак равно
  4. КАК

Ответ: A, B, C.

71. Оцените следующий запрос:

SELECT ename || q'{'s salary is }' || sal
AS "Salary"
FROM emp;

Что происходит при выполнении вышеуказанного запроса?

  1. Выдает ошибку, поскольку фигурные скобки нельзя использовать с оператором [q]
  2. Выдает ошибку из-за несоответствия типов данных
  3. Выполняется успешно и добавляет апостроф (ы) в конце имени каждого сотрудника
  4. Выполняется успешно и добавляет имя сотрудника с литералом «{дата начала была}»

Ответ: C.

72. Какие из приведенных ниже предикатов предложения WHERE будут правильно перечислять сотрудников из отдела 20?

  1. ГДЕ ДЕПТНО 20
  2. ГДЕ ДЕПТНО 20
  3. ГДЕ ДЕПТНО = 20
  4. ГДЕ 20 = Дептно

Ответ: C, D. Оператор равенства (=) используется для сравнения операндов в условии равенства.

73. Напишите запрос SELECT, чтобы перечислить сотрудников, чья зарплата превышает 1000.

  1. SELECT ename, sal FROM emp WHERE sal GREATER THAN 1000 
  2. SELECT ename, sal FROm emp WHERE sal > 1000
  3. SELECT ename, sal FROM emp WHERE sal >= 1000
  4. 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;
  1. Выполняется успешно и перечисляет сотрудников, чья 10-я часть зарплаты больше, чем в 10 раз номер его отдела
  2. Вызывает ошибку, потому что выражения должны быть заключены в скобки
  3. Вызывает ошибку, потому что предложение WHERE не может оценить выражения
  4. Вызывает ошибку, потому что предложение WHERE не может использовать литералы

Ответ: A. Предложение WHERE может содержать выражения.

75. Определите ошибку в приведенном ниже операторе SELECT.

SELECT ename, deptno, sal
FROM emp
WHERE job=CLERK;
  1. Предложение WHERE не может ссылаться на JOB столбца, поскольку оно не отображается в списке столбцов SELECT.
  2. Символьный литерал CLERK должен быть заключен в одинарные кавычки
  3. Символьный литерал CLERK должен быть заключен в скобки
  4. Нет ошибки в запросе

Ответ: B. Символьные литералы должны быть заключены в одинарные кавычки

76. Интерпретировать вывод приведенного ниже SQL-запроса.

SELECT ename, deptno, sal
FROM emp
WHERE sysdate-hiredate > 100;
  1. В запросе перечислены сотрудники, чей срок приема не менее чем на 100 дней раньше текущей даты.
  2. В запросе перечислены сотрудники, проработавшие в компании более 100 дней.
  3. В запросе перечислены сотрудники, у которых наем после 100 дней в этом году
  4. В запросе перечислены сотрудники, которые провели в компании менее 100 дней.

Ответ: A, B. Выражения даты могут быть использованы в предложении WHERE.

77. Какой из следующих запросов будет отображать сотрудников, которые были наняты после 31 декабря 1982 года?

  1. SELECT ename, deptno FROM emp WHERE hiredate > '31-DEC-1982';
  2. SELECT ename, deptno FROM emp WHERE hiredate > to_date('31-DEC-1982','DD-MM-YYYY');
  3. SELECT ename, deptno FROM emp WHERE hiredate > to_char('31-DEC-1982','DD-MM-YYYY');
  4. SELECT ename, deptno FROM emp WHERE hiredate > 31-DEC-1982;

Ответ: A, B. Литералы даты должны быть заключены в одинарные кавычки.

78. Какие из следующих условий, ГДЕ будут перечислять сотрудников, которые были наняты на текущую дату?

  1. ГДЕ sysdate-hiredate = 0
  2. ГДЕ sysdate = hiredate
  3. ГДЕ sysdate-hiredate <1
  4. ГДЕ to_date (sysdate, ‘DD-MON-YYYY’) = to_date (hiredate = ‘DD-MON-YYYY’)

Ответ: C, D. Условие SYSDATE = HIREDATE не будет работать, поскольку SYSDATE содержит динамический компонент метки времени, а hiredate является статическим значением в базе данных.

79. Какие из перечисленных ниже допустимых форматов литералов даты могут использоваться в предложении WHERE?

  1. 24 / Март / 95
  2. 02-12-1983
  3. 19-JUN-2001
  4. 31.04.2010

Ответ: A, C. Формат по умолчанию для литералов даты — DD-MON-RR.