Главная / Базы данных /
Введение в СУБД MySQL / Тест 6
Введение в СУБД MySQL - тест 6
Упражнение 1:
Номер 1
Какое ключевое слово позволяет использовать в запросах логическое "И"?
Ответ:
 (1) &
 
 (2) |
 
 (3) AND
 
 (4) +
 
Номер 2
Какая операция позволяет использовать в запросах логическое "ИЛИ"?
Ответ:
 (1) |
 
 (2) ||
 
 (3) OR
 
 (4) ~
 
Номер 3
Какое ключевое слово позволяет использовать в запросах логическое "НЕ"?
Ответ:
 (1) -
 
 (2) NOT
 
 (3) XOR
 
 (4) ~
 
Упражнение 2:
Номер 1
Напишите запрос, который извлечет все имена (поле name
) из таблицы table1
, для которых возраст (поле age
) от 30 до 40 лет включительно
Ответ:
 (1) SELECT name FROM table1;
 
 (2) SELECT name FROM table1 WHERE age>30 AND age<40;
 
 (3) SELECT name FROM table1 WHERE age>=30 AND age<=40;
 
 (4) SELECT * FROM table1 WHERE age>=30 AND age<=40;
 
Номер 2
Напишите запрос, который извлечет поля имя (name
) и возраст (age
) из таблицы table1
, для которых возраст лежит в промежутке от 30 до 45 лет, исключая границы промежутка
Ответ:
 (1) SELECT name, age FROM table1 WHERE age>30 & age<45;
 
 (2) SELECT name, age FROM table1 WHERE age>30 AND age<45;
 
 (3) SELECT name, age FROM table1 WHERE age>30 OR age<45;
 
 (4) SELECT * FROM table1 WHERE age>=30 AND age<=45;
 
Номер 3
Напишите запрос, который извлечет все имена (поле name
) из таблицы table1
, для которых зарплата (поле salary
) лежит в промежутке от 50000 до 70000
Ответ:
 (1) SELECT name FROM table1 WHERE salary>50000 AND salary <70000;
 
 (2) SELECT name FROM table1 WHERE salary>50000 & salary <70000;
 
 (3) SELECT name, salary FROM table1 WHERE salary>50000 AND salary <70000;
 
 (4) SELECT * FROM table1 WHERE salary>50000 AND salary <70000;
 
Упражнение 3:
Номер 1
Какой запрос выведет список имен (поле name
) сотрудников, фамилии (поле fam
) которых начинаются с буквы К или Л?
Ответ:
 (1) SELECT name from table1 where fam like 'К%' OR like 'Л%';
 
 (2) SELECT name, fam from table1 where fam like 'К%' OR fam like 'Л%';
 
 (3) SELECT name from table1 where fam like 'К%' OR fam like 'Л%';
 
 (4) SELECT * from table1 where fam like 'К%' OR fam like 'Л%';
 
Номер 2
Какой запрос выведет список имен (поле name
) и фамилий (поле fam
) сотрудников, фамилии которых начинаются с буквы К или Л?
Ответ:
 (1) SELECT name, fam from table1 where fam like 'К%' OR like 'Л%';
 
 (2) SELECT name, fam from table1 where fam like 'К%' || fam like 'Л%';
 
 (3) SELECT name from table1 where fam like 'К%' || fam like 'Л%';
 
 (4) SELECT name, fam from table1 where fam like 'К%' OR fam like 'Л%';
 
Номер 3
Какой запрос выведет список имен (поле name
) и зарплат (поле sal
) сотрудников, которые зарабатывают 100000 или 110000?
Ответ:
 (1) SELECT name, sal from table1 where sal=(100000 OR 110000);
 
 (2) SELECT name, sal from table1 where sal=100000 OR sal=110000;
 
 (3) SELECT name, sal from table1 where sal=100000 || sal=110000;
 
 (4) SELECT name, sal from table1 where sal=100000 AND sal=110000;
 
Упражнение 4:
Номер 1
Что выведет следующий запрос:
SELECT * from people where age<=30 and age>20;
Ответ:
 (1) все поля таблицы people
, для которых значение поля age
меньше или равно 30 и больше 20 
 (2) все данные из полей таблицы people
, для которых значение поля age
меньше или равно 30 и больше 20 
 (3) все данные из таблицы people
 
 (4) запрос ничего не выведет, поскольку допущена ошибка 
Номер 2
Что выведет следующий запрос:
SELECT name, age FROM people WHERE title='designer' and age>25;
Ответ:
 (1) все поля таблицы people
, для которых значение поля title
соответствует 'designer'
и возраст больше 25 
 (2) все данные из полей people
, для которых значение поля age
меньше или равно 30 и больше 20 
 (3) поля name
и age
таблицы people
, для которых значение поля title
соответствует 'designer'
и возраст больше 25 
 (4) запрос ничего не выведет, поскольку допущена ошибка 
Номер 3
Что выведет следующий запрос:
SELECT * FROM people WHERE title='designer' and age<>30
Ответ:
 (1) все поля таблицы people
, для которых значение поля title
соответствует 'designer'
и возраст не равен 30 
 (2) поля people
, для которых значение поля title
соответствует 'designer'
и возраст не равен 30 
 (3) запрос ничего не выведет, поскольку допущена ошибка 
Упражнение 5:
Номер 1
Напишите запрос, который выведет из таблицы table1
все фамилии (поле fam
) и возраст (поле age
) сотрудников, должность которых (поле title
) не содержит слова "программист":
Ответ:
 (1) SELECT * FROM table1 WHERE title NOT LIKE "%программист%";
 
 (2) SELECT fam, age FROM table1 WHERE title NOT LIKE "%программист%";
 
 (3) SELECT fam, age FROM table1 WHERE title != "программист";
 
Номер 2
Напишите запрос, который выведет все фамилии (поле fam
) и зарплаты (поле sal
) сотрудников, email
которых расположен не на сервере intuit.ru. Данные брать из таблицы table1
Ответ:
 (1) SELECT * FROM table1 WHERE email != 'intuit.ru';
 
 (2) SELECT fam, sal FROM table1 WHERE email != 'intuit.ru';
 
 (3) SELECT fam, sal FROM table1 WHERE email NOT LIKE '%intuit.ru';
 
 (4) SELECT fam, sal, age FROM table1 WHERE email NOT LIKE '%intuit.ru';
 
Номер 3
Напишите запрос, который выведет из таблицы table1
все фамилии (поле fam
) и зарплаты (поле sal
) сотрудников младше 25 лет (поле age
), должность которых (поле title
) не содержит слова "программист":
Ответ:
 (1) SELECT * FROM table1 WHERE age<25 AND title NOT LIKE '%программист%';
 
 (2) SELECT fam, age FROM table1 WHERE age<25 AND title NOT LIKE '%программист%';
 
 (3) SELECT fam, sal FROM table1 WHERE age<25 AND title NOT LIKE '%программист%';
 
 (4) SELECT fam, sal FROM table1 WHERE age<25 AND title!='программист';
 
Упражнение 6:
Номер 1
Какой оператор позволяет производить поиск данных по множеству?
Ответ:
 (1) IN
 
 (2) BETWEEN
 
 (3) SET
 
 (4) такого оператора нет 
Номер 2
Какой оператор позволяет при поиске задавать целочисленные границы?
Ответ:
 (1) IN
 
 (2) BETWEEN
 
 (3) SET
 
 (4) такого оператора нет 
Номер 3
Укажите корректные примеры использования операторов IN
и BETWEEN
, при условии что таблица и поля существуют
Ответ:
 (1) SELECT name, title from table1 where title IN ('Web designer', 'programmer');
 
 (2) SELECT * from table1 where title IN (Web designer, programmer);
 
 (3) SELECT name, age from table1 where age BETWEEN 32 AND 40;
 
 (4) SELECT name from table1 where age BETWEEN "32" AND "40";
 
Упражнение 7:
Номер 1
Напишите запрос
SELECT name, title from table1 where title = 'продавец' OR title = 'консультант';
с использованием оператора IN
Ответ:
 (1) SELECT name, title from table1 where title IN 'продавец', 'консультант';
 
 (2) SELECT name, title from table1 where title IN ('продавец', 'консультант');
 
 (3) SELECT name, title from table1 where title IN (продавец, консультант);
 
Номер 2
Напишите запрос
SELECT name, title from table1 where title!= 'продавец' AND title!= 'консультант';
с использованием оператора IN
Ответ:
 (1) SELECT name, title from table1 where NOT title IN ('продавец', 'консультант');
 
 (2) SELECT name, title from table1 where title NOT IN ('продавец', 'консультант');
 
 (3) SELECT name, title from table1 where title IN NOT ('продавец', 'консультант');
 
Номер 3
Напишите запрос
SELECT name, title from table1 where age=30 OR age=40 OR age=50 OR age=60;
с использованием оператора IN
Ответ:
 (1) SELECT name, title from table1 where age IN (30, 40, 50, 60);
 
 (2) SELECT name, title from table1 where age IN (30 - 60);
 
 (3) SELECT name, title from table1 where age IN (30 .. 60);
 
Упражнение 8:
Номер 1
Выведите данные из всех полей таблицы table1
, в которых поле зарплата (salary
) меньше 90000 или больше 150000
Ответ:
 (1) SELECT * FROM table1 WHERE salary NOT BETWEEN 90000 AND 150000;
 
 (2) SELECT * FROM table1 WHERE salary BETWEEN 90000 AND 150000;
 
 (3) SELECT * FROM table1 WHERE salary < 90000 AND salary>150000;
 
Номер 2
Выведите имена (поле name
) и фамилии (поле fam
) таблицы table1
тех сотрудников, зарплата (поле salary
) которых лежит в пределах от 90000 до 150000
Ответ:
 (1) SELECT name, fam FROM table1 WHERE salary BETWEEN 90000 AND 150000;
 
 (2) SELECT name, fam FROM table1 WHERE salary NOT BETWEEN 90000 AND 150000;
 
 (3) SELECT * FROM table1 WHERE salary BETWEEN 90000 AND 150000;
 
Номер 3
Напишите запрос, который выводит список сотрудников, являющихся программистами (поле title
), и возраст которых меньше 28 или больше 32 лет
Ответ:
 (1) SELECT * FROM table1 WHERE title='программист' AND age NOT BETWEEN 28 AND 32;
 
 (2) SELECT * FROM table1 WHERE title='программист' AND age BETWEEN 28 AND 32;
 
 (3) SELECT * FROM table1 WHERE title='программист' AND age BETWEEN 32 AND 28;
 
Упражнение 9:
Номер 1
Выведите список имен (поле name
) сотрудников в порядке, определяемом их зарплатой (поле sal
)
Ответ:
 (1) SELECT * FROM table1 ORDER BY sal;
 
 (2) SELECT name FROM table1 BY sal;
 
 (3) SELECT name FROM table1 ORDER BY sal;
 
 (4) SELECT name FROM table1 ORDER sal;
 
Номер 2
Выведите имена сотрудников (поле name
) и их должность (поле title
), отсортированные по должности в убывающем порядке
Ответ:
 (1) SELECT name, title FROM table1 ORDER BY title ASC;
 
 (2) SELECT name, title FROM table1 ORDER BY title DESC;
 
 (3) SELECT name, title FROM table1 ORDER BY title;
 
 (4) SELECT name, title FROM table1 ORDER BY NOT title;
 
Номер 3
Выведите список сотрудников (фамилия - поле fam
и имя - поле name
), которые занимают должность "программист" или "Web-дизайнер", отсортировав их фамилии по алфавиту в обратном порядке
Ответ:
 (1) SELECT name, fam FROM table1 WHERE title IN ('программист', Web-дизайнер) ORDER fam DESC;
 
 (2) SELECT name, fam FROM table1 WHERE title IN ('программист', Web-дизайнер) ORDER BY ASC;
 
 (3) SELECT name, fam FROM table1 WHERE title IN ('программист', Web-дизайнер) ORDER BY fam DESC;
 
 (4) SELECT name, fam FROM table1 WHERE title IN ('программист', Web-дизайнер) ORDER BY fam ASC;
 
Упражнение 10:
Номер 1
Какой оператор позволяет ограничить количество извлекаемых данных?
Ответ:
 (1) SET
 
 (2) COUNT
 
 (3) LIMIT
 
 (4) ORDER
 
Номер 2
Как вывести из таблицы только первые пять записей?
Ответ:
 (1) SELECT * FROM table1 LIMIT (1..5);
 
 (2) SELECT * FROM table1 LIMIT 5;
 
 (3) SELECT * FROM table1 COUNT 5;
 
 (4) SELECT LIMIT(5) FROM table1;
 
Номер 3
Как вывести фамилии (поле fam
) пятерых сотрудников, получающих самую большую зарплату (поле sal
)?
Ответ:
 (1) SELECT fam FROM table1 ORDER BY sal DESC LIMIT 5;
 
 (2) SELECT fam FROM table1 ORDER BY sal LIMIT 5;
 
 (3) SELECT fam FROM table1 LIMIT 5 ORDER BY sal;
 
Упражнение 11:
Номер 1
Какое ключевое слово позволяет выбрать неповторяющиеся данные?
Ответ:
 (1) ONCE
 
 (2) DESCRIBE
 
 (3) DISTINCT
 
 (4) UNIQUE
 
Номер 2
Выведите имена всех сотрудников (поле name
). Сотрудников с одинаковыми именами исключить
Ответ:
 (1) SELECT DISTINCT name from table1;
 
 (2) SELECT UNIQUE name from table1;
 
 (3) SELECT name from table1 DISTINCT;
 
 (4) SELECT ONCE name from table1;
 
Номер 3
Выведите должности сотрудников (поле title
) без повторов. Отсортируйте их по алфавиту
Ответ:
 (1) SELECT DISTINCT title FROM table1 ORDER BY title;
 
 (2) SELECT title FROM table1 ORDER BY title;
 
 (3) SELECT title FROM table1 DISTINCT BY title;
 
Упражнение 12:
Номер 1
Какая команда выполняет изменение данных в таблицах?
Ответ:
 (1) REFRESH
 
 (2) UPDATE
 
 (3) NEW
 
 (4) INSERT
 
Номер 2
Как установить программистам (поле title
) зарплату в 100000 (поле sal
)?
Ответ:
 (1) UPDATE table1 WHERE title='программист' sal=100000;
 
 (2) UPDATE table1 SET title='программист' WHERE sal=100000;
 
 (3) UPDATE table1 SET sal=100000 WHERE title='программист';
 
 (4) UPDATE table1 WHERE title='программист' SET sal=100000;
 
Номер 3
Как увеличить программистам (поле title
) зарплату на 10000 (поле sal
)?
Ответ:
 (1) UPDATE table1 WHERE title='программист' sal=sal+10000;
 
 (2) UPDATE table1 SET title='программист' WHERE sal+=10000;
 
 (3) UPDATE table1 SET sal=sal+10000 WHERE title='программист';
 
 (4) UPDATE table1 WHERE title='программист' INC sal=10000;