Базы и хранилища данных (модуль 1) (1 сем.) 2023-2024 ЧЕЛГУ
Актуально 2025 год.
Тест сдан на 25 из 30. 83.33 из 100
По запросу могу пройти тест для вас по доступу!
Пишите в ЛС.
.Вопрос 1. Найти Адреса 10 самых крупных потребителей холодной воды
a. select client.* from client where n_client = (select n_client from computation where max(n_info_cold) = (select n_info_gold from computation ) and rownum=10 order by n_info_gold DESC
b. select client.c_last_name, street, city from client, computation where client.n_client = computation.n_client and n_client = (select n_client from computation where n_info_cold = (select max(n_info_gold) from computation ) and rownum <=10
c. select * from ( select client.* from client where n_client = (select n_client from computation where n_info_cold = (select max(n_info_gold) from computation ) order by n_info_gold DESC) where rownum <=10
Вопрос 2. В таблице category поле id имеет тип integer. Какие из перечисленных ниже запросов вернут такой же результат, как и этот запрос:
select * from category where id between 2 and 4
select * from category where id>2 and id<4
select * from category where id in (2,3,4)
select * from category where id between 4 and 2
select * from category where id>=2 and id<=4
select * from category where id in (2..4)
Вопрос 3. Какие данные вернет запрос:
SELECT
DISTINCT COUNT(T2.F_VAL) AS F,
COUNT(DISTINCT T1.P_VAL) AS P
FROM
T1, T2
WHERE T1.P_KEY=T2.F_KEY
Для следующих таблиц:
T1
(
P_KEY INTEGER,
P_VAL VARCHAR(20)
)
T2
(
P_KEY INTEGER,
F_KEY INTEGER,
F_VAL VARCHAR(20)
)
3, 2
NULL, NULL
2, 2
4, 4
4, 3
3, 3
При выполнении запроса возникнет ошибка
Вопрос 4. Выберите все верные утверждения относительно SQL выражений.
SQL выражения чувствительны к регистру
Ключевые слова можно сокращать
Ключевое слово не может быть разбито на несколько строк
В конструкции WHERE можно использовать арифметические операторы
Вопрос 5. Имеется пустая таблица A (col1 number(5),col2 varchar2(10)). Таблица наполняется данными с помощью запросов:
INSERT INTO A(col1,col2) VALUES(1,NULL);
INSERT INTO A(col1,col2) VALUES(2,..);
INSERT INTO A(col1,col2) VALUES(3,.test.);
Commit;
Сколько строк вернет запрос:
SELECT * FROM A WHERE COL2 =..;
3
2
1
0
Вопрос 6. Дана таблица с индексом:
create table TABLE_1 (col1 int, col2 int);
create unique index INDEX_1_2 on TABLE_1 (col1, col2);
Мы начинаем заполнять ее данными, выполняя по очереди запросы, приведенные ниже. Какие из запросов успешно выполнятся?
insert into TABLE_1 values (null, 1);
insert into TABLE_1 values (null, null);
insert into TABLE_1 values (null, 1);
insert into TABLE_1 values (1, 2);
Вопрос 7. Какие из приведенных операторов используются в подзапросах?
IN
UNION
EXISTS
INTERSECT
Вопрос 8. С помощью каких операторов в выборке можно делать фильтрацию дубликатов?
group by
order by
delete
join
distinct
Вопрос 9. Какая наименьшая единица хранения данных в БД?
хранимый файл
хранимое поле
хранимый байт
ничего из вышеперечисленного
хранимая запись
Вопрос 10. Дана таблица, созданная с помощью SQL-выражения:
CREATE TABLE people (
id INT PRIMARY KEY,
name VARCHAR(45)
)
Можно ли гарантированно удалить все записи из этой таблицы, выполнив следующий запрос:
DELETE FROM people WHERE id>=0
Нет
Да
Вопрос 11. В базе данных имеется таблица Employees, содержащая столбец AutoNum (строковый тип данных - гос.номер автомобиля сотрудника). В столбце AutoNum содержатся цифробуквенные значения, например .A338МВ38..
Вы хотите найти сотрудника, у которого две первые цифры номера (т.е 2-й и 3-й символы) равны .74.. Какое условие в запросе SELECT вы используете?
WHERE AutoNum [2,2] = .74.
WHERE AutoNum LIKE ._74%.
WHERE AutoNum LIKE ._74.
WHERE LEFT (AutoNum, 2,2) = .74.
WHERE AutoNum LIKE .%74%.
Вопрос 12. Какие из представленных ниже запросов составлены корректно (таблица users состоит ровно из 4-х колонок: id , name , surname , occupation )?
INSERT INTO users (id, name, surname, occupation) VALUES (.0., .jack., .newton., .businessman.);
INSERT INTO users VALUES (id .0., name .jack., surname .newton., occupation .businessman.);
INSERT INTO users VALUES (.0., .jack., .newton., .businessman.);
INSERT INTO users VALUES (id = .0., name = .jack., surname = .newton., occupation = .businessman.);
Вопрос 13. Когда можно делать объединение (UNION) между запросами?
можно использовать UNION в подзапросах
символьные поля должны быть точно равной длины
каждый запрос должен указывать одинаковое число столбцов и в том же порядке что и первый, второй, третий, и так далее
числовые поля должны иметь одинаковый числовой тип и размер
можно использовать агрегатные функции в предложении SELECT запроса в объединении
Вопрос 14. Есть таблица People со следующими записями:
Сколько записей возвратит такой запрос:
SELECT ID, Sex FROM PEOPLE WHERE (FirstName=.John. AND FirstName=.Jake.) OR LastName=.Wild.
0
2
3
Запрос не выполнится, так как содержит ошибку
1
4
Вопрос 15. Вывести список клиентов с указанием пола, полного адреса проживания и телефона.
a. select client.c_last_name, sex.c_sex, street.c_street, city.c_city, c_house, n_flat from client, sex, street, city where client.n_sex = sex.n_sex and client.n_street = street.n_street and client.n_city = city.n_city
b. select client.c_last_name, sex.c_sex, street.c_street, city.c_city, street.c_house, street.n_flat from client, sex, street, city where n_sex = sex.n_sex and n_street = street.n_street and n_city = city.n_city
c. select * from client, sex, street, city
d. select client.c_last_name, sex.c_sex, street.c_street, city.c_city, c_house, n_flat from client where client.n_sex = sex.n_sex(+) and client.n_street = street.n_street(+) and client n_city = city.n_city(+)
e. select client.c_last_name, sex.c_sex, street.c_street, city.c_city, c_house, n_flat from client, sex, street, city where client.n_sex = sex.n_sex OR client.n_street = street.n_street OR client n_city = city.n_city
Вопрос 16. Вывести все платежи, с указанием даты и долга на указанную дату самого злостного неплательщика.
a. SELECT n_client, n_sum, n_debt FROM client WHERE n_debt= (SELECT max(n_debt) FROM computation)
b. SELECT n_client, p.n_sum, com.n_debt FROM client cl, computation com , payment p WHERE com.n_debt= (SELECT max(n_debt) FROM computation) AND com.n_client=cl.n_client and com.n_client = p.n_client
c. SELECT n_client, n_sum, n_debt, max(n_debt) FROM client, computation com payment where computation.n_client=client.n_client and payment.n_client = client.n_client group by n_client, n_sum, n_debt
d. SELECT n_client, n_sum, n_debt FROM client, computation com payment WHERE n_debt= max(n_debt) AND computation.n_client=n_client and payment.n_client = n_client
Вопрос 17. Порядок строк в результатах SQL-запроса
невозможно предсказать, если не указан в запросе;
принимается убывающим по-умолчанию;
указывается после ключевого слова SORTED BY;
может быть указан только для полей, включенных в список результатов запроса.
может быть возрастающим или убывающим для каждого поля;
Вопрос 18. Кем и когда был выполнен самый большой платеж?
a. select n_client, d_pay from payment where n_sum in ( select (n_sum) from payment )
b. select n_client, d_pay from payment where n_sum in ( select (n_sum) from payment) group by n_client
c. select n_client, d_pay from payment where n_sum = ( select (n_sum) from payment) group by n_client, d_day
d. select n_client, max(n_sum) from payment group by n_client
e. select n_client, d_pay from payment where n_sum = ( select (n_sum) from payment group by n_client)
Вопрос 19. Вывести список клиентов, проживающих в Челябинске и не имеющих долгов по оплате за сентябрь 2008 года.
a. select client.*, computation.n_debt from client, computation where client.n_client = computation.n_client and d_computatiom = max(d_computatiom) and n_debt <= 0 and c_city like .%Челябинск%.
b. select client.c_last_name, city.c_city. street.c_street, computation.n_debt from computation where d_computatiom = .01.09.2008. and n_debt <= 0 and c_city = .Челябинск.
c. select client.c_last_name, city.c_city. street.c_street, computation.n_debt from client, city, street, computation where client.n_client = computation.n_client and client.n_city = city.n_city and client.n_street = street.n_ctreet and n_debt = min(n_debt) and c_city like .%Челябинск%.
d. select client.c_last_name, city.c_city. street.c_street, computation.n_debt from client, city, street, computation where client.n_client = computation.n_client and client.n_city = city.n_city and client.n_street = street.n_ctreet and d_computatiom = .01.09.2008. and n_debt <= 0 and c_city like .%Челябинск%.
Вопрос 20. Дана пустая таблица, созданная с помощью выражения:
create table simple_tab (col1 varchar primary key);
Какие из перечисленных запросов отработают корректно:
insert into simple_tab values ( .aa. );
insert into simple_tab values ( .a\.a. );
insert into simple_tab ( col1 ) values ( .bb. );
insert into simple_tab values ( null );
Вопрос 21. Какие из перечисленных ниже подмножеств содержит SQL:
DML
DDL
XML
DTD
XSD
Вопрос 22. Укажите все запросы, которые эквивалентны следующему: select * from numbers where textvalue = .one.
select * from numbers where textvalue like .one%.
select * from numbers where textvalue like .one.
select * from numbers where textvalue like .%one%.
select * from numbers where textvalue like .%one.
select * from numbers where textvalue like one
Вопрос 23 Дана таблица Users:
Получим ли мы единственную запись таблицы Users с помощью запроса:
SELECT * FROM USERS WHERE ADDBY = NULL
Нет
Да
Вопрос 24. Дан следующий фрагмент SQL кода:
SELECT qty FROM sales WHERE rate IN (300,800); Какие из приведенных операторов могут быть использованы вместо оператора "IN"?
OR
BETWEEN..AND
>=
AND
LIKE
<=
Вопрос 25. Укажите корректные команды INSERT из перечисленных:
INSERT INTO students (id, first_name, last_name) VALUES (100, .Kim., .Matheson.)
INSERT INTO students (id, first_name, last_name) SELECT id, first_name FROM new_students WHERE last_name IS NULL
INSERT INTO students (id, first_name, last_name) INSERT INTO students (id, first_name, last_name) (118, .Ellen., .Moran.)
INSERT INTO students SELECT VALUES (95, .Bill., .Enzo.)
Вопрос 26. Дана таблица Friends со следующими записями:
Сколько записей будет удалено в результате выполнения выражения:
DELETE FROM Friends WHERE AGE = NULL;
2
3
1
4
0
Вопрос 27. Имеется таблица Students
Каков будет результат следующего запроса:
SELECT MAX(SUM(Score)) FROM Students GROUP BY FirstName;
Запрос не выполнится из-за наличия значения NULL
250
650
Запрос содержит ошибку в синтаксисе и не выполнится
100
Вопрос 28. Даны таблицы:
А1 (id integer, c1 char, pay decimal)
А2 (id integer, c2 char)
Какие представления будут модифицируемыми (выберите все подходящие варианты)?
CREATE VIEW V1 AS select * from A1 where id between 100 and 200
CREATE VIEW V1 AS select * from A1 where id in (select id from A2 where c2 like .A%.)
CREATE VIEW V1 AS select distinct * from A1
CREATE VIEW V1 AS select id, c1, pay*1.1 from A1
Вопрос 29. Дана таблица, созданная с помощью SQL-выражения:
CREATE TABLE STUDENTS (
ID INTEGER PRIMARY KEY,
FIRST_NAME VARCHAR(50) NOT NULL,
LAST_NAME VARCHAR(50) NOT NULL,
ADDRESS VARCHAR(100)
)
Какие запросы позволят добавить запись в эту таблицу?
INSERT INTO students(id, first_name, last_name) VALUES (1, .Name., .Surname.);
INSERT INTO students(id, first_name) VALUES (2, .Name.);
INSERT INTO students VALUES (3, .Name., .Surname., NULL);
INSERT INTO students VALUES (4, NULL, .Surname., NULL);
Вопрос 30. Какие из следующих ключевых слов используются в конструкции order by (выберите все подходящие варианты)?
dasc
asc
having
desc
abs