Главная / Базы данных /
Введение в СУБД MySQL / Тест 7
Упражнение 1:
Номер 1
Какой запрос выводит минимальную зарплату (поле sal)?
Ответ:
(1) SELECT MIN(sal) FROM table1;
(2) SELECT * FROM table1 where MIN(sal);
(3) SELECT * FROM table1 WHERE sal=MIN(sal);
(4) SELECT MIN by sal FROM table1;
Номер 2
Какой запрос выводит возраст (поле age) самого молодого сотрудника?
Ответ:
(1) SELECT MIN by age FROM table1;
(2) SELECT * FROM table1 where MIN(age);
(3) SELECT * FROM table1 WHERE age =MIN(age);
(4) SELECT MIN(age) FROM table1;

Номер 3
Какой запрос выводит наименьший стаж (поле yos) у сотрудников?
Ответ:
(1) SELECT MIN by yos FROM table1;
(2) SELECT MIN(yos) FROM table1;
(3) SELECT * FROM table1 where MIN(yos);
(4) SELECT * FROM table1 WHERE yos =MIN(yos);
Упражнение 2:
Номер 1
Какой запрос выводит возраст (поле age) самого старого сотрудника?
Ответ:
(1) SELECT MAX by age FROM table1;
(2) SELECT * FROM table1 where MAX(age);
(3) SELECT * FROM table1 WHERE age = MAX(age);
(4) SELECT MAX(age) FROM table1;
Номер 2
Какой запрос выведет максимальную зарплату (поле sal) среди программистов?
Ответ:
(1) SELECT MAX(sal) FROM table1 WHERE title = "программист";
(2) SELECT * FROM table1 WHERE title = "программист" AND MAX(sal);
(3) SELECT sal FROM table1 WHERE title = "программист" AND sal=MAX(sal);
Номер 3
Какой запрос выведет возраст (поле age) самого старого программиста?
Ответ:
(1) SELECT MAX(age) FROM table1 WHERE title = "программист";
(2) SELECT * FROM table1 WHERE title = "программист" AND MAX(age);
(3) SELECT age FROM table1 WHERE title = "программист" AND age =MAX(age);
Упражнение 3:
Номер 1
Как вычислить средний возраст (поле age) сотрудников?
Ответ:
(1) SELECT AVG(age) FROM table1;
(2) SELECT AVERAGE(age) FROM table1;
(3) SELECT * FROM table1 WHERE age=AVG(age);
Номер 2
Как вычислить среднюю зарплату (поле sal) сотрудников?
Ответ:
(1) SELECT AVERAGE(sal) FROM table1;
(2) SELECT AVG(sal) FROM table1;
(3) SELECT * FROM table1 WHERE sal =AVG(sal);
Номер 3
Как вычислить среднюю зарплату (полеsal) программистов (полеtitle)?
Ответ:
(1) SELECT AVERAGE(sal) FROM table1 WHERE title='программист';
(2) SELECT * FROM table1 WHERE sal =AVG(sal) WHERE title='программист';
(3) SELECT AVG(sal) FROM table1 WHERE title='программист';
Упражнение 4:
Номер 1
Как найти сумму зарплат (поле sal) всех сотрудников?
Ответ:
(1) SELECT SUM(sal) FROM table1;
(2) SELECT AVG(sal) FROM table1;
(3) SELECT * FROM table1 WHERE SUM(sal);
Номер 2
Как найти сумму зарплат (полеsal) всех программистов (полеtitle)?
Ответ:
(1) SELECT SUM(sal) FROM table1 WHERE title='программист';
(2) SELECT AVG(sal) FROM table1 WHERE title='программист';
(3) SELECT SUM by sal FROM table1 WHERE title='программист';
Номер 3
Как вывести процент зарплаты (полеsal), которую сотрудники получают в качестве надбавок (полеperk)?
Ответ:
(1) SELECT (SUM(perk)/SUM(sal) * 100) FROM table1;
(2) SELECT (SUM(sal)/SUM(sal) * 100) FROM table1;
(3) SELECT (100/SUM(perk)*SUM(sal)) FROM table1;
Упражнение 5:
Номер 1
Что делает следующий операторSELECT AVG(sal) AS 'Статистика' FROM table1;
Ответ:
(1) выводит среднее значение поля ‘Статистика’
(2) выводит среднее значение поля sal, и результат подписывает как ‘Статистика’
(3) рассчитывает среднее значение поля sal и заносит его в поле ‘Статистика’
Номер 2
Что делает следующий операторSELECT SUM(sal) AS 'Статистика' FROM table1;
Ответ:
(1) выводит сумму значений поля ‘Статистика’
(2) выводит сумму значений поля sal, и результат подписывает как ‘Статистика’
(3) рассчитывает сумму значений поля sal и заносит его в поле ‘Статистика’
Номер 3
Что делает следующий операторSELECT MAX(sal) AS 'Статистика' FROM table1;
Ответ:
(1) выводит максимальное значение поля ‘Статистика’
(2) рассчитывает максимальное значение поля sal и заносит его в поле ‘Статистика’
(3) выводит максимальное значение поля sal, и результат подписывает как ‘Статистика’
Упражнение 6:
Номер 1
Какая функция позволяет подсчитать количество записей в таблице?
Ответ:
(1) ORDER
(2) AVG
(3) COUNT
(4) READ
Номер 2
Как подсчитать количество сотрудников - программистов (поле title) в таблице?
Ответ:
(1) SELECT COUNT(*) FROM table1 WHERE title = 'программист';
(2) SELECT COUNT FROM table1 WHERE title = 'программист';
(3) SELECT COUNT() FROM table1 WHERE title = 'программист';
(4) SELECT COUNT('программист') FROM table1;
Номер 3
Как подсчитать количество сотрудников - не программистов (поле title) в таблице?
Ответ:
(1) SELECT COUNT(*) FROM table1 WHERE title != 'программист';
(2) SELECT COUNT FROM table1 WHERE title != 'программист';
(3) SELECT COUNT() FROM table1 WHERE title != 'программист';
Упражнение 7:
Номер 1
Какое предложение позволяет группировать аналогичные данные
Ответ:
(1) SORT BY
(2) SELECTBY
(3) ORDER BY
(4) GROUP BY
Номер 2
Как можно подсчитать число сотрудников, имеющих определенную должность (поле title)?
Ответ:
(1) SELECT title, COUNT(*) FROM table1 GROUP BY title;
(2) SELECT title FROM table1 GROUP BY title;
(3) SELECT * FROM table1 GROUP BY title;
Номер 3
Как можно подсчитать число сотрудников одного возраста (поле age)?
Ответ:
(1) SELECT age, COUNT(*) FROM table1 GROUP BY age;
(2) SELECT age FROM table1 GROUP BY age;
(3) SELECT COUNT(*) FROM table1 GROUP BY age;
(4) SELECT * FROM table1 GROUP BY age;
Упражнение 8:
Номер 1
Как вывести средний возраст (полеage) сотрудников по должностям (полеtitle)?
Ответ:
(1) SELECT title, AVG(age) FROM table1 GROUP BY age;
(2) SELECT AVG(age) FROM table1 GROUP BY title;
(3) SELECT title, AVG(age) FROM table1 GROUP BY title;
Номер 2
Как вывести среднюю зарплату (полеsal) сотрудников по должностям (полеtitle)?
Ответ:
(1) SELECT title, AVG(sal) FROM table1 GROUP BY sal;
(2) SELECT title, AVG(sal) FROM table1 GROUP BY title;
(3) SELECT AVG(sal) FROM table1 GROUP BY title;
Номер 3
Как вывести максимальную зарплату (полеsal) сотрудников по должностям (полеtitle)?
Ответ:
(1) SELECT title, MAX(sal) FROM table1 GROUP BY title;
(2) SELECT title, MAX(sal) FROM table1 GROUP BY sal;
(3) SELECT MAX(sal) FROM table1 GROUP BY title;
Упражнение 9:
Номер 1
Выберите запросы, не содержащие ошибок
Ответ:
(1) SELECT COUNT(*) FROM table1 WHERE title != 'директор';
(2) SELECT title FROM table1 GROUP BY title;
(3) SELECT COUNT(*) FROM table1 WHERE age >= 40;
Номер 2
Выберите запросы, не содержащие ошибок
Ответ:
(1) SELECT COUNT(*) FROM table1 WHERE age <= 40 and age>=60;
(2) SELECT COUNT FROM table1 WHERE title != 'директор';
(3) SELECT title FROM table1 GROUP title;
Номер 3
Выберите запросы, не содержащие ошибок
Ответ:
(1) SELECT COUNT(*) FROM table1 WHERE title != 'директор';
(2) SELECT COUNT(*) FROM table1 WHERE age >= 40;
(3) SELECT title FROM table1 GROUP title;
Упражнение 10:
Номер 1
Укажите несуществующие агрегатные функции
Ответ:
(1) MIN
(2) MAX
(3) SUM
(4) AGE
Номер 2
Укажите существующие агрегатные функции
Ответ:
(1) MIN
(2) MAX
(3) AVERAGE
(4) COUNT
Номер 3
Отметьте агрегатные команды:
Ответ:
(1) MIN
(2) MAX
(3) SUM
(4) COUNT
(5) AVG
(6) BIG

Правильные ответы выделены зелёным цветом.
Все ответы: Курс посвящен системе управления базами данных MySQL. Рассматриваются основы MySQL: запросы, модели баз данных, а также транзакции. На примерах рассмотрен весь спектр вопросов, касающихся языковой структуры, допустимых типов столбцов, операторов, операций и функций, а также существующих расширений MySQL.
Каковы функции базы данных?
(1) хранение информации
(2) упорядочение информации
(3) индексация информации
Какая функция позволяет узнать ASCII код символа?
(1) ASCII
(2) ORD
(3) CHR
(4) ASC
Какая функция позволяет выполнить побитовую операцию И?
(1) OR
(2) AND
(3) &
(4) |
(5) ||
Новая база данных в MySQL создается с помощью команды:
(1) create database имя_базы_данных;
(2) new database имя_базы_данных;
(3) newcreate database имя_базы_данных;
Какой тип данных позволяет сохранять целые числа в диапазоне от -128 до 127?
(1) TINYINT
(2) SMALLINT
(3) INT
(4) DATA
Какой оператор позволяет внести данные в таблицу?
(1) INSERT
(2) SELECT
(3) CREATE
(4) DATA
Какое ключевое слово позволяет использовать в запросах логическое «И»?
(1) &
(2) |
(3) AND
(4) +
Какой запрос выводит минимальную зарплату (поле sal)?
(1) SELECT MIN(sal) FROM table1;
(2) SELECT * FROM table1 where MIN(sal);
(3) SELECT * FROM table1 WHERE sal=MIN(sal);
(4) SELECT MIN by sal FROM table1;
Какая функция возвращает модуль числа?
(1) MOD
(2) ABS
(3) INC
(4) RAND
Напишите запрос, который извлечет все значения полей имя (поле name) и возраст (поле age) из таблицы table1, у которых значение поля дата рождения (поле birth_date типа date) соответствует 31 декабря 69го года.
(1) SELECT name, age FROM table1 WHERE birth_date ='31.12.1969';
(2) SELECT name, age FROM table1 WHERE birth_date ='1969.12.31';
(3) SELECT name, age FROM table1 WHERE birth_date ='1969.31.12';
(4) SELECT name, age FROM table1 WHERE birth_date ='31.12.69';
Какая сетевая модель лежит в основе действия СУБД MySQL?
(1) клиент/сервер
(2) клиент/клиент
(3) сервер/сервер
Какая функция позволяет получить длину строки?
(1) CHAR_LENGTH
(2) CHARACTER_LENGTH
(3) LENGTH
Какая функция позволяет зашифровать строку, используя тройной DES-алгоритм?
(1) ENCRYPT
(2) DES_ENCRYPT
(3) AES_ENCRYPT
(4) MD5
(5) MD3
Укажите правильный порядок следования при удалении таблицы.
(1) сперва убедимся, что она существует с помощью команды SHOW TABLES, затем для удаления таблицы используется команда DROP TABLE
(2) для удаления таблицы используется команда DELETE TABLE
(3) сперва убедимся, что она существует с помощью команды SHOW TABLES, затем для удаления таблицы используется команда DELETE TABLE
Какой минимальный тип данных позволяет сохранять целые числа в диапазоне от 0 до 65535?
(1) TINYINT
(2) SMALLINT
(3) INT
(4) DATA
Была ли допущена ошибка в запросе вставки данных, и если была, то какая
INSERT INTO table1 (name, email) values («Михаил», «misha@yandex.ru»);
при условии что таблица table1 существует, и в ней есть три поля: name, age и email, а поле age не имеет признака NOT NULL?
(1) ошибка — в запросе должны быть перечислены все поля таблицы
(2) ошибка — неверный регистр ключевого слова values. Должно быть VALUES
(3) ошибка — неправильная структура запроса. Должно быть INSERT (name, email) values ("Михаил", "misha@yandex.ru") INTO table1;
(4) ошибок нет
Напишите запрос, который извлечет все имена (поле 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;
Какой запрос выводит возраст (поле age) самого старого сотрудника?
(1) SELECT MAX by age FROM table1;
(2) SELECT * FROM table1 where MAX(age);
(3) SELECT * FROM table1 WHERE age = MAX(age);
(4) SELECT MAX(age) FROM table1;
Каково назначение функции CEIL?
(1) округляет число до ближайшего меньшего целого числа
(2) округляет число до указанного количества разрядов
(3) округляет число до ближайшего большего целого числа
(4) отсекает дробную часть числа
Что выведет следующий запрос:
SELECT * FROM people WHERE birth_date=’1980-1-2′;
(1) все значения полей таблицы people, для которых дата рождения (поле birth_date) соответствует 2 января 1980г
(2) все значения полей таблицы people, для которых дата рождения (поле birth_date) соответствует 1 февраля 1980г
(3) запрос ничего не выведет, поскольку допущена ошибка
Какие из утверждений верны?
(1) база данных представляет собой совокупность информации, организованной в виде множеств
(2) множество содержит записи унифицированного вида
(3) записи состоят из полей
(4) множества называют строками таблиц, а записи — таблицами
Какая функция позволяет сжать строку?
(1) PACK
(2) COMPRESS
(3) ENCODE
Какая функция позволяет определить, насколько быстро MySQL выполняет выражение?
(1) BENCHMARK
(2) TEST
(3) COMPARE
(4) SPEED
(5) TIME
Какой флаг позволяет создать временную таблицу, существующую в течение текущего сеанса?
(1) EXIST
(2) TEMPORARY
(3) TIMEOUT
Какой тип данных позволяет сохранять целые числа в диапазоне от -2147483648 до 2147483647?
(1) INTEGER
(2) SMALLINT
(3) INT
Какая команда позволяет выполнить запрос данных?
(1) SELECT
(2) LIMIT
(3) READ
(4) GET
Какой запрос выведет список имен (поле 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 'Л%';
Как вычислить средний возраст (поле age) сотрудников?
(1) SELECT AVG(age) FROM table1;
(2) SELECT AVERAGE(age) FROM table1;
(3) SELECT * FROM table1 WHERE age=AVG(age);
Каково назначение функции FLOOR?
(1) округляет число до ближайшего меньшего целого числа
(2) округляет число до указанного количества разрядов
(3) округляет число до ближайшего большего целого числа
(4) отсекает дробную часть числа
Напишите запрос, который выведет все фамилии (поле fam) сотрудников из таблицы table1, которые родились (поле birth_date) позже 10 января 1970г
(1) SELECT fam FROM table1 WHERE birth_date >'10-01-1970';
(2) SELECT fam FROM table1 WHERE birth_date >'1970-01-10';
(3) SELECT fam FROM table1 WHERE birth_date <'10-01-1970'';
(4) SELECT fam FROM table1 WHERE birth_date <'1970-10-01';
Способ связи строк таблиц, когда строке одной таблицы соответствует одна единственная строка другой таблицы, называется…
(1) один ко многим
(2) многие ко многим
(3) один к одному
Определите результат запроса:
SELECT CONCAT(‘My’, ‘S’, ‘QL’);
(1) 'MySQL'
(2) 'MyS'
(3) запрос выдаст ошибку, т.к. указано слишком много параметров
(4) запрос выдаст NULL, т.к. указано слишком много параметров
Какая функция определит комбинацию имени пользователя и имени хоста после аутентификации в текущем сеансе?
(1) GET_USER
(2) CURRENT_USER
(3) SESSION_USER
(4) HOST
Определите результат запроса
CREATE TABLE table1 (id int, name varchar(20), email varchar(60));
(1) запрос создаст таблицу table с полями id, name и email
(2) запрос создаст таблицу table1 с полями id, name и email
(3) запрос ничего не сделает, т.к. допущена ошибка
Укажите существующие числовые типы полей
(1) FLOAT
(2) DECIMAL
(3) DOUBLE
(4) DEC
(5) NUMERIC
Какой оператор позволяет получить информацию о таблице?
(1) SELECT
(2) INFO
(3) DESCRIBE
(4) STATE
Что выведет следующий запрос:
SELECT * from people where age<=30 and age>20;
(1) все поля таблицы people, для которых значение поля age меньше или равно 30 и больше 20
(2) все данные из полей таблицы people, для которых значение поля age меньше или равно 30 и больше 20
(3) все данные из таблицы people
(4) запрос ничего не выведет, поскольку допущена ошибка
Как найти сумму зарплат (поле sal) всех сотрудников?
(1) SELECT SUM(sal) FROM table1;
(2) SELECT AVG(sal) FROM table1;
(3) SELECT * FROM table1 WHERE SUM(sal);
Каково назначение функции GREATEST?
(1) возвращает наибольшее значение из списка
(2) определяет, какое из двух чисел больше
(3) определяет наименьшее значение из списка
(4) такой функции нет
Напишите запрос, который выведет все фамилии (поле fam) и даты рождения (поле birth_date) сотрудников, родившихся между 1970 и 1973 гг
(1) SELECT fam, birth_date FROM table1 WHERE birth_date BETWEEN '1970-01-01' AND '1973-12-31';
(2) SELECT fam, birth_date FROM table1 WHERE birth_date > '1969-01-01' AND < '1973-12-31';
(3) SELECT birth_date FROM table1 WHERE birth_date >= '1969-01-01' AND birth_date <= '1973-12-31';
Что такое схема базы данных?
(1) только определения данных
(2) определения данных и отношений между ними
(3) только отношения между данными
Определите результат запроса
SELECT CONV(2,10,2);
Какая из функций вернет следующий результат
‘12,332.1235’
(1) SELECT FORMAT(12332.123456, 3);
(2) SELECT FORMAT(12332.123456, 4);
(3) SELECT FORMAT(12332.123456, 5);
(4) SELECT FORMAT(12332.123456, *, 4);
Определите ошибку в запросе
CREATE TABLE table1 (id int; name varchar(20); email varchar(60));
(1) ошибки нет
(2) указано недопустимое имя таблицы
(3) указаны неверные разделители полей
Какой тип данных позволяет сохранять числа в диапазоне от -3,402823466E+38 до 3,402823466E+38?
(1) BIGINT
(2) FLOAT
(3) DOUBLE
(4) BIG
Напишите оператор для записи следующих данных в таблицу data
name: user
age: 31
email: freak@intuit.ru
(1) INSERT (name, age, email) values ("user", "31", "freak@intuit.ru");
(2) INSERT INTO data WHERE name="user", age="31", email="freak@intuit.ru";
(3) INSERT INTO data (name, age, email) values ("user", 31, "freak@intuit.ru");
Напишите запрос, который выведет из таблицы 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 != "программист";
Что делает следующий оператор
SELECT AVG(sal) AS ‘Статистика’ FROM table1;
(1) выводит среднее значение поля ‘Статистика’
(2) выводит среднее значение поля sal, и результат подписывает как ‘Статистика’
(3) рассчитывает среднее значение поля sal и заносит его в поле ‘Статистика’
Каково назначение функции LEAST?
(1) возвращает наибольшее значение из списка
(2) возвращает, какое из двух чисел меньше
(3) возвращает наименьшее значение из списка
(4) такой функции нет
Напишите запрос, который выведет все фамилии (поле fam) и даты рождения (поле birth_date) сотрудников, с сортировкой по старшинству
(1) SELECT fam, birth_date FROM table1 ORDER BY birth_date;
(2) SELECT fam, birth_date FROM table1 SORT birth_date;
(3) SELECT fam, birth_date FROM table1 GROUP BY birth_date;
Какие виды баз данных существуют?
(1) объектно-реляционные базы данных
(2) объектно-ориентированные базы данных
(3) реляционные базы данных
(4) сетевые базы данных
(5) иерархические базы данных
(6) системы управления файлами
Определите результат запроса
SELECT ELT(1, ‘Интернет’, ‘Университет’, ‘Информационных’, ‘Технологий’);
(1) 'Интернет'
(2) 'Университет'
(3) 'Технологий'
(4) 0
(5) NULL
Какая функция возвращает Универсальный Уникальный Идентификатор?
(1) UID
(2) UUID
(3) ID
(4) RAND
Какая команда позволяет просмотреть существующие таблицы?
(1) SHOW TABLES;
(2) SELECT * TABLES;
(3) TABLES;
Какой тип данных позволяет сохранять дату в формате 'YYYY-MM-DD'?
(1) DATE
(2) TIME
(3) YEAR
Напишите запрос, который извлечет все поля имя (поле name) и возраст (поле age) из таблицы table1, для которых возраст = 30 лет.
(1) SELECT name FROM table1 WHERE age=30;
(2) SELECT name, age FROM table1 WHERE age=30;
(3) SELECT age FROM table1 WHERE age=30;
(4) SELECT * FROM DATABASE;
Какой оператор позволяет производить поиск данных по множеству?
(1) IN
(2) BETWEEN
(3) SET
(4) такого оператора нет
Какая функция позволяет подсчитать количество записей в таблице?
(1) ORDER
(2) AVG
(3) COUNT
(4) READ
Какая функция позволяет найти натуральный логарифм числа x?
(1) LN(x)
(2) LOG(x)
(3) LOG(x,1)
(4) LOG10(x)
Напишите запрос, который выведет все фамилии (поле fam) сотрудников из таблицы table1, которые родились (поле birth_date) в апреле
(1) SELECT fam FROM table1 WHERE MONTH(birth_date) = 4;
(2) SELECT fam FROM table1 WHERE MONTH = 4;
(3) SELECT fam FROM table1 WHERE birth_date.MONTH = 4;
Утверждение «данные способны принять вид любой структуры, которую можно выразить на используемом языке программирования» верно для…
(1) реляционной базы данных
(2) сетевой базы данных
(3) объектно-ориентированной базы данных
(4) иерархической базы данных
Определите результат запроса
SELECT INSERT(‘интернет университет информационных технологий’,1,9,’Intuit — ‘);
(1) 'интернет университет информационных технологий 'Intuit -'
(2) 'Intuit - университет информационных технологий'
(3) 'Intuit - интернет университет информационных технологий'
(4) NULL
Какая функция позволяет осуществить битовый сдвиг влево?
(1) <
(2) <<
(3) |
(4) ||
Какая команда позволяет удалить таблицу?
(1) DROP TABLE имя_таблицы;
(2) DROP имя_таблицы;
(3) DROP * IN имя_таблицы;
Какой тип данных позволяет сохранить от 0 до 255 символов?
(1) CHAR(255)
(2) TEXT
(3) BLOB
(4) STRING
Что выведет следующий запрос:
SELECT * from people where age<=30;
(1) все поля таблицы people, для которых значение поля age меньше или равно 30
(2) все данные из полей people, для которых значение поля age меньше 30
(3) все данные из таблицы people
(4) запрос ничего не выведет, поскольку допущена ошибка
Напишите запрос
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 (продавец, консультант);
Какое предложение позволяет группировать аналогичные данные
(1) SORT BY
(2) SELECTBY
(3) ORDER BY
(4) GROUP BY
Какая функция позволяет вычислить остаток от деления одного числа на другое?
(1) MOD
(2) ABS
(3) DIV
(4) RUNC
Напишите запрос, который выведет все фамилии (поле fam) сотрудников из таблицы table1, которые родились (поле birth_date) в мае
(1) SELECT fam FROM table1 WHERE MONTHNAME(birth_date) = 'May';
(2) SELECT fam FROM table1 WHERE MONTH(birth_date) = 'may';
(3) SELECT fam FROM table1 WHERE MONTH = 'MAY';
Выберите верные утверждения:
(1) MySQL — это система управления реляционными базами данных
(2) программное обеспечение MySQL — это ПО с открытым кодом
(3) поддерживается верификация пользователя с удаленного компьютера
(4) максимальный размер таблицы всегда составляет 4 Гб
Какая функция позволяет преобразовать все символы строки в нижний регистр?
(1) LOWER
(2) LCASE
(3) LPAD
Какая функция позволяет узнать набор символов в строке?
(1) CHARSET
(2) CHAR
(3) CHR
Какой тип данных позволяет сохранить до 16777215 символов?
(1) TEXT
(2) MEDIUMBLOB
(3) MEDIUMTEXT
(4) STRING
Напишите запрос, который выведет все фамилии (поле fam) и возраст (поле age) сотрудников из таблицы table1, зарплата которых (поле sal) больше 10000
(1) SELECT * FROM table1 WHERE sal>10000;
(2) SELECT fam, age FROM table1 WHERE sal<10000;
(3) SELECT fam, age FROM table1 WHERE sal>10000;
(4) SELECT fam, age WHERE sal>10000;
Выведите данные из всех полей таблицы 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;
Как вывести средний возраст (поле age) сотрудников по должностям (поле title)?
(1) SELECT title, AVG(age) FROM table1 GROUP BY age;
(2) SELECT AVG(age) FROM table1 GROUP BY title;
(3) SELECT title, AVG(age) FROM table1 GROUP BY title;
Какая из функций позволяет возвести число в степень?
(1) POW
(2) POWER
(3) MOD
(4) ABS
(5) RAD
Напишите запрос, который выведет все фамилии (поле fam) и возраст (поле age) сотрудников из таблицы table1, которые родились (поле birth_date) в 1965г.
(1) SELECT * FROM table1 WHERE birth_date=1965;
(2) SELECT fam, age FROM table1 WHERE birth_date=1965;
(3) SELECT fam, age FROM table1 WHERE YEAR(birth_date)=1965;
(4) SELECT fam, age WHERE YEAR(birth_date)=1965;
Определите результат запроса
SELECT TRIM(LEADING ‘w’ FROM ‘www.intuit.ru’);
(1) 'www.intuit.ru'
(2) 'intuit.ru'
(3) 'ww.intuit.ru'
(4) '.intuit.ru'
Какая функция позволяет узнать имя базы данных по умолчанию?
(1) DATABASE
(2) BASE
(3) DEFAULT
(4) DESCRIBE
Перечислите имена (поле name) и фамилии (поле fam) всех сотрудников, фамилии которых начинаются с буквы К. Данные брать из таблицы table1
(1) SELECT name FROM table1 WHERE fam LIKE 'К%';
(2) SELECT name, fam FROM table1 WHERE fam LIKE '%К';
(3) SELECT name, fam FROM table1 WHERE fam LIKE 'К%';
(4) SELECT name, fam FROM table1 WHERE fam LIKE 'К*';
Выведите список имен (поле 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;
Выберите запросы, не содержащие ошибок
(1) SELECT COUNT(*) FROM table1 WHERE title != 'директор';
(2) SELECT title FROM table1 GROUP BY title;
(3) SELECT COUNT(*) FROM table1 WHERE age >= 40;
Определите результат следующего запроса
SELECT ROUND(-1.23);
(1) 1.23
(2) -1
(3) -2
(4) -1.3
Какой из нижеследующих вариантов позволяет получить число месяца?
(1) MONTH(CURRENT_DATE)
(2) DAYOFMONTH(CURRENT_DATE)
(3) CURRENT(DAYOFMONTH)
Какая функция позволяет сравнить две строки?
(1) STRCMP
(2) CMP
(3) STRSTR
(4) STR
Какая функция позволяет узнать версию сервера MySql?
(1) VER
(2) MYSQL
(3) INFO
(4) VERSION
Какой запрос выводит имена (поле name), фамилии (поле fam) и зарплаты (поле sal) всех сотрудников, у которых имя содержит букву 'к'? Данные брать из таблицы table1.
(1) SELECT name, fam, sal from table1 where name like 'к%';
(2) SELECT name, fam, sal from table1 where name like '%к%';
(3) SELECT name, fam, sal from table1 where name like '%к';
(4) SELECT name, fam, sal from table1 where name like 'к';
Какой оператор позволяет ограничить количество извлекаемых данных?
(1) SET
(2) COUNT
(3) LIMIT
(4) ORDER
Укажите несуществующие агрегатные функции
(1) MIN
(2) MAX
(3) SUM
(4) AGE
Для чего предназначена функция SIGN?
(1) возвращает знак аргумента
(2) возвращает модуль числа
(3) округляет число
(4) находит большее из двух чисел
Определите результат запроса, если в поле birth_date хранится дата рождения сотрудника
SELECT DISTINCT YEAR(birth_date) FROM table1;
(1) запрос выведет дату рождения самого старого сотрудника
(2) запрос выведет все уникальные года рождения
(3) запрос выведет минимальный год рождения из таблицы
(4) запрос ничего не выведет, т.к. допущена ошибка
Определите результат запроса
SELECT SUBSTRING(‘Intuit.ru — интернет университет информационных технологий’,9);
(1) 'Intuit.ru'
(2) ' - интернет университет информационных технологий'
(3) 'u - интернет университет информационных технологий'
Какой оператор служит для удаления записей из таблицы?
(1) DESELECT
(2) FLUSH
(3) DELETE
(4) ERASE
Какое ключевое слово позволяет выбрать неповторяющиеся данные?
(1) ONCE
(2) DESCRIBE
(3) DISTINCT
(4) UNIQUE
Какая функция возвращает корень числа?
(1) SQR
(2) SQRT
(3) QUAD
(4) ABS
Напишите запрос, определяющий количество сотрудников, рожденных в каждом месяце
(1) SELECT MONTHNAME(birth_date) AS birth_month, COUNT(*) FROM table1 GROUP BY birth_month;
(2) SELECT COUNT(MONTH(birth_date)) FROM table1 GROUP BY birth_date;
(3) SELECT DISTINCT MONTH(birth_date) FROM table1 GROUP BY birth_date;
Определите результат запроса
SELECT ‘Intuit.ru’ LIKE ‘%ru%’;
(1) 1
(2) 0
(3) NULL
(4) TRUE
(5) FALSE
Какая команда выполняет изменение данных в таблицах?
(1) REFRESH
(2) UPDATE
(3) NEW
(4) INSERT
Определите результат запроса
SELECT TRUNCATE(1.223,1);
(1) 1
(2) 1.2
(3) 1.22
(4) 1.223
Из чего состоит база данных?
(1) из совокупности таблиц с записями данных
(2) из полей
(3) из записей данных
С помощью какой функции можно преобразовать целое число в двоичное?
(1) BIT_LENGTH
(2) BIT
(3) BIN
(4) CONV
Какая функция позволяет выполнить побитовую операцию ИЛИ?
(1) OR
(2) AND
(3) &
(4) |
(5) ||
Чтобы разрешить использование базы данных другим учетным записям, необходимо выполнить следующую команду:
(1) GRANT ALL ON имя_базы_данных.* TO имя_пользователя@localhost IDENTIFIED BY "пароль"
(2) GRANT ALL ON имя_базы_данных.* TO имя_пользователя@root IDENTIFIED BY "пароль"
(3) GRANT ALL имя_базы_данных.* TO имя_пользователя@localhost IDENTIFIED BY "пароль"
Какой минимальный тип данных позволяет сохранять целые числа в диапазоне от 0 до 255?
(1) SMALLINT
(2) INT
(3) TINYINT
(4) INTEGER
Какая операция позволяет использовать в запросах логическое «ИЛИ»?
(1) |
(2) ||
(3) OR
(4) ~
Какой запрос выводит возраст (поле age) самого молодого сотрудника?
(1) SELECT MIN by age FROM table1;
(2) SELECT * FROM table1 where MIN(age);
(3) SELECT * FROM table1 WHERE age =MIN(age);
(4) SELECT MIN(age) FROM table1;
Определите назначение функции ABS
(1) выводит целую часть дробного числа
(2) округляет число
(3) выводит модуль числа
(4) выводит арксинус числа
Напишите запрос, который извлечет все имена (поле name) из таблицы table1, у которых значение поля дата рождения (birth_date) соответствует 1 февраля 70го года.
(1) SELECT name FROM table1 WHERE birth_date ='1.2.1970';
(2) SELECT name FROM table1 WHERE birth_date ='1970.1.2';
(3) SELECT name FROM table1 WHERE birth_date ='1.2.70';
(4) SELECT name FROM table1 WHERE birth_date ='1970.2.1';
Какое количество баз данных может быть управляемо одной СУБД?
(1) только одна
(2) как одна, так и несколько
(3) не менее двух
Определите результат действия функции
SELECT CHAR_LENGTH(‘hello’);
Какая функция позволяет зашифровать строку, используя системный вызов Unix crypt()?
(1) ENCRYPT
(2) DES_ENCRYPT
(3) AES_ENCRYPT
(4) MD5
(5) CRYPT
Всякий раз при работе с клиентом базы данных, нужно ее определить. Определить текущую базу данных можно следующими способами:
(1) определение имени базы данных при запуске клиента mysql
(2) определение базы данных с помощью оператора USE в приглашении mysql
(3) определение имени базы данных при входе в операционную систему
(4) определение базы данных с помощью u в приглашении mysql
Какой минимальный тип данных позволяет сохранять целые числа в диапазоне от 0 до 65535?
(1) SMALLINT UNSIGNED
(2) INT
(3) TINYINT
(4) INTEGER
Была ли допущена ошибка в запросе вставки данных, и если была, то какая?
INSERT INTO table1 (name, age) values («Михаил», «32»);
при условии что таблица table1 существует, и в ней есть три поля: name, age и email, и поле age имеет тип int
(1) ошибка — в запросе должны быть перечислены все поля таблицы
(2) ошибка — несоответствие типов. В таблице age задано как int, а в запросе используется как строка
(3) ошибок нет
Напишите запрос, который извлечет поля имя (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;
Какой запрос выведет максимальную зарплату (поле sal) среди программистов?
(1) SELECT MAX(sal) FROM table1 WHERE title = "программист";
(2) SELECT * FROM table1 WHERE title = "программист" AND MAX(sal);
(3) SELECT sal FROM table1 WHERE title = "программист" AND sal=MAX(sal);
В чем отличие функции CEIL от CEILING?
(1) функции CEILING не существует
(2) CEILING работает с числами двойной точности, а CEIL — одинарной
(3) отличий нет
(4) CEIL округляет число, а CEILING отбрасывает дробную часть
Какие существуют способы связи строк таблиц друг с другом?
(1) один к одному
(2) один ко многим
(3) многие ко многим
Определите назначение функции COMPRESS
(1) сжимает строку
(2) кодирует сроку
(3) распаковывает строку
(4) определяет, является ли строка сжатой
Определите назначение функции BENCHMARK
(1) функция позволяет определить, насколько быстро MySQL выполняет выражение
(2) позволяет определить количество подключений к серверу MySql
(3) определяет степень загруженности процессора сервера MySql
Как создать временную таблицу, существующую в течение текущего сеанса?
(1) задать флаг TEMPORARY в запросе CREATE
(2) задать флаг TIMEOUT в запросе CREATE
(3) задать флаг TEMP в запросе CREATE
Какой тип данных позволяет сохранять целые числа в диапазоне от 0 до 4294967295?
(1) INTEGER
(2) SMALLINT
(3) INT
Укажите наиболее полный формат команды SELECT
(1) SELECT from имя_таблицы WHERE имена_столбцов;
(2) SELECT имена_столбцов [WHERE ...условия];
(3) SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
(4) SELECT имя_таблицы from имена_столбцов [WHERE ...условия];
Какой запрос выведет список имен (поле 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 'Л%';
Как вычислить среднюю зарплату (поле sal) сотрудников?
(1) SELECT AVERAGE(sal) FROM table1;
(2) SELECT AVG(sal) FROM table1;
(3) SELECT * FROM table1 WHERE sal =AVG(sal);
В чем отличие функции FLOOR от FLOORING?
(1) функции FLOORING не существует
(2) FLOORING работает с числами двойной точности, а FLOOR — одинарной
(3) FLOOR округляет число, а FLOORING отбрасывает дробную часть
(4) отличий нет
Напишите запрос, который выведет все фамилии (поле fam) сотрудников из таблицы table1, которые родились (поле birth_date) позже 2 января 1970г
(1) SELECT fam FROM table1 WHERE birth_date >'1-2-70';
(2) SELECT fam FROM table1 WHERE birth_date >'70-2-1';
(3) SELECT fam FROM table1 WHERE birth_date <'70-2-1';
(4) SELECT fam FROM table1 WHERE birth_date >'1970-01-02';
Способ связи строк таблиц, когда строка одной таблицы соответствует нескольким строкам другой таблицы, называется…
(1) один ко многим
(2) многие ко многим
(3) один к одному
Определите результат запроса
SELECT CONCAT(‘My’, NULL, ‘QL’);
(1) NULL
(2) 'MyQL'
(3) 'My QL'
(4) запрос выдаст ошибку, т.к. указан недопустимый параметр
Определите назначение функции CURRENT_USER
(1) вернет имя пользователя и имя хоста в текущем сеансе
(2) вернет имя пользователя в текущем сеансе
(3) вернет имя хоста в текущем сеансе
Определите результат запроса
CREATE TABLE table (id int, name varchar(20), email varchar(60));
(1) запрос создаст таблицу table с полями id, name и email
(2) запрос создаст таблицу table1 с полями id, name и email
(3) запрос ничего не сделает, т.к. допущена ошибка
Укажите существующие числовые типы полей
(1) INT
(2) INTEGER
(3) BIGINT
(4) BIT
(5) TINYINT
Укажите формат оператора получения данных о таблице table1 базы database1
(1) table1.describe;
(2) DESCRIBE * WHERE table="table1";
(3) DESCRIBE database1.table1;
Что выведет следующий запрос:
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) запрос ничего не выведет, поскольку допущена ошибка
Как найти сумму зарплат (поле sal) всех программистов (поле title)?
(1) SELECT SUM(sal) FROM table1 WHERE title='программист';
(2) SELECT AVG(sal) FROM table1 WHERE title='программист';
(3) SELECT SUM by sal FROM table1 WHERE title='программист';
Какая функция позволяет найти наибольшее значение из списка?
(1) GREAT
(2) GREATEST
(3) MAX
(4) MAXINLIST
Напишите запрос, который выведет все фамилии (поле fam) сотрудников, родившихся (поле birth_date) c 1970 по 1980 гг
(1) SELECT fam FROM table1 WHERE birth_date BETWEEN '1970-01-01' AND '1980-12-31';
(2) SELECT fam FROM table1 WHERE birth_date > '1970-01-01' AND birth_date < '1980-01-01';
(3) SELECT fam FROM table1 WHERE birth_date >= '1970-01-01' AND birth_date <= '1980-01-01';
Как хранится структура базы данных?
(1) как часть базы данных и не может быть изменена без ущерба для данных
(2) как часть базы данных и может быть изменена без ущерба для данных
(3) независимо от базы данных
Определите результат запроса
SELECT CONV(15,10,16);
(1) 1111
(2) 15
(3) 10
(4) FF
(5) F
Определите результат запроса
SELECT FORMAT(12332.123456, 4);
(1) '12,332.1235'
(2) '12,332.123'
(3) '12,332.1234'
(4) '12,332.12345'
(5) '12,332.124'
Определите ошибку в запросе
CREATE TABLE table1 (id int, name varchar(20), email varchar(60));
(1) ошибки нет
(2) указано недопустимое имя таблицы
(3) указаны неверные разделители полей
Какой тип данных позволяет сохранять числа в диапазоне от -1,7976931348623157E+308 до 1,7976931348623157E+308?
(1) BIGINT
(2) FLOAT
(3) DOUBLE
(4) BIG
Напишите оператор для записи следующих данных в таблицу table1
name: user
email: freak@intuit.ru
nick-name: freak
(1) INSERT INTO table1 (name, nick-name, email) values ("user", "freak@intuit.ru", "freak");
(2) INSERT INTO DATABASE (name, email, nick-name) values ("user", "freak@intuit.ru", "freak");
(3) INSERT INTO table1 (name, email, nick-name) values ("user", "freak@intuit.ru", "freak");
Напишите запрос, который выведет все фамилии (поле 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';
Что делает следующий оператор
SELECT SUM(sal) AS ‘Статистика’ FROM table1;
(1) выводит сумму значений поля ‘Статистика’
(2) выводит сумму значений поля sal, и результат подписывает как ‘Статистика’
(3) рассчитывает сумму значений поля sal и заносит его в поле ‘Статистика’
Какая функция позволяет найти наименьшее значение из списка?
(1) LEAST
(2) MIN
(3) MININLIST
(4) такой функции нет
Напишите запрос, который выведет все данные сотрудников из таблицы table1, с сортировкой по старшинству (поле birth_date)
(1) SELECT * FROM table1 SORT birth_date;
(2) SELECT * FROM table1 ORDER BY birth_date;
(3) SELECT * FROM table1 GROUP BY birth_date;
Иерархическая база данных представляет собой…
(1) набор обычных файлов
(2) древовидную организацию информации
(3) централизованное хранилище таблиц, обеспечивающее безопасный одновременный доступ к информации
Определите результат запроса
SELECT FIELD(1, ‘Интернет’, ‘Университет’, ‘Информационных’, ‘Технологий’);
(1) 'Интернет'
(2) 'Университет'
(3) 1
(4) NULL
(5) 0
Сколько шестнадцатеричных чисел входят в состав UUID?
Определите назначение команды SHOW TABLES;
(1) отображает содержимое указанной таблицы
(2) отображает все существующие таблицы
(3) отображает текущую таблицу
(4) такой команды не существует
В каком формате сохраняются данные, имеющие тип DATE?
(1) 'YYYY-MM-DD'
(2) 'YYYY-DD-MM'
(3) 'DD-MM-YYYY'
Напишите запрос, который извлечет все имена (поле name) из таблицы table1, для которых зарплата (поле salary) = 50000.
(1) SELECT name FROM table1 WHERE salary=50000;
(2) SELECT salary=50000 FROM table1;
(3) SELECT name, salary FROM table1 WHERE salary=50000;
(4) SELECT * FROM table1 WHERE salary=50000;
Какой оператор позволяет при поиске задавать целочисленные границы?
(1) IN
(2) BETWEEN
(3) SET
(4) такого оператора нет
Как подсчитать количество сотрудников — программистов (поле title) в таблице?
(1) SELECT COUNT(*) FROM table1 WHERE title = 'программист';
(2) SELECT COUNT FROM table1 WHERE title = 'программист';
(3) SELECT COUNT() FROM table1 WHERE title = 'программист';
(4) SELECT COUNT('программист') FROM table1;
Какая функция позволяет найти десятичный логарифм числа
(1) LN(x)
(2) LOG(x)
(3) LOG(x,10)
(4) LOG10(x)
(5) LOG(10,x)
Напишите запрос, который выведет все фамилии (поле fam) и даты рождения (поле birth_date) сотрудников, которые родились в январе
(1) SELECT fam, birth_date FROM table1 WHERE MONTH = 1;
(2) SELECT fam, birth_date FROM table1 WHERE MONTH(birth_date) = 1;
(3) SELECT fam, birth_date FROM table1 WHERE birth_date.MONTH = 1;
(4) SELECT fam, birth_date FROM table1 WHERE MONTH(birth_date) = 0;
Какие из перечисленных возможностей поддерживает СУБД MySQL?
(1) параллельный доступ к базе данных нескольких приложений
(2) восстановление информации в случае непредвиденного сбоя
(3) регистрация изменений, вносимых в базу данных
(4) создание резервных копий баз данных
Определите результат запроса
SELECT INSTR(‘интернет университет информационных технологий’,’Intuit’);
(1) 0
(2) 'Intuit - университет информационных технологий'
(3) 'Intuit - интернет университет информационных технологий'
(4) NULL
Какая функция позволяет осуществить битовый сдвиг вправо?
(1) >
(2) >>
(3)
(4) \
Что делает команда DROP TABLE;?
(1) удаляет таблицу
(2) удаляет содержимое таблицы
(3) проверяет существование таблицы
Какой тип данных позволяет сохранить от 0 до 255 символов?
(1) STRING
(2) VARCHAR
(3) CHAR
Что выведет следующий запрос:
SELECT name, age FROM people WHERE title=’designer’;
(1) все поля таблицы people, для которых значение поля title соответствует 'designer'
(2) поля name и age таблицы people, для которых значение поля title соответствует 'designer'
(3) запрос ничего не выведет, поскольку допущена ошибка
Напишите запрос
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 ('продавец', 'консультант');
Как можно подсчитать число сотрудников, имеющих определенную должность (поле title)?
(1) SELECT title, COUNT(*) FROM table1 GROUP BY title;
(2) SELECT title FROM table1 GROUP BY title;
(3) SELECT * FROM table1 GROUP BY title;
Определите результат действия следующего запроса
SELECT MOD (5, 2);
Напишите запрос, который выведет все фамилии (поле fam) и даты рождения (поле birth_date) сотрудников, которые родились в январе
(1) SELECT fam, birth_date FROM table1 WHERE MONTH = 'January';
(2) SELECT fam, birth_date FROM table1 WHERE MONTHNAME(birth_date) = 'January';
(3) SELECT fam, birth_date FROM table1 WHERE MONTHNAME(birth_date) = 'JANUARY';
(4) SELECT fam, birth_date FROM table1 WHERE MONTHNUMBER(birth_date) = '01';
Выберите верные утверждения:
(1) система безопасности основана на привилегиях и паролях с возможностью верификации с удаленного компьютера
(2) пароли при передаче по сети при соединении с сервером шифруются
(3) клиенты могут соединяться с MySQL, используя сокеты TCP/IP, сокеты Unix или именованные каналы
Какая функция позволяет преобразовать все символы строки в верхний регистр?
(1) UPPER
(2) UCASE
(3) UPAD
Определите назначение функции CHARSET
(1) устанавливает кодировку по умолчанию
(2) возвращает кодировку строки
(3) преобразует строку в другую кодировку
Какой тип данных позволяет сохранить до 16777215 символов?
(1) TEXT
(2) MEDIUMBLOB
(3) STRING
(4) VARCHAR
Напишите запрос, который выведет все фамилии (поле fam) и зарплаты (поле sal) сотрудников, младше 25 лет (поле age). Данные брать из таблицы table1
(1) SELECT * FROM table1 WHERE age<25;
(2) SELECT fam, age FROM table1 WHERE age<25;
(3) SELECT fam, sal FROM table1 WHERE age<25;
(4) SELECT fam, sal, age FROM table1 WHERE age<25;
Выведите имена (поле 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;
Как вывести среднюю зарплату (поле sal) сотрудников по должностям (поле title)?
(1) SELECT title, AVG(sal) FROM table1 GROUP BY sal;
(2) SELECT title, AVG(sal) FROM table1 GROUP BY title;
(3) SELECT AVG(sal) FROM table1 GROUP BY title;
Определите результат следующего запроса
SELECT POW(2,3);
Напишите запрос, который выведет все фамилии (поле fam) и зарплаты (поле sal) сотрудников, которые родились (поле birth_date) после 1970г. Данные брать из таблицы table1
(1) SELECT * FROM table1 WHERE YEAR(sal)>1970;
(2) SELECT fam, birth_date FROM table1 YEAR(birth_date)>1970;
(3) SELECT fam, sal FROM table1 WHERE YEAR(birth_date)>1970;
(4) SELECT fam, sal FROM table1 WHERE YEAR>1970;
Какой параметр функции TRIM позволяет удалить завершающие символы?
(1) LEADING
(2) BOTH
(3) TRAILING
(4) END
Определите назначение функции DATABASE
(1) устанавливает имя текущей базы данных
(2) получает информацию об указанной базе данных
(3) возвращает имя текущей базы данных
Перечислите имена (поле name) всех сотрудников, фамилии которых (поле fam) начинаются с буквы К. Данные брать из таблицы table1
(1) SELECT name FROM table1 WHERE fam LIKE 'К%';
(2) SELECT name FROM table1 WHERE fam LIKE '%К';
(3) SELECT name FROM table1 WHERE fam LIKE 'К';
(4) SELECT name FROM table1 WHERE fam LIKE 'К*';
Выведите имена сотрудников (поле 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;
Выберите запросы, не содержащие ошибок
(1) SELECT COUNT(*) FROM table1 WHERE age <= 40 and age>=60;
(2) SELECT COUNT FROM table1 WHERE title != 'директор';
(3) SELECT title FROM table1 GROUP title;
Определите результат следующего запроса
SELECT ROUND(-1.58);
(1) -1.5
(2) -2
(3) -1
(4) -1.6
Какой из нижеследующих вариантов позволяет получить текущий месяц?
(1) MONTH(CURRENT_DATE)
(2) CURRENT_DATE(MONTH)
(3) CURRENT_MONTH()
(4) CURRENT(MONTH)
Определите назначение функции STRCMP
(1) сравнивает две строки
(2) сортирует строки-аргументы в алфавитном порядке
(3) объединяет строки-аргументы
Определите назначение функции VERSION
(1) функция выводит информацию о всех изменениях в текущей версии, относительно более ранней версии
(2) функция выводит имя текущего пользователя MySQL, имя хоста, с которого он подключился, и версию MySql сервера
(3) функция возвращает строку, содержащую информацию о версии сервера MySQL
Какой запрос выводит имена (поле name) и фамилии (поле fam) всех сотрудников, у которых имя содержит букву 'к'? Данные брать из таблицы table1
(1) SELECT name, fam from table1 where name like 'к%';
(2) SELECT name, fam from table1 where name like '%к%';
(3) SELECT name, fam from table1 where name like '%к';
(4) SELECT name, fam from table1 where name like 'к';
Как вывести из таблицы только первые пять записей?
(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;
Укажите существующие агрегатные функции
(1) MIN
(2) MAX
(3) AVERAGE
(4) COUNT
Определите результат запроса
SELECT SIGN(234);
(1) 234
(2) 1
(3) 0
(4) 200
Определите результат запроса
SELECT SUBSTRING(‘Intuit.ru — интернет университет информационных технологий’ FROM 9);
(1) 'u - интернет университет информационных технологий'
(2) 'Intuit.ru'
(3) ' - интернет университет информационных технологий'
Укажите формат оператора DELETE
(1) DELETE FROM имя_таблицы WHERE условия;
(2) DELETE имя_таблицы WHERE условия;
(3) DELETE имя_таблицы FROM условия;
(4) DELETE FROM условия WHERE имя_таблицы;
Выведите имена всех сотрудников (поле 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;
Определите результат запроса
SELECT SQRT(16);
Напишите запрос, определяющий количество сотрудников, рожденных в каждом году
(1) SELECT YEAR(birth_date) AS birth_year, COUNT(*) FROM table1 GROUP BY birth_year;
(2) SELECT COUNT(birth_date) FROM table1 SORT BY birth_date;
(3) SELECT DISTINCT MONTHCOUNT(birth_date) FROM table1 GROUP BY birth_date;
Определите результат запроса
SELECT ‘Intuit.ru’ LIKE ‘ru%’;
(1) 1
(2) 0
(3) NULL
(4) TRUE
(5) FALSE
Как установить программистам (поле 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;
Определите результат запроса
SELECT TRUNCATE(1.999,0);
(1) 1
(2) 0
(3) 1.9
(4) 1.999
(5) запрос выведет ошибку, т.к. задан недопустимый параметр
Что представляет собой СУБД (система управления базами данных)?
(1) программа, которая осуществляет контроль данных
(2) программа, осуществляющая всю работу, связанную с базой данных
(3) программа, которая содержит команды, позволяющие создавать таблицы записей данных
Определите назначение функции BIN
(1) функция определяет, является ли число-аргумент двоичным
(2) функция преобразует обычную строку в двоичную
(3) функция возвращает строковое представление двоичного значения целого числа
Какая функция позволяет выполнить побитовое сложение по модулю 2 (исключающее ИЛИ)?
(1) ^
(2) >>
(3) <<
(4) |
(5) ||
Ввод какой команды выведет список всех доступных в системе баз данных?
(1) SHOW ALL DATABASES;
(2) SHOW DATABASES;
(3) SHOW NEW DATABASES;
Определите размерность полей, имеющих тип TINYINT
(1) 0..255
(2) 0..256
(3) -128..128
(4) -128..127
(5) -127..128
Какая из команд вносит данные в таблицу?
(1) ADD
(2) NEW
(3) INSERT
(4) SELECT
Какое ключевое слово позволяет использовать в запросах логическое «НЕ»?
(1) -
(2) NOT
(3) XOR
(4) ~
Какой запрос выводит наименьший стаж (поле yos) у сотрудников?
(1) SELECT MIN by yos FROM table1;
(2) SELECT MIN(yos) FROM table1;
(3) SELECT * FROM table1 where MIN(yos);
(4) SELECT * FROM table1 WHERE yos =MIN(yos);
Определите результат выполнения следующего запроса
SELECT ABS(-4.05022);
(1) 4
(2) -4
(3) 4.05022
(4) 4.1
Напишите запрос, который извлечет все значения полей имя (поле name) и возраст (поле age) из таблицы table1, у которых значение поля дата рождения (birth_date) соответствует 31 декабря 69го года.
(1) SELECT name, age FROM table1 WHERE birth_date =1969-12-31;
(2) SELECT name, age FROM table1 WHERE birth_date =31-12-1969;
(3) SELECT name, age FROM table1 WHERE birth_date ='1969-12-31';
(4) SELECT name, age FROM table1 WHERE birth_date ='31-12-69';
База данных в MySQL представляет собой…
(1) совокупность неорганизованной информации
(2) совокупность записей данных
(3) совокупность информации, организованной в виде множеств
Определите результат запроса
SELECT CHAR_LENGTH(5);
(1) 1
(2) 5
(3) 0
(4) запрос выдаст ошибку, т.к. указан параметр недопустимого типа
Какая функция вычисляет 160-разрядную контрольную сумму SHA1 для строки?
(1) SHA
(2) SHA1
(3) MD5
(4) SHA160
Что будет, если база данных не определена перед началом работы?
(1) MySQL будет порождать ошибку
(2) будет открыта последняя использованная база данных
(3) будет открыта произвольная база данных
Определите размерность полей, имеющих тип SMALLINT
(1) 0..65535
(2) 0..65536
(3) -32768..32767
(4) 0..32767
(5) -32768..32768
Была ли допущена ошибка в запросе вставки данных, и если была, то какая?
INSERT INTO table1 (name, age) values («Михаил», 32);
при условии что таблица table1 существует, и в ней есть три поля: name, age и email, и поле age имеет тип varchar(20).
(1) ошибка — в запросе должны быть перечислены все поля таблицы
(2) ошибка — несоответствие типов. В таблице поле age задано как строка символов, а в запросе используется как число
(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;
Какой запрос выведет возраст (поле age) самого старого программиста?
(1) SELECT MAX(age) FROM table1 WHERE title = "программист";
(2) SELECT * FROM table1 WHERE title = "программист" AND MAX(age);
(3) SELECT age FROM table1 WHERE title = "программист" AND age =MAX(age);
Определите результат выполнения следующего запроса
SELECT CEIL(1.03);
(1) 2
(2) 1
(3) 1.05
(4) 1.5
(5) 1.1
Какие типы связи могут быть между отношениями?
(1) один к одному
(2) один ко многим
(3) многие ко многим
Определите результат действия функции COMPRESS(строка), если в качестве аргумента указать пустую строку:
(1) функция вернет ошибку, т.к. указан неправильный аргумент
(2) функция вернет NULL
(3) функция сохранит строку как пустую строку
Определите результат запроса
SELECT BENCHMARK(1000000,ENCODE(«hello»,»goodbye»));
(1) запрос закодирует строку "hello" ключом "goodbye" 1000000 раз
(2) запрос проверит, является ли строка "goodbye" ключом к закодированной строке "hello"
(3) запрос объединит строки "hello" и "goodbye" 1000000 раз
Определите назначение флага TEMPORARY в запросе CREATE
(1) задает создание временной таблицы, существующей в течение текущего сеанса
(2) задает создание временной таблицы, существующей в указанном промежутке времени
(3) задает местоположение каталога временных файлов
Определите размерность полей, имеющих тип INTEGER
(1) полей такого типа нет. Правильно — INT
(2) 0..4294967295
(3) -2147483648..2147483647
(4) 0..65535
(5) 0..255
Укажите корректные запросы (при условии что таблица и поля существуют)
(1) SELECT f_name, l_name from table1;
(2) SELECT l_name from table1;
(3) SELECT *;
(4) SELECT * from table1;
Какой запрос выведет список имен (поле 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;
Как вычислить среднюю зарплату (поле sal) программистов (поле title)?
(1) SELECT AVERAGE(sal) FROM table1 WHERE title='программист';
(2) SELECT * FROM table1 WHERE sal =AVG(sal) WHERE title='программист';
(3) SELECT AVG(sal) FROM table1 WHERE title='программист';
Определите результат выполнения следующего запроса
SELECT FLOOR (-1.03);
(1) -2
(2) -1
(3) 1
(4) -1.5
(5) -1.1
Напишите запрос, который выведет все фамилии (поле fam) сотрудников из таблицы table1, которые родились (поле birth_date) до 10 января 1970г
(1) SELECT fam FROM table1 WHERE birth_date <'10.01.1970';
(2) SELECT fam FROM table1 WHERE birth_date <'1970.01.10';
(3) SELECT fam FROM table1 WHERE birth_date >'10.01.1970'';
(4) SELECT fam FROM table1 WHERE birth_date >'1970.10.01';
Способ связи строк таблиц, когда несколько строк одной таблицы связаны с произвольным числом строк в другой таблице, называется…
(1) один ко многим
(2) многие ко многим
(3) один к одному
Определите результат запроса
SELECT CONCAT(2, 3);
(1) 5
(2) 23
(3) запрос выдаст ошибку, т.к. указаны недопустимые параметры
Какая из функций возвращает имя текущего пользователя MySQL и имя хоста, с которого он подключился?
(1) USER()
(2) SESSION_USER()
(3) SYSTEM_USER()
Определите результат запроса
CREATE TABLE table1 (id integer; name varchar(20); email varchar(60));
(1) запрос создаст таблицу table с полями id, name и email
(2) запрос создаст таблицу table1 с полями id, name и email
(3) запрос ничего не сделает, т.к. допущена ошибка
Укажите существующие числовые типы полей
(1) FLOAT
(2) INTEGER
(3) BLOB
(4) DOUBLE
(5) SET
Какая команда позволяет получить список всех баз данных, доступных в системе?
(1) SHOW DATABASES;
(2) LIST *;
(3) SELECT DATABASES;
(4) DATABASES;
Что выведет следующий запрос:
SELECT * FROM people WHERE title=’designer’ and age<>30
(1) все поля таблицы people, для которых значение поля title соответствует 'designer' и возраст не равен 30
(2) поля people, для которых значение поля title соответствует 'designer' и возраст не равен 30
(3) запрос ничего не выведет, поскольку допущена ошибка
Как вывести процент зарплаты (поле sal), которую сотрудники получают в качестве надбавок (поле perk)?
(1) SELECT (SUM(perk)/SUM(sal) * 100) FROM table1;
(2) SELECT (SUM(sal)/SUM(sal) * 100) FROM table1;
(3) SELECT (100/SUM(perk)*SUM(sal)) FROM table1;
Определите результат выполнения следующего запроса
SELECT GREATEST(1, 2, 3);
Напишите запрос, который выведет все фамилии (поле fam) сотрудников, родившихся (поле birth_date) c 1970 по 1975 год включительно.
(1) SELECT fam FROM table1 WHERE birth_date BETWEEN '1970-01-01' AND '1975-01-01';
(2) SELECT fam FROM table1 WHERE birth_date > '1970-01-01' AND birth_date < '1975-01-01';
(3) SELECT fam FROM table1 WHERE birth_date >= '1970-01-01' AND birth_date < '1976-01-01';
Для чего предназначены схемы баз данных?
(1) для контроля целостности данных
(2) для обеспечения безопасности данных
(3) для наглядного отражения состояния базы данных
Определите результат запроса
SELECT CONV(10,2,10);
Определите назначение функции FORMAT
(1) инициализирует (обнуляет) базу данных
(2) инициализирует (обнуляет) указанную таблицу
(3) форматирует числа в виде '#,###.##' с возможностью округления
(4) округляет дробные числа до целых
Определите ошибку в запросе
CREATE TABLE table (id int, name varchar(20), email varchar(60));
(1) ошибки нет
(2) указано недопустимое имя таблицы
(3) указаны неверные разделители полей
Какие из операторов запишут следующие данные в таблицу table1:
name: user
age: 30
если поля name и age имеют тип varchar(10)
(1) INSERT INTO table1 (name, age) values ("user", "30");
(2) INSERT INTO table1 (age, name) values (30, "user");
(3) INSERT INTO table1 (name, age) values (user, "30");
Напишите запрос, который выведет из таблицы 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!='программист';
Что делает следующий оператор
SELECT MAX(sal) AS ‘Статистика’ FROM table1;
(1) выводит максимальное значение поля ‘Статистика’
(2) рассчитывает максимальное значение поля sal и заносит его в поле ‘Статистика’
(3) выводит максимальное значение поля sal, и результат подписывает как ‘Статистика’
Определите результат выполнения следующего запроса
SELECT LEAST (1, 2, 3);
Напишите запрос, который выведет все фамилии (поле fam) и даты рождения (поле birth_date) сотрудников, с сортировкой по старшинству
(1) SELECT fam, birth_date FROM table1 ORDER birth_date;
(2) SELECT fam, birth_date FROM table1 SORT birth_date;
(3) SELECT fam, birth_date FROM table1 GROUP BY birth_date;
(4) правильного ответа нет
В каком типе БД данные способны принять вид любой структуры, которую можно выразить на используемом языке программирования?
(1) объектно-реляционном
(2) объектно-ориентированном
(3) реляционном
(4) сетевом
Определите результат запроса
SELECT FIELD(‘Университет’, ‘Интернет’, ‘Университет’, ‘Информационных’, ‘Технологий’);
(1) 1
(2) 2
(3) TRUE
(4) NULL
(5) 0
Определите назначение функции UUID
(1) генерирует 128-разрядное число, представленное в виде строки, состоящей из пяти шестнадцатеричных чисел, глобально уникальное во времени и пространстве
(2) генерирует случайное глобально уникальное во времени и пространстве шестнадцатеричное число в виде строки
(3) генерирует 256-разрядное число, случайное глобально уникальное во времени и пространстве число в виде строки
Как просмотреть существующие таблицы?
(1) SHOW * TABLES;
(2) SHOW ALL;
(3) SHOW TABLES;
(4) такой команды не существует
Какой тип данных позволяет сохранять дату в формате 'YYYY-MM-DD'?
(1) TIME
(2) DATE
(3) YEAR
(4) DATA
(5) DEC
Напишите запрос, который извлечет все имена (поле name) из таблицы table1, для которых возраст (поле age) = 31 год.
(1) SELECT name FROM table1;
(2) SELECT name, age FROM table1 WHERE age=31;
(3) SELECT name FROM table1 WHERE age=31;
(4) SELECT * FROM table1 WHERE age=31;
Укажите корректные примеры использования операторов 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";
Как подсчитать количество сотрудников — не программистов (поле title) в таблице?
(1) SELECT COUNT(*) FROM table1 WHERE title != 'программист';
(2) SELECT COUNT FROM table1 WHERE title != 'программист';
(3) SELECT COUNT() FROM table1 WHERE title != 'программист';
Что делает следующая функция?
LOG (число1) / LOG (число2)
(1) функция вычислит логарифм числа1 по основанию число2
(2) функция вычислит логарифм числа2 по основанию число1
(3) функция эквивалентна LOG(число1 - число2)
(4) функция эквивалентна LOG(число1 / число2)
Напишите запрос, который выведет все данные сотрудников из таблицы table1, которые родились в январе (поле birth_date). Данные отсортировать по старшинству
(1) SELECT * FROM table1 WHERE MONTH = 1 ORDER BY birth_date;
(2) SELECT * FROM table1 WHERE MONTH(birth_date) = 1 ORDER BY birth_date;
(3) SELECT * FROM table1 WHERE MONTH(birth_date) = 1 ORDER BY MONTH;
Реляционная база данных представляет собой…
(1) набор обычных файлов
(2) древовидную организацию информации
(3) централизованное хранилище таблиц, обеспечивающее безопасный одновременный доступ к информации
Определите результат запроса
SELECT INSTR(‘интернет университет информационных технологий’, ‘университет’);
(1) 10
(2) 9
(3) 'Intuit - интернет университет информационных технологий'
(4) NULL
Какая функция позволяет инвертировать биты?
(1) ~
(2) >>
(3) ||
(4) |
Какой запрос удалит таблицу table1?
(1) DROP TABLE table1;
(2) DROP table1;
(3) DROP * table1;
Определите размерность полей, имеющих тип CHAR
(1) 255 символов
(2) 1024 символа
(3) 65535 символов
(4) 1 символ
Что выведет следующий запрос:
SELECT * FROM people WHERE title=’designer’;
(1) все поля таблицы people, для которых значение поля title соответствует 'designer'
(2) поле people той записи, для которой значение поля title соответствует 'designer'
(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);
Как можно подсчитать число сотрудников одного возраста (поле age)?
(1) SELECT age, COUNT(*) FROM table1 GROUP BY age;
(2) SELECT age FROM table1 GROUP BY age;
(3) SELECT COUNT(*) FROM table1 GROUP BY age;
(4) SELECT * FROM table1 GROUP BY age;
Какие из запросов вычисляют остаток от деления числа x на 2?
(1) SELECT MOD(x, 2);
(2) SELECT x MOD 2;
(3) SELECT 2 MOD x;
(4) SELECT x % 2;
Напишите запрос, который выведет все данные сотрудников из таблицы table1, которые родились в январе (поле birth_date). Данные отсортировать по старшинству
(1) SELECT * FROM table1 WHERE MONTHNAME = 'January' ORDER BY birth_date;
(2) SELECT * FROM table1 WHERE MONTHNAME(birth_date) = 'January' ORDER BY birth_date;
(3) SELECT * FROM table1 WHERE MONTHNAME(birth_date) = 'January' ORDER BY MONTH;
(4) правильного ответа нет
Определите результат запроса
SELECT UPPER(‘Admin@Intuit.ru’);
(1) ADMIN@INTUIT.RU
(2) ADMIN
(3) aDMIN@iNTUIT.RU
(4) ADMIN INTUIT.RU
Какая функция позволяет получить последнее автоматически сгенерированное значение, которое было вставлено в столбец AUTO_INCREMENT?
(1) LAST_AUTO_INCREMENT
(2) GET_CURRENT_ID
(3) LAST_INSERT_ID
(4) CONNECTION_ID
Определите размерность полей, имеющих тип MEDIUMTEXT
(1) 16777215 символов
(2) 4GB текста
(3) 65535 символов
Напишите запрос, который выведет все фамилии (поле fam), возраст (поле age) и зарплаты (поле sal) сотрудников, младше 25 лет. Данные брать из таблицы table1
(1) SELECT * FROM table1 WHERE age<25;
(2) SELECT fam, age FROM table1 WHERE age<25;
(3) SELECT fam, sal FROM table1 WHERE age<25;
(4) SELECT fam, age, sal FROM table1 WHERE age<25;
Напишите запрос, который выводит список сотрудников, являющихся программистами (поле 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;
Как вывести максимальную зарплату (поле sal) сотрудников по должностям (поле title)?
(1) SELECT title, MAX(sal) FROM table1 GROUP BY title;
(2) SELECT title, MAX(sal) FROM table1 GROUP BY sal;
(3) SELECT MAX(sal) FROM table1 GROUP BY title;
Определите результат следующего запроса
SELECT POWER(4,-2);
(1) запрос выведет ошибку, т.к. задан недопустимый параметр
(2) 4
(3) 1
(4) 0.0625
(5) 0.5
Напишите запрос, который выведет все фамилии (поле fam), возраст (поле age) и зарплаты (поле sal) сотрудников, которые родились (поле birth_date) после 1970г. Данные брать из таблицы table1
(1) SELECT * FROM table1 WHERE YEAR(birth_date)<1970;
(2) SELECT fam, age FROM table1 WHERE YEAR(birth_date)<1970;
(3) SELECT fam, age, sal FROM table1 WHERE YEAR>1970;
(4) SELECT fam, age, sal FROM table1 WHERE YEAR(birth_date)<1970;
(5) правильного ответа нет
Определите результат запроса
SELECT TRIM(BOTH ‘:’ FROM ‘:: Intuit.ru ::’);
(1) ' Intuit '
(2) ' Intuit.ru '
(3) '::: Intuit.ru :::'
(4) ':: INTUIT.ru ::'
Что выведет запрос
SELECT DATABASE();
(1) запрос выведет имя текущей базы данных
(2) запрос выдаст ошибку, т.к. опущен обязательный параметр
(3) запрос выведет все доступные базы данных
Перечислите фамилии (поле fam) всех сотрудников, имена которых (поле name) начинаются с буквы К. Данные брать из таблицы table1
(1) SELECT fam FROM table1 WHERE name LIKE 'К%';
(2) SELECT fam FROM table1 WHERE name LIKE '%К';
(3) SELECT fam FROM table1 WHERE name LIKE 'К';
(4) SELECT fam FROM table1 WHERE name LIKE 'К*';
Выведите список сотрудников (фамилия — поле 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;
Выберите запросы, не содержащие ошибок
(1) SELECT COUNT(*) FROM table1 WHERE title != 'директор';
(2) SELECT COUNT(*) FROM table1 WHERE age >= 40;
(3) SELECT title FROM table1 GROUP title;
Определите результат следующего запроса
SELECT ROUND(23.298, -1);
(1) запрос выведет ошибку, т.к. задан недопустимый параметр
(2) 23
(3) 20
(4) 23.298
Какой из нижеследующих вариантов позволяет получить текущий год?
(1) CURRENT_YEAR()
(2) CURRENT(YEAR)
(3) CURRENT_DATE(YEAR)
(4) YEAR(CURRENT_DATE)
Определите результат запроса
SELECT STRCMP(‘text’, ‘text2’);
(1) -1
(2) 1
(3) 0
(4) 'texttext2'
Что выведет запрос
SELECT VER();
(1) запрос выведет информацию о всех изменениях в текущей версии, относительно более ранней версии
(2) запрос выведет строку, содержащую информацию о версии сервера MySQL
(3) запрос выведет ошибку, т.к. такой функции нет
Какой запрос выводит имена (поле name), фамилии (поле fam) и зарплаты (поле sal) всех сотрудников, у которых фамилия заканчивается на букву 'к'? Данные брать из таблицы table1
(1) SELECT name, fam, sal from table1 where fam like 'к%';
(2) SELECT name, fam, sal from table1 where fam like '%к%';
(3) SELECT name, fam, sal from table1 where fam like '%к';
(4) SELECT name, fam, sal from table1 where fam like '*к';
Как вывести фамилии (поле 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;
Отметьте агрегатные команды:
(1) MIN
(2) MAX
(3) SUM
(4) COUNT
(5) AVG
(6) BIG
Определите результат запроса
SELECT SIGN(0);
(1) запрос выведет ошибку, т.к. задан недопустимый параметр
(2) 1
(3) 0
Определите результат запроса, если в поле birth_date хранится дата рождения сотрудника
SELECT DISTINCT MONTH(birth_date) FROM table1;
(1) запрос выведет минимальный месяц рождения из таблицы
(2) запрос выведет месяц рождения самого старого сотрудника
(3) запрос выведет все уникальные месяца рождения
(4) запрос ничего не выведет, т.к. допущена ошибка
Определите результат запроса
SELECT SUBSTRING(‘Intuit.ru — интернет университет информационных технологий’, 1, 9);
(1) 'Intuit.ru'
(2) ' - интернет университет информационных технологий'
(3) 'u - интернет университет информационных технологий'
Какой из запросов позволяет удалить записи всех сотрудников старше 60 лет (поле age) из таблицы table1?
(1) DELETE * WHERE age>60;
(2) DELETE FROM table1 WHERE age>60;
(3) DELETE WHERE age>60 FROM table1;
(4) DELETE FROM age>60 WHERE table1;
Выведите должности сотрудников (поле 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;
Определите результат запроса
SELECT SQRT(-4);
(1) NULL
(2) 4
(3) -2
(4) -4
(5) 0
Напишите запрос, определяющий количество сотрудников, рожденных в каждом месяце
(1) SELECT COUNT(MONTH(birth_date)) FROM table1 GROUP BY birth_date;
(2) SELECT DISTINCT MONTH(birth_date), COUNT(MONTH) FROM table1 GROUP BY birth_date;
(3) SELECT MONTH(birth_date) AS birth_month, COUNT(*) FROM table1 GROUP BY MONTH(birth_date);
(4) SELECT COUNT MONTH(birth_date) FROM table1;
Определите результат запроса
SELECT ‘Intuit.ru’ LIKE ‘Intuit.__’;
(1) 1
(2) 0
(3) NULL
(4) TRUE
(5) FALSE
Как увеличить программистам (поле 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;
Определите результат запроса
SELECT TRUNCATE(122,-2);
(1) 100
(2) 120
(3) 122
(4) 122.00
Что выведет следующий запрос:
SELECT name, age FROM people WHERE birth_date=’1980-3-4′;
(1) поля name и age таблицы people, для которых дата рождения (поле birth_date) соответствует 3 апреля 1980г
(2) поля name и age таблицы people, для которых дата рождения (поле birth_date) соответствует 4 марта 1980г
(3) запрос ничего не выведет, поскольку допущена ошибка
Что выведет следующий запрос:
SELECT name, fam FROM people WHERE birth_date=’70-12-11′;
(1) поля name и fam таблицы people, для которых дата рождения (поле birth_date) соответствует 12 ноября 1970 года
(2) поля name и fam таблицы people, для которых дата рождения (поле birth_date) соответствует 11 декабря 1970 года
(3) поля name и fam таблицы people, для которых дата рождения (поле birth_date) соответствует 12 ноября 2070 года
(4) поля name и fam таблицы people, для которых дата рождения (поле birth_date) соответствует 11 декабря 2070 года
Ошибка чтения значения в Выборке |
Я |
21.12.20 — 09:50
Ошибка чтения значения в Выборке:
ВыборкаВредность = ЗапросВредность.Выполнить().Выбрать();
Метод с «Выбрать» на «Выгрузить» не могу поменять, нужно сделать через именно через «Выбрать()»
ЗапросВредность = Новый Запрос;
ЗапросВредность.Текст =
«ВЫБРАТЬ
| ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
| ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1
|ИЗ
| Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
|ГДЕ
| ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка = &ДокументСсылка
| И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета.Ссылка = &ВидРасчетаВредность»;
ЗапросВредность.УстановитьПараметр(«ДокументСсылка», ДокументПриема.Ссылка);
ЗапросВредность.УстановитьПараметр(«ВидРасчетаВредность»,ПланыВидовХарактеристик.КП_Константы.ДоплатаЗаВредность.Значение);
ВыборкаВредность = ЗапросВредность.Выполнить().Выбрать();
ВыборкаВредность.Следующий();
1 — 21.12.20 — 09:50
Я только начинаю, не судите строго
2 — 21.12.20 — 09:52
и чего дальше?
3 — 21.12.20 — 09:54
Для начала будем судить за формулировку вопроса )))
Где ошибка? Когда возникает?
4 — 21.12.20 — 09:57
(3) Ошибка чтения значения в Выборке:
ВыборкаВредность = ЗапросВредность.Выполнить().Выбрать();
5 — 21.12.20 — 10:02
(4) что это значит? какого значения, что возвращает .следующий()?
6 — 21.12.20 — 10:03
(4) То есть. Ты делаешь ВыборкаВредность = ЗапросВредность.Выполнить().Выбрать();
Потом смотришь в ВыборкаВредность
И правильно она тебе говорит. Выборку перебирать кто будет? Сам Абд аль-Маджи́д ат-Тикри́ти ?
7 — 21.12.20 — 10:04
(6) хДДД
8 — 21.12.20 — 10:05
вангануть что ли
если написать
Пока ВыборкаВредность.Следующий() Цикл
Сообщить(ВыборкаВредность.ВидРасчета);
КонецЦикла;
что будет?
а еще лучше подключить тяжелую артиллерию — отладчик
9 — 21.12.20 — 10:06
(6) Так он и перебирает…Но только берет первый элемент из выборки:
ВыборкаВредность.Следующий();
Но вот незадача, если результат запроса пустой, то на этой строчке будет ошибка.
10 — 21.12.20 — 10:10
(8) Ничего не выдаёт, вычисляю выражение «Ошибка чтения значения»
11 — 21.12.20 — 10:12
(8) а «ВидРасчета» — переменная не определена
12 — 21.12.20 — 10:14
(6) Проблема в том, что у меня не получается :С
13 — 21.12.20 — 10:16
(12) Посмотри типы значений в отборах запроса. Какой тип значения у выражения ПланыВидовХарактеристик.КП_Константы.ДоплатаЗаВредность.Значение?
14 — 21.12.20 — 10:23
(13) https://ibb.co/Lzz8mRK
Если я правильно тебя понял
15 — 21.12.20 — 10:25
(10) значит в результате запроса ничего нет, либо параметры запроса направильные, либо в ТЧ документа ДокументПриема.Ссылка нет строк с таким видом Доплат
16 — 21.12.20 — 10:35
(15) В общем, ложилась такая ситуация: Когда у человека проставлена «ДоплатаЗаВредность» , то у него всё гучи и всё нормально работает, а когда у него нету этой доплаты, то ошибка эта вылазит. Нужно как-то сделать так, чтобы эта ошибка исправилась , чтобы если у него нет «ДоплатыЗаВредность», то и код прекращал работать
17 — 21.12.20 — 10:36
Это реально как-то сделать?
18 — 21.12.20 — 10:38
(16) для этого и есть Выборка.Следующий()
19 — 21.12.20 — 10:38
Если …
20 — 21.12.20 — 10:39
Убери ты ссылку в условии | И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета.Ссылка = &ВидРасчетаВредность»;
Сделай | И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета= &ВидРасчетаВредность»;
21 — 21.12.20 — 10:42
Стандартная конструкция
Пока Выборка.Следующий() Цикл
если запрос ничего не вернет, то и в цикл программа не попадет
я делаю так
Результат = Запрос.Выполнить();
Если Не Результат.Пустой() Тогда
Для Каждого Строка Из Результат.Выгрузить() Цикл
тра та та
КонецЦикла;
КонецЕсли;
возможны варианты, по ситуации
22 — 21.12.20 — 10:50
(17) Ошибка чтения значения говорит о том что у тебя выборка пустая. Когда ты пишешь Выборка.Следующий в пустой выборке, возникает такая ошибка. Если подразумевается всегда 1 элемент из запроса(либо он есть, либо запрос пустой), тогда можешь писать «Если Выборка.Следующий() Тогда» и обрабатывать первый элемент выборки, иначе выборка пустая. Если нужно обойти все элементы выборка то используй «Пока выборка.Следующий Цикл» Если нужно отработать условие при пустой выборке, можешь предварительно проверить Если Выборка.Количество()=0, А лучше результат на пустоту проверяй.
23 — 21.12.20 — 10:51
(22) «Когда ты пишешь Выборка.Следующий в пустой выборке, возникает такая ошибка.» а при Выборка.Следующий() возникает Ложь
24 — 21.12.20 — 11:29
самый простой вариант это
Таб = Запрос.Выполнить().Выгрузить();
Для Каждого Стр Из Таб Цикл
КонецЦикла;
1с не рекомендует так делать, но это самое удобное.
25 — 21.12.20 — 11:38
(24) но у меня же метод «Выбрать» ,А не «Выгрузить
26 — 21.12.20 — 11:39
(24) Так же работать будет ?
27 — 21.12.20 — 11:46
(26) смысл такой же, да
28 — 21.12.20 — 12:05
Эх, ничего не получается что-то у меня, столько помощи было от Вас, но что-то я ,видимо, совсем тупой :С
29 — 21.12.20 — 12:11
не знаю, что теперь и делать
30 — 21.12.20 — 12:22
(29) самый простой вариант, заплатить денюшку тому, кто сможет объяснить и показать. Либо читай умные книжки по 1с, как правильно писать запросы и их обходить.
31 — 21.12.20 — 12:30
(29) так гучи же
>>>у него всё гучи и всё нормально работает
в чем проблема то
>>>чтобы если у него нет «ДоплатыЗаВредность», то и код прекращал работать
код и перестает работать, если Выборка.Следующий() Ложь
Пока Выборка.Следующий() Цикл //тут неявная проверка на возврат Истина
почитай как это работает, даже в синтакс-помощнике. а истина будет, пока есть записи в результате запроса, то есть когда их нет(или закончатся), тогда и
>>>и код прекращал работать
32 — 21.12.20 — 12:55
(29) что не получается?
Если ВыборкаВредность.Следующий() Тогда
уже пробовал?
33 — 21.12.20 — 14:53
(32) я читал о том, как это делать, но всё равно не могу понять, как обходить результат запроса. Я читал о методе «Следующий()», да и делал до этого что-то простое , а сейчас на попу присел и ничего не получается.
Можешь хоть как-то помочь?
34 — 21.12.20 — 15:03
ЗапросВредность = Новый Запрос;
ЗапросВредность.Текст =
«ВЫБРАТЬ
| ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
| ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1
|ИЗ
| Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
|ГДЕ
| ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка = &ДокументСсылка
| И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета.Ссылка = &ВидРасчетаВредность»;
ЗапросВредность.УстановитьПараметр(«ДокументСсылка», ДокументПриема.Ссылка);
ЗапросВредность.УстановитьПараметр(«ВидРасчетаВредность»,ПланыВидовХарактеристик.КП_Константы.ДоплатаЗаВредность.Значение);
ВыборкаВредность = ЗапросВредность.Выполнить().Выбрать();
пока ВыборкаВредность.Следующий() Цикл
сообщить(«» + ВыборкаВредность.ВидРасчета + » » + ВыборкаВредность.Показатель1);
КонецЦикла;
Что выведет?
35 — 21.12.20 — 15:42
(34)было уже
>>>можешь хоть как то помочь?
можешь?
36 — 21.12.20 — 16:03
(34) Ничего не выводит, в выборке Ошибка чтения
37 — 21.12.20 — 16:08
(36) Ничего не выводит — значит результат запроса пустой.
Проверь ещё
результат = ЗапросВредность.Выполнить();
сообщить(«ЗАпрос пустой » + результат.Пустой());
ВыборкаВредность = результат.Выбрать();
Сообщить(«В выборке » + ВыборкаВредность.Количество() + » элементов»);
38 — 21.12.20 — 16:23
(37) Я уже писал выше:
Когда у человека заполнена «ДоплатаЗаВредность», то всё нормально выводиться, всё гучи. В данный момент, я выбираю сотрудника, у которого нет «ДоплатаЗаВредность».
Вообще, я это задание связано с выводом табличной части. Я создал внешнюю обработку, заполнил все параметры, остался только этот, который я не могу адекватно вывести.
Мне нужно » Если у человека есть ДоплатаЗаВредность, то выводиться число , которое нужно, а если нет( Как в нашем случае) , то нужно выводить «0».
Человеку не понравилось как я сделал задание и он сказал переделывать. Сказал, чтобы не было там ОшибкиЧтенияЗначения,я не знаю как её оттуда убрать, и идиоту понятно, если у человека нет «ДоплатаЗаВредность», то и ошибка будет.
39 — 21.12.20 — 16:25
троль что ли
40 — 21.12.20 — 16:26
(37) Я рассказал всю подноготную сейчас. В данный момент я проверяю челвоека, у которого нет «ДоплатаЗаВредность».
т.е. Запрос пустой и в выборке 0 элементов.
41 — 21.12.20 — 16:26
(39) Да не троль я , меня ебут ( извиняюсь за мат ), а я ничего не понимаю уже
42 — 21.12.20 — 16:28
(38) «то нужно выводить «0»» — это уже другой запрос должен быть.
43 — 21.12.20 — 16:28
(41) инициализируй новую строку нулем сразу, и только если есть результат пиши в показатель данные выборки, а если нет не пиши, так можно
44 — 21.12.20 — 16:30
Я не понимаю, что я делаю не так. Я написал в самом начале :
Если ЗначениеЗаполнено(ВыборкаВредность.Показатель1) = истина тогда
ОбластьМакетаРаботник1.Параметры.Вредность = ВыборкаВредность.Показатель1;
Иначе
ОбластьМакетаРаботник1.Параметры.Вредность = «0»;
КонецЕсли;
45 — 21.12.20 — 16:32
Человеку не понравилось, сказал, чтобы я переделал, я понял, что нужно сделать выборку, я пытался разными способами сделать её, но у меня не получался ни один способ, решил обратиться на форум, чтобы помогли
46 — 21.12.20 — 16:32
(44) Если ВыборкаВредность.Следующий Тогда
ОбластьМакетаРаботник1.Параметры.Вредность = ВыборкаВредность.Показатель1;
Иначе
ОбластьМакетаРаботник1.Параметры.Вредность = «0»;
КонецЕсли;
47 — 21.12.20 — 16:33
(46) *Если ВыборкаВредность.Следующий() Тогда
48 — 21.12.20 — 16:33
ну хз, все же объяснили. Первоначальная формулировка задачи от «человека» есть?
49 — 21.12.20 — 16:35
К (42) Как-то так например:
ВЫБРАТЬ
ВложенныйЗапрос.ВидРасчета как ВидРасчета
,Сумма(ВложенныйЗапрос.Показатель1) как Показатель1
ИЗ
(ВЫБРАТЬ
&ВидРасчетаВредность как ВидРасчета
,0 как Показатель1
объединить все
ВЫБРАТЬ
ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1
ИЗ
Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
ГДЕ
ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка = &ДокументСсылка
И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета = &ВидРасчетаВредность
) КАК ВложенныйЗапрос
Сгруппировать по
ВложенныйЗапрос.ВидРасчета
50 — 21.12.20 — 16:35
1. Сохранить внешнюю печатную форму “Документы на трудоустройство (Единый)”.
2. В листе “Приказ о приёме” добавить пункт “Доплата за вредность” из начислений сотрудника.
3. Загрузить печатную форму обратно. (48)
Это всё
51 — 21.12.20 — 16:36
(41) Жирный троль)
52 — 21.12.20 — 16:36
(50) см. ответ (46) (47) И будет тебе счастье
53 — 21.12.20 — 16:37
(51) может так ковид действует на организм?
54 — 21.12.20 — 16:38
Просто пипец, мне так стыдно, я и сложнее задачи решал , а тут такая фигня и я ничего не понимаю, я целый день сижу и пытаюсь сделать.
55 — 21.12.20 — 16:39
я от компа не отходил ни на секунду с 8 часов утра ( У меня уже 20:38)
56 — 21.12.20 — 16:39
(54) В (42, 49) пробовал?
57 — 21.12.20 — 16:39
(55) Ну так Новосибирск. +4 часа.
58 — 21.12.20 — 16:39
(53) да он еще малявочка, вот пару десятков тем создаст на мисте, научится вопрос формулировать. Потом еще пару сотен вопросов и можно ЕРП внедрять единолично
59 — 21.12.20 — 16:43
(55) Задача сформулирована какая-то суть только в 16:23 в посте (55). Полноценно в 16:35 в посте (50). Чего весь день сидел — не понятно.
Постановка задачи — это 80% её решения. Как-то так обычно было.
Так попробовал 42 и 49?
60 — 21.12.20 — 16:43

61 — 21.12.20 — 16:44
Читать:
Задача сформулирована какая-то суть только в 16:23 в посте (38). ТРИДЦАТЬ ВОСЕМЬ 🙂
62 — 21.12.20 — 16:45
(44) грамотно удержался на взятке, ВыборкаВредность.Показатель1 нельзя так обращаться если выборка не получила Следующий()
63 — 21.12.20 — 16:46
(59) нет, сейчас делать буду.
64 — 21.12.20 — 16:47
Просто ,мне кажется, человек завтра мне скажет :» Дак ты опять не сделал, у тебя всё равно ОшибкаЧтения, иди дальше делать»
65 — 21.12.20 — 16:47
(60) Не знаю почему, но продолжаю пользоваться обычной консолью в толстом клиенте. На мой взгляд они почти все удобнее на порядок. Пользуюсь версией десятилетней давности или более.
(63) Ждем. Там не надо тогда условий никаких в обработке результата. Результат запрос возвращает всегда.
66 — 21.12.20 — 16:48
(64) — (46)(47)
67 — 21.12.20 — 16:49
(59) Спасибо, учту формулировку вопроса, в следующий раз будет лучше!
68 — 21.12.20 — 16:50
(66) Буду знать
69 — 21.12.20 — 16:55
(52) Как я и говорил, мне сказали : У тебя всё равно осталась ошибка.
Задание: Устранить ошибку и сделать так, чтобы не лёг чужой код и свой код.
70 — 21.12.20 — 16:56
Я уже не знаю, что делать, сейчас мозг лопнет :DD
71 — 21.12.20 — 16:56
(70) скинь код в котором у тебя ошибка
72 — 21.12.20 — 16:58
(70) Пробуй (49) и не будет ошибки.
73 — 21.12.20 — 16:59
(72) там пипец сложно, я параллельно разбираю этот код, но я не могу полностью его переписать)
74 — 21.12.20 — 17:00
(71) ЗапросВредность = Новый Запрос;
ЗапросВредность.Текст =
«ВЫБРАТЬ
| ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета,
| ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1
|ИЗ
| Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
|ГДЕ
| ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка = &ДокументСсылка
| И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета.Ссылка = &ВидРасчетаВредность»;
ЗапросВредность.УстановитьПараметр(«ДокументСсылка», ДокументПриема.Ссылка);
ЗапросВредность.УстановитьПараметр(«ВидРасчетаВредность»,ПланыВидовХарактеристик.КП_Константы.ДоплатаЗаВредность.Значение);
ВыборкаВредность = ЗапросВредность.Выполнить().Выбрать();
Если ВыборкаВредность.Следующий() Тогда
йцу= ВыборкаВредность.Показатель1;
иначе
йцу = «0»;
КонецЕсли;
75 — 21.12.20 — 17:00
ну если правильно понял, то процедура печати уже есть, где есть и запрос и выборка и заполнение областей в цикле и вывод в табдок, если это так, то делать все это свое еще раз не надо, так и не получится. Надо: в том месте модуля, где написан запрос и последующая его обработка с выводом в Табличный документ в сам запрос добавить к Выбрать еще одну колонку «Выбрать ТабличнаяЧасть.Сотрудник, ТабличнаяЧасть.Показатель», сотрудник (например, отсюда тот запрос не видно) уже там есть, а добавляем именно размер доплаты — Показатель, после точки ТабличнаяЧасть. имя как этот реквизит называется в метаданных, ну конструктор запроса ошибиться не даст. Все остальное в запросе и параметрах запроса оставляем как есть. Дальше в коде обработки результата запроса и вывода Областей макета (в котором надеюсь » В листе “Приказ о приёме” добавить пункт “Доплата за вредность”» это уже сделано) в ТабличныйДокумент добавляем перед ТабДок.Вывести(Область) новой строкой кода
Область.Параметры.Показатель = Выборка.Показатель;
Вроде больше ничего не надо
76 — 21.12.20 — 17:02
не надо переписывать, надо просто добавить в макет новую колонку, рядом с теми что уже есть и заполнить ее значение кодом наряду с теми колонками, которые уже заполняются.
Ну это конечно если я правильно предполагаю, то что у тебя происходит.
77 — 21.12.20 — 17:02
(70) Ты прикалываешься чтоль? Какая еще ошибка, если у тебя запрос пустой, то ты в макете заполнишь 0. Вангую, ты в пустом запросе смотришь в отладке выборку и недоумеваешь, как так ашипка напротив данных! В этом варианте (46) код нормально отработает. Не надо обрабатывать данные выборки, если она пустая.
78 — 21.12.20 — 17:03
а смотрю я в (50)
79 — 21.12.20 — 17:04
(77) не понятно зачем тут писать свое что то, если печатная форма уже есть и работает, надо только добавить одну колонку
80 — 21.12.20 — 17:08
81 — 21.12.20 — 17:09
Я не знаю уже, как это комментировать
82 — 21.12.20 — 17:11
(77) Если тебе кровь из носа нужно, чтобы выборка всегда была заполнена, можешь следующим образом написать:
ВЫБРАТЬ
СУММА(ПриемНаРаботуВОрганизациюОсновныеНачисления.Показатель1) КАК Показатель1,
ЗаказКлиентаТовары.Ссылка КАК Ссылка
ПОМЕСТИТЬ ДоплатыЗаВредность
ИЗ
Документ.ПриемНаРаботуВОрганизацию.ОсновныеНачисления КАК ПриемНаРаботуВОрганизациюОсновныеНачисления
ГДЕ
ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка = &ДокументСсылка
И ПриемНаРаботуВОрганизациюОсновныеНачисления.ВидРасчета = &ВидРасчетаВредность
СГРУППИРОВАТЬ ПО
ПриемНаРаботуВОрганизациюОсновныеНачисления.Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
ПриемНаРаботуВОрганизацию.Ссылка КАК Ссылка,
ЕСТЬNULL(ДоплатыЗаВредность.Количество, 0) КАК Количество
ИЗ
Документ.ПриемНаРаботуВОрганизацию КАК ПриемНаРаботуВОрганизацию
ЛЕВОЕ СОЕДИНЕНИЕ ДоплатыЗаВредность КАК ДоплатыЗаВредность
ПО ПриемНаРаботуВОрганизацию.Ссылка = ДоплатыЗаВредность.Ссылка
ГДЕ
ПриемНаРаботуВОрганизацию.Ссылка = &ДокументСсылка
83 — 21.12.20 — 17:12
(82) //ЕСТЬNULL(ДоплатыЗаВредность.Количество, 0) КАК Количество ЕСТЬNULL(ДоплатыЗаВредность.Показатель1, 0) КАК Показатель1
84 — 21.12.20 — 17:13
(83) поясню, а то вдруг не понял строчку ЕСТЬNULL(ДоплатыЗаВредность.Количество, 0) КАК Количество в запросе замени на
Количество ЕСТЬNULL(ДоплатыЗаВредность.Показатель1, 0) КАК Показатель1
85 — 21.12.20 — 17:15
(82) А это адекватно вообще? Просто я по факту, в самом начале написал что-то похожее на тот код, который ты написал и который работает нормально, а они до меня так докапываются.
86 — 21.12.20 — 17:16
(84) даже сейчас, говорят что не правильно и нужно исправить как-то.
87 — 21.12.20 — 17:16
(86) Какой код ты не должен поломать то?
88 — 21.12.20 — 17:17
(85) залезть в голову твоим работодателям я не могу, задай наводящие вопросы, как им нужно и какой результат они ждут
89 — 21.12.20 — 17:17
(82) смысл в том, что они говорят :» Запрос не трогай, он правильный. Сделай выборку верно». :DDD
90 — 21.12.20 — 17:18
(49) Пробовать будешь или нет?
91 — 21.12.20 — 17:18
(86) по уму посмотри как типовые печатные формы работают, как там получают шапку и данные для печати. Постарайся полученный опыт перенести в свою обработку
92 — 21.12.20 — 17:18
(87) НУ, в обработке есть ещё печсатные формы, которые не я делал, тот код поломать и не должен
93 — 21.12.20 — 17:19
(89) Значит в выборке вредность уже есть. Раз так говорят.
94 — 21.12.20 — 17:20
(90) 5 минут
95 — 21.12.20 — 17:22
(90) съехало просто не много , не могу полностью разобраться
96 — 21.12.20 — 17:23
(92) ну не трогай запрос тогда, делай как я тебе написал еще раньше с условием в выборке. Ошибка данных у тебя только в отладке, на самом деле ошибки ни какой не будет при выполнении обработки, так как ты не обрабатываешь данные пустого запроса, а всего лишь выводишь 0, если выборка пустая в ПФ.
97 — 21.12.20 — 17:29
(96) Хорошо , спасибо
sqr4
98 — 21.12.20 — 18:01
Как я понимаю остальные виды расчета тоже выводятся. И нужно как то обойти результат, выделив из него надбавку за вредность
Содержание
Составили подробный классификатор кодов состояния HTTP. Добавляйте в закладки, чтобы был под рукой, когда понадобится.
Что такое код ответа HTTP
Когда посетитель переходит по ссылке на сайт или вбивает её в поисковую строку вручную, отправляется запрос на сервер. Сервер обрабатывает этот запрос и выдаёт ответ — трехзначный цифровой код HTTP от 100 до 510. По коду ответа можно понять реакцию сервера на запрос.
Первая цифра в ответе обозначает класс состояния, другие две — причину, по которой мог появиться такой ответ.
Как проверить код состояния страницы
Проверить коды ответа сервера можно вручную с помощью браузера и в панелях веб‑мастеров: Яндекс.Вебмастер и Google Search Console.
В браузере
Для примера возьмём Google Chrome.
-
Откройте панель разработчика в браузере клавишей F12, комбинацией клавиш Ctrl + Shift + I или в меню браузера → «Дополнительные инструменты» → «Инструменты разработчика». Подробнее об этом рассказывали в статье «Как открыть исходный код страницы».
-
Переключитесь на вкладку «Сеть» в Инструментах разработчика и обновите страницу:

В Яндекс.Вебмастере
Откройте инструмент «Проверка ответа сервера» в Вебмастере. Введите URL в специальное поле и нажмите кнопку «Проверить»:

Как добавить сайт в Яндекс.Вебмастер и другие сервисы Яндекса
В Google Search Console
Чтобы посмотреть код ответа сервера в GSC, перейдите в инструмент проверки URL — он находится в самом верху панели:

Введите ссылку на страницу, которую хотите проверить, и нажмите Enter. В результатах проверки нажмите на «Изучить просканированную страницу» в блоке «URL есть в индексе Google».

А затем в открывшемся окне перейдите на вкладку «Подробнее»:

Теперь расскажем подробнее про все классы кодов состояния HTTP.
1* класс кодов (информационные сообщения)
Это системный класс кодов, который только информирует о процессе передачи запроса. Такие ответы не являются ошибкой, хотя и могут отображаться в браузере как Error Code.
100 Continue
Этот ответ сообщает, что полученные сведения о запросе устраивают сервер и клиент может продолжать отправлять данные. Такой ответ может требоваться клиенту, если на сервер отправляется большой объём данных.
101 Switching Protocols
Сервер одобрил переключение типа протокола, которое запросил пользователь, и в настоящий момент выполняет действие.
102 Processing
Запрос принят — он находится в обработке, и на это понадобится чуть больше времени.
103 Checkpoint
Контрольная точка — используется в запросах для возобновления после прерывания запросов POST или PUT.
POST отправляет данные на сервер, PUT создает новый ресурс или заменяет существующий данными, представленными в теле запроса.
Разница между ними в том, что PUT работает без изменений: повторное его применение даёт такой же результат, что и в первый раз, а вот повторный вызов одного и того же метода POST часто меняет данные.
Пример — оформленный несколько раз интернет‑заказ. Такое часто происходит как раз по причине неоднократного использования запроса PUT.
105 Name Not Resolved
Не удается преобразовать DNS‑адрес сервера — это означает ошибку в службе DNS. Эта служба преобразует IP‑адреса в знакомые нам доменные имена.
2* класс кодов (успешно обработанные запросы)
Эти коды информируют об успешности принятия и обработки запроса. Также сервер может передать заголовки или тело сообщений.
200 ОК
Все хорошо — HTTP‑запрос успешно обработан (не ошибка).
201 Created
Создано — транзакция успешна, сформирован новый ресурс или документ.
202 Accepted
Принято — запрос принят, но ещё не обработан.
203 Non‑Authoritative Information
Информация не авторитетна — запрос успешно обработан, но передаваемая информация была взята не из первичного источника (данные могут быть устаревшими).
204 No Content
Нет содержимого — запрос успешно обработан, однако в ответе только заголовки без контента сообщения. Не нужно обновлять содержимое документа, но можно применить к нему полученные метаданные.
205 Reset Content
Сбросить содержимое. Запрос успешно обработан — но нужно сбросить введенные данные. Страницу можно не обновлять.
206 Partial Content
Частичное содержимое. Сервер успешно обработал часть GET‑запроса, а другую часть вернул.
GET — метод для чтения данных с сайта. Он говорит серверу, что клиент хочет прочитать какой‑то документ.
Представим интернет‑магазин и страницы каталога. Фильтры, которые выбирает пользователь, передаются благодаря методу GET. GET‑запрос работает с получением данных, а POST‑запрос нужен для отправки данных.
При работе с подобными ответами следует уделить внимание кэшированию.
207 Multi‑Status
Успешно выполнено несколько операций — сервер передал результаты выполнения нескольких независимых операций. Они появятся в виде XML‑документа с объектом multistatus.
226 IM Used
Успешно обработан IM‑заголовок (специальный заголовок, который отправляется клиентом и используется для передачи состояния HTTP).
3* класс кодов (перенаправление на другой адрес)
Эти коды информируют, что для достижения успешной операции нужно будет сделать другой запрос, возможно, по другому URL.
300 Multiple Choices
Множественный выбор — сервер выдает список нескольких возможных вариантов перенаправления (максимум — 5). Можно выбрать один из них.
301 Moved Permanently
Окончательно перемещено — страница перемещена на другой URL, который указан в поле Location.
302 Found/Moved
Временно перемещено — страница временно перенесена на другой URL, который указан в поле Location.
303 See Other
Ищите другую страницу — страница не найдена по данному URL, поэтому смотрите страницу по другому URL, используя метод GET.
304 Not Modified
Модификаций не было — с момента последнего визита клиента изменений не было.
305 Use Proxy
Используйте прокси — запрос к нужному ресурсу можно сделать только через прокси‑сервер, URL которого указан в поле Location заголовка.
306 Unused
Зарезервировано. Код в настоящий момент не используется.
307 Temporary Redirect
Временное перенаправление — запрашиваемый ресурс временно доступен по другому URL.
Этот код имеет ту же семантику, что код ответа 302 Found, за исключением того, что агент пользователя не должен изменять используемый метод HTTP: если в первом запросе использовался POST, то во втором запросе также должен использоваться POST.
308 Resume Incomplete
Перемещено полностью (навсегда) — запрашиваемая страница была перенесена на новый URL, указанный в поле Location заголовка. Метод запроса (GET/POST) менять не разрешается.
4* класс кодов (ошибки на стороне клиента)
Эти коды указывают на ошибки со стороны клиентов.

400 Bad Request
Неверный запрос — запрос клиента не может быть обработан, так как есть синтаксическая ошибка (возможно, опечатка).
401 Unauthorized
Не пройдена авторизация — запрос ещё в обработке, но доступа нет, так как пользователь не авторизован.
Для доступа к запрашиваемому ресурсу клиент должен представиться, послав запрос, включив при этом в заголовок сообщения поле Authorization.
402 Payment Required
Требуется оплата — зарезервировано для использования в будущем. Код предусмотрен для платных пользовательских сервисов, а не для хостинговых компаний.
403 Forbidden
Запрещено — запрос принят, но не будет обработан, так как у клиента недостаточно прав. Может возникнуть, когда пользователь хочет открыть системные файлы (robots, htaccess) или не прошёл авторизацию.
404 Not Found
Не найдено — запрашиваемая страница не обнаружена. Сервер принял запрос, но не нашёл ресурса по указанному URL (возможно, была ошибка в URL или страница была перемещена).
405 Method Not Allowed
Метод не разрешён — запрос был сделан методом, который не поддерживается данным ресурсом. Сервер должен предложить доступные методы решения в заголовке Allow.
406 Not Acceptable
Некорректный запрос — неподдерживаемый поисковиком формат запроса (поисковый робот не поддерживает кодировку или язык).
407 Proxy Authentication Required
Нужно пройти аутентификацию прокси — ответ аналогичен коду 401, только нужно аутентифицировать прокси‑сервер.
408 Request Timeout
Тайм‑аут запроса — запрос клиента занял слишком много времени. На каждом сайте существует свое время тайм‑аута — проверьте интернет‑соединение и просто обновите страницу.
409 Conflict
Конфликт (что‑то пошло не так) — запрос не может быть выполнен из‑за конфликтного обращения к ресурсу (несовместимость двух запросов).
410 Gone
Недоступно — ресурс раньше был размещён по указанному URL, но сейчас удалён и недоступен (серверу неизвестно месторасположение).
411 Length Required
Добавьте длины — сервер отклоняет отправляемый запрос, так как длина заголовка не определена, и он не находит значение Content‑Length.
Нужно исправить заголовки на сервере, и в следующий раз робот сможет проиндексировать страницу.
412 Precondition Failed
Предварительное условие не выполнено — стоит проверить правильность HTTP‑заголовков данного запроса.
413 Request Entity Too Large
Превышен размер запроса — перелимит максимального размера запроса, принимаемого сервером. Браузеры поддерживают запросы от 2 до 8 килобайт.
414 Request‑URI Too Long
Превышена длина запроса — сервер не может обработать запрос из‑за длинного URL. Такая ошибка может возникнуть, например, когда клиент пытается передать чересчур длинные параметры через метод GET, а не POST.
415 Unsupported Media Type
Формат не поддерживается — сервер не может принять запрос, так как данные подгружаются в некорректном формате, и сервер разрывает соединение.
416 Requested Range Not Satisfiable
Диапазон не поддерживается — ошибка возникает в случаях, когда в самом HTTP‑заголовке прописывается некорректный байтовый диапазон.
Корректного диапазона в необходимом документе может просто не быть, или есть опечатка в синтаксисе.
417 Expectation Failed
Ожидания не оправдались — прокси некорректно идентифицировал содержимое поля «Expect: 100‑Continue».
418 I’m a teapot
Первоапрельская шутка разработчиков в 1998 году. В расшифровке звучит как «я не приготовлю вам кофе, потому что я чайник». Не используется в работе.
422 Unprocessable Entity
Объект не обработан — сервер принял запрос, но в нём есть логическая ошибка. Стоит посмотреть в сторону семантики сайта.
423 Locked
Закрыто — ресурс заблокирован для выбранного HTTP‑метода. Можно перезагрузить роутер и компьютер. А также использовать только статистический IP.
424 Failed Dependency
Неуспешная зависимость — сервер не может обработать запрос, так как один из зависимых ресурсов заблокирован.
Выполнение запроса напрямую зависит от успешности выполнения другой операции, и если она не будет успешно завершена, то вся обработка запроса будет прервана.
425 Unordered Collection
Неверный порядок в коллекции — ошибка возникает, если клиент указал номер элемента в неупорядоченном списке или запросил несколько элементов в порядке, отличном от серверного.
426 Upgrade Required
Нужно обновление — в заголовке ответа нужно корректно сформировать поля Upgrade и Connection.
Этот ответ возникает, когда серверу требуется обновление до SSL‑протокола, но клиент не имеет его поддержки.
428 Precondition Required
Нужно предварительное условие — сервер просит внести в запрос информацию о предварительных условиях обработки данных, чтобы выдавать корректную информацию по итогу.
429 Too Many Requests
Слишком много запросов — отправлено слишком много запросов за короткое время. Это может указывать, например, на попытку DDoS‑атаки, для защиты от которой запросы блокируются.
431 Request Header Fields Too Large
Превышена длина заголовков — сервер может и не отвечать этим кодом, вместо этого он может просто сбросить соединение.
Исправляется это с помощью сокращения заголовков и повторной отправки запроса.
434 Requested Host Unavailable
Адрес запрашиваемой страницы недоступен.
444 No Response
Нет ответа — код отображается в лог‑файлах, чтобы подтвердить, что сервер никак не отреагировал на запрос пользователя и прервал соединение. Возвращается только сервером nginx.
Nginx — программное обеспечение с открытым исходным кодом. Его используют для создания веб‑серверов, а также в качестве почтового или обратного прокси‑сервера. Nginx решает проблему падения производительности из‑за роста трафика.
449 Retry With
Повторите попытку — ошибка говорит о необходимости скорректировать запрос и повторить его снова. Причиной становятся неверно указанные параметры (возможно, недостаточно данных).
450 Blocked by Windows Parental Controls
Заблокировано родительским контролем — говорит о том, что с компьютера попытались зайти на заблокированный ресурс. Избежать этой ошибки можно изменением параметров системы родительского контроля.
451 Unavailable For Legal Reasons
Недоступно по юридическим причинам — доступ к ресурсу закрыт, например, по требованию органов государственной власти или по требованию правообладателя в случае нарушения авторских прав.
456 Unrecoverable Error
Неустранимая ошибка — при обработке запроса возникла ошибка, которая вызывает некорректируемые сбои в таблицах баз данных.
499 Client Closed Request
Запрос закрыт клиентом — нестандартный код, используемый nginx в ситуациях, когда клиент закрыл соединение, пока nginx обрабатывал запрос.
5* класс кодов (ошибки на стороне сервера)
Эти коды указывают на ошибки со стороны серверов.
При использовании всех методов, кроме HEAD, сервер должен вернуть в теле сообщения гипертекстовое пояснение для пользователя. И его можно использовать в работе.

500 Internal Server Error
Внутренняя ошибка сервера — сервер столкнулся с неким условием, из‑за которого не может выполнить запрос.
Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess) и нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
501 Not Implemented
Не выполнено — код отдается, когда сам сервер не может идентифицировать метод запроса.
Сами вы эту ошибку не исправите. Устранить её может только сервер.
502 Bad Gateway
Ошибка шлюза — появляется, когда сервер, выступая в роли шлюза или прокси‑сервера, получил ответное сообщение от вышестоящего сервера о несоответствии протоколов.
Актуально исключительно для прокси и шлюзовых конфигураций.
503 Service Unavailable
Временно не доступен — сервер временно не имеет возможности обрабатывать запросы по техническим причинам (обслуживание, перегрузка и прочее).
В поле Retry‑After заголовка сервер укажет время, через которое можно повторить запрос.
504 Gateway Timeout
Тайм‑аут шлюза — сервер, выступая в роли шлюза или прокси‑сервера, не получил ответа от вышестоящего сервера в нужное время.
Исправить эту ошибку самостоятельно не получится. Здесь дело в прокси, часто — в веб‑сервере.
Первым делом просто обновите веб‑страницу. Если это не помогло, нужно почистить DNS‑кэш. Для этого нажмите горячие клавиши Windows+R и введите команду cmd (Control+пробел). В открывшемся окне укажите команду ipconfig / flushdns и подтвердите её нажатием Enter.
505 HTTP Version Not Supported
Сервер не поддерживает версию протокола — отсутствует поддержка текущей версии HTTP‑протокола. Нужно обеспечить клиента и сервер одинаковой версией.
506 Variant Also Negotiates
Неуспешные переговоры — с такой ошибкой сталкиваются, если сервер изначально настроен неправильно. По причине ошибочной конфигурации выбранный вариант указывает сам на себя, из‑за чего процесс и прерывается.
507 Insufficient Storage
Не хватает места для хранения — серверу недостаточно места в хранилище. Нужно либо расчистить место, либо увеличить доступное пространство.
508 Loop Detected
Обнаружен цикл — ошибка означает провал запроса и выполняемой операции в целом.
509 Bandwidth Limit Exceeded
Превышена пропускная способность — используется при чрезмерном потреблении трафика. Владельцу площадки следует обратиться к своему хостинг‑провайдеру.
510 Not Extended
Не продлён — ошибка говорит, что на сервере отсутствует нужное для клиента расширение. Чтобы исправить проблему, надо убрать часть неподдерживаемого расширения из запроса или добавить поддержку на сервер.
511 Network Authentication Required
Требуется аутентификация — ошибка генерируется сервером‑посредником, к примеру, сервером интернет‑провайдера, если нужно ввести пароль для получения доступа к сети через платную точку доступа.
Обычные посетители сайта обращают внимание в первую очередь на качественный контент, а поисковые краулеры – на ответы сервера.
Сегодня научимся проверять код как одной страницы, так и всех сразу, а также разберем все коды ответа и узнаем, что именно они означают.
Немного теории
Определить доступность веб-страницы поможет анализ кода состояния HTTP. Технически он представляет из себя стандартный запрос. Он отправляется, когда мы переходим по определенной ссылке на сайте или просто вводим ее в поисковой строке браузера. При обработке запроса сервер самостоятельно формирует и отдает трехзначный цифровой код.
Благодаря коду ответа понять реакцию сайта на запрос может не только поисковый краулер, но и обычный пользователь. Здесь нет ничего сложного даже для начинающих вебмастеров.
Сперва определимся с терминами.
- Клиент – компьютер, смартфон или другое мобильное устройство, которое имеет подключение к интернету.
- Сервер – определенный компьютер, который хранит все данные сайта (включая страницы и системные файлы). Именно на сервере «живет» сайт.
Выделяют пять классов ответов. Идентифицировать класс можно по первой цифре.
- 5** – техническая ошибка на стороне сервера. Точная причина указывается сразу после кода. Иногда пятисотая говорит о внутренних сбоях, реже – о превышении статической нагрузки на сервер.
- 4** – сбой на стороне юзера.
- 3** – обнаружен редирект на другой адрес (не ошибка).
- 2** – запрос обработан успешно (не ошибка).
- 1** – служебный класс кодов, который чаще всего относится к информационным сообщениям (не ошибка).
Логика кодов, таким образом, весьма проста:

Продвинем ваш бизнес
В Google и «Яндексе», соцсетях, рассылках, на видеоплатформах, у блогеров
Подробнее
Что значат коды состояния HTTP
Причины / решения / пояснения ошибок, я буду давать только для самых часто встречающихся кодов. Для всех остальных – только краткое описание.
Двухсотые – успешные запросы
200 – успешный запрос данных. Код не является ошибкой.
201 – завершена успешная транзакция. Код говорит о том, что сформирован новый ресурс (или документ).
202 – запрос принят, но еще не завершен. Необходимо дождаться окончания обработки.
203 – данные получены не из первоисточника (возвращаемые данные идут не от исходного сервера, а от какого-то другого) и могут быть устаревшими.
204 – запрос был обработан правильно, но отсутствует содержимое. Есть заголовок ответа, но содержимое для него отсутствует. Обновлять и актуализировать содержимое не нужно.
205 – клиенту необходимо осуществить сброс содержимого. Саму страницу обновлять не требуется.
206 – ошибка частичного содержимого. Если клиент хочет выполнить загрузку данных в несколько потоков, а сервер выполняет только часть GET-запроса, будет возникать 206-ая ошибка.
GET-запрос предназначен для получения данных, в то время как POST-запрос нужен для отправки данных.
Код также может быть отправлен с сервера, когда клиент запросил диапазон (например, условно: «Дайте мне первые 2 МБ видеоданных»). Происходит возврат только частичного контента, соответствующего Range-заголовку (данный заголовок дает понять серверу, какую именно часть страницы от него требуют, и какую ему нужно вернуть).
Если страница отдает этот код, следует обратить внимание на выполнение кэширования и на исходящий запрос.
207 – выполнено несколько операций. Найти их можно в XML, в строке MultiStatus.
226 – обработан IM-заголовок. Содержимое будет возвращено для получения информации об ответе вместе с ранее обозначенными параметрами.
Трехсотые – запросы на редирект
300 – не удалось идентифицировать точный URL. Такой ответ возникает, когда существует множественный выбор, и краулер не знает, к какой именно странице относится ресурс.
301 – документ был навсегда перемещен на новый URL. Так должны отвечать все веб-страницы, которые удалены или являются зеркалами, дублями. Со временем все указанные страницы будут склеены с целевой веб-страницей (присоединены к ней) автоматически. Если возникает такая ошибка, нужно настроить 301-ое перенаправление с устаревшего URL на актуальный (если речь идет о веб-странице, которая уже ранжировалась, но ее URL изменился). В таком случае все позитивные метрики, включая вес URL, будут сохранены.
302 – документ был временно перемещен на новый URL. Это абсолютно корректный ответ сервера, который актуален для веб-страниц с распродажами или сезонными акциями, распространяющимися на какой-либо товар. Код указывает, что данный URI будет учитываться клиентом в последующих запросах. Другими словами, страница была найдена, но перенесена. Такие документы из индекса не удаляются. Если адрес был изменен навсегда, вместо 302-го, лучше использовать 303-ий или 307-ой ответ.
303 – нужно направить пользователя на иной URL. 303-ый код можно получить исключительно GET-запросом. В идеале, этот код нужно отдавать, когда требуется редиректнуть посетителя на близкорелевантую, но не идентичную странице.
304 – документ не модифицировался. Этот код не является стандартным редиректом. Он помогает краулерам определять страницы, которые не изменились с последнего визита.
Если на вашем сайте немного страниц (до 1 000), использовать код 304 нет смысла. Если вас напрягает этот редирект, то в заголовке нужно поправить параметр Last-Modified (последняя дата изменения) – он не должен быть старше, чем заголовок If-Modified-Since (если изменялся спустя заданное количество времени).
305 – доступ к этому документу возможен исключительно через прокси.
307 – документ был временно перемещен на иной URL. Идеальный вариант, если требуется временно редиректнуть посетителя, но оставить техническую возможность отправки POST-запросов.
Четырехсотые – сбои на стороне клиента
400 – ошибка синтаксиса. Сервер не может идентифицировать запрос, так как была допущена опечатка в синтаксисе. Проверьте корректность отправляемого запроса.
401 – отсутствует аутентификация. Код отдается, когда для доступа требуется пароль или регистрация.
403 – отсутствует доступ к документу. Возникает, когда пользователь хочет открыть системные файлы (robots, htaccess). Либо вы сделали опечатку при вводе URL и пытаетесь воспользоваться веб-страницей, которая не предназначена для обычного пользователя, либо вам нужно: пройти авторизацию для доступа к системным файлам.
404 – отсутствует соответствующий ресурс по введенному URL. Разберитесь, по каким причинам была удалена / перемещена страница. Возможно, вы допустили ошибку и удалили ее случайно. Если так – просто восстановите ее.
Задумайтесь над созданием красивой, кастомизированной 404-ой. Например, такой:

405 – некорректный метод (указывается в запросной строке клиента) для выбранного документа. Метод запроса определяет точное действие, которое должно быть выполнено для указанного ресурса.
406 – некорректный / неподдерживаемый краулером формат запроса. Код отдается, когда сервер не способен возвратить ответ, релевантный листу допустимых значений. Самый распространенный случай – поисковый робот не поддерживает кодировку документа или его язык. Убедитесь, что в теле сообщения содержится лист доступных ресурсов. Подробное описание ошибка на сайте веб-разработчиков Mozilla.
407 – отсутствует регистрация прокси или авторизация файервола.
408 – таймаут запроса. Соединение разорвано, так как полный запрос не был передан. Другими словами, запрос занял слишком много времени, а сервер не готов был ждать. На каждом сайте существует свое время таймаута. Проверьте наличие интернета и просто обновите страницу. Подробное объяснение этой ошибки на сайте веб-разработчиков Mozilla.
409 – несовместимость двух запросов. Запрос невозможно выполнить при текущем состоянии сервера. Самый распространенный случай – операции c PUT-запросом. Например, когда нужно скачать файл, возраст которого превышает возраст уже существующего, расположенного на сервере.
410 – ресурс более не существует по указанному URL. Если страница удаляется целенаправленно, лучше делать так, чтобы она отдавала именно 410-ый. Краулер обойдет такую страницу, получит этот код и больше никогда на нее не вернется, так как поймет, что она удалена навсегда. Если речь о веб-странице, которая была удалена временно, гораздо эффективнее использовать 404-ый ответ. Если страница удалена намерено и навсегда, но в SERP имела хорошие места и приносила трафик, лучше сделать редирект на максимально релевантную существующую страницу.
411 – сервер сам отклоняет отправляемый запрос, так как не находит значение Content-Length. Этот ответ характерен как для обычных POST-запросов, так и для PUT-запросов (подразумевают замену существующих представлений документа на данные, которые содержатся в самом запросе).
412 –не были до конца выполнены условные поля HTTP-заголовка, например, If-Match. 412-ый код появляется в случаях, когда доступ к целевому документу отклоняется. Нужно проверить соблюдение и корректность HTTP-заголовков выполняемого запроса.
413 – у каждого сервера есть свой собственный максимальный размер запроса, определяемый не самим HTTP-протоколом (у него ограничения по длине запроса просто напросто отсутствуют), а ограничениями со стороны браузеров. Браузеры поддерживают запросы от 2 до 8 килобайт. Вышеуказанный код отдается, когда сервер не понимает запрос из-за слишком большого размера.
414 – возникает, когда отправляется чрезвычайно длинный URL. Запросы, содержащие излишне длинные URL, не могут правильно интерпретироваться сервером. Самые частые случаи появления этого ответа – попытка передать удлиненные параметры (излишне большое количество данных через GET- запрос).
415 – некорректный медиаформат. Текущий тип данных не может быть интерпретирован сервером.
416 – некорректное значение Range (диапазон). Ответ возникает в случаях, когда в самом HTTP-заголовке прописывается некорректный байтовый диапазон. 416-ый отдается в случаях, когда сервер не может взаимодействовать с запрашиваемыми диапазонами. Причина – отсутствие диапазона в необходимом документе или опечатка в синтаксисе.Сервер просто не имеет возможности работать с запрашиваемыми диапазонами. Проверьте синтаксис значения Range – он должен обязательно соблюдаться. Скорее всего, документ просто не имеет запрашиваемых диапазонов. Обновите страницу.
417 – указанное значение Expect не может быть удовлетворено (речь о заголовке запроса). Прокси некорректно идентифицировал содержимое поля «Expect: 100-Continue». Устранить эту ошибку самостоятельно не удастся. Если вы используете прокси Squid, обратитесь в поддержку. Вам нужно активировать ignore_expect_100. Другой вариант разрешите BS_PingHost обращаться к интернет-сети без участия прокси.
422 – существует определенная логическая ошибка. Какая именно, данный код не указывает. Копайте в сторону ошибок в семантике документа.
423 – используемый ресурс был заблокирован для выбранного HTTP—метода. Перезагрузите роутер и компьютер. Используйте только статистический IP.
424 – зависимый ресурс был блокирован по соображением безопасности. Данный код отдается, если в запросе присутствуют признаки несанкционированного доступа к файлам CMS.
426 – некорректные значения полей Upgrade и Conection. Этот ответ возникает, когда серверу требуется обновление до SSL-протокола, но клиент не имеет его поддержки.
429 – слишком много запросов. Ошибка отдается, когда один пользователь проявляет чрезмерно большую активность за короткий временной интервал. Проверьте плагины используемой CMS. В идеале, отключите их все и включайте по очереди, пока не доберетесь до источника проблемы.
451 – доступ к серверу заблокирован по решению судебных органов. Можно плодить бесконечные дубли или вообще создать новый домен, но рано или поздно страницу с идентичным содержимым все равно заблокируют. Временное решение – разместить проблемное содержимое на другом домене. Провайдеры могут подстраховаться и блокировать не только отдельные страницы, но и сайты целиком. Не нарушать закон – единственное, что можно посоветовать в этом случае.
Пятисотые – серверные сбои
500 – серверу не удается полностью обработать запрос. Такой код отдается, когда существует непредвиденное условие, мешающее выполнению запроса. Чаще всего внутренняя ошибка сервера может появляться при серверных сбоях. Проверяйте, корректно ли указаны директивы в системных файлах (особенно htaccess), нет ли ошибки прав доступа к файлам. Обратите внимание на ошибки внутри скриптов и их медленную работу.
Проверяйте конфликты плагинов и дополнений. Нередко 500-ая возникает, когда в настройках административной панели хостинга указана одна версия PHP, а на самом сайте используется другая. Последнее также создает высокую статическую нагрузку на хостинг. Если вам было бы узнать о пятисотой подробнее, пишите в комментариях, и я напишу развернутый материал на эту тему.
501 – не выполнено. Этот код отдается, когда сам сервер не может идентифицировать метод запроса. Сами вы эту ошибку не исправите. Устранить ее может только сервер.
502 – шлюзовый сбой. Возникает при получении некорректного ответа от сервера, находящегося по иерархии выше. Актуально исключительно для прокси и шлюзовых конфигураций.
503 – данный ответ возникает в случаях, когда существуют технические неполадки, не позволяющие интерпретировать введенный запрос. Скорее всего, ваш сервер просто на обслуживании или сильно перегружен. Уменьшите число перманентных запросов к базам данных. Убедитесь, что на сервере нет профилактических или других работ, ограничивающих его пропускную способность. Не используйте VPN.
504 – отсутствует ответ. Этот код отдается в одной ситуации – если сервер не может получит ответ за необходимый период времени. Отклика нет и возникает таймаут. Как и 501-ый ответ, 504-ый исправить самостоятельно не получится. Здесь дело в прокси, часто – в веб-сервере. Первым делом просто обновите веб-страницу. Если не помогло, нужно почистить DNS-кэш. Для этого используем сочетание горячих клавиш Windows+R и вводим команду cmd (Control+пробел). В открывшемся окне указываем команду ipconfig / flushdns и подтверждаем ее нажатием Enter.
Также полезно посмотреть, как страница ведет себя различных мобильных устройствах и в разных браузерах. Проверьте дебаг. Если сайт на WP, то проверить дебан проще всего. Достаточно добавить этот код в wp-config.php:

Теперь все сбои будут фиксировать в файле debug.log (находится в папке wp-сontents). Если вы используете другую CMS, найдите к ней мануал и посмотрите, как активировать в ней журнал ошибок.
Также 504-ая отдает, когда на сайте существуют проблемы, связанные с задействованием CDN или кастомизированных серверов DNS. Отключите CDN на своем сайте.
Иногда 504-ый код пропадает, если просто подождать несколько часов. Часто 504-ая появляется на сайтах, которые используют CloudFlare.
505 – отсутствует поддержка текущей версии HTTP-протокола.
507 – не хватает места на жестком диске для выполнения запроса.
510 – не найдено расширение, желающее задействовать клиент.
Массово проверяем ответ веб-страницы
Самый простой способ проверить ответ веб-страницы – воспользоваться готовыми сервисами. Наиболее популярны:
- mainspy;
- 2ip;
- cy-pr;
- wwhois;
- 4seo.
Возьмем для примера mainspy. Тут проверить код ответа проще всего:

Таким образом, для проверки кода просто открываем страницу и вводим необходимые URL. Кликаем «Проверить». Будет выведен отчет. Напротив каждого проверяемого URL будет отображаться код ответа сервера:

Кроме перечисленных сервисов есть также замечательный плагин для Google Chrome – HTTP Header Spy. Он позволяет проверять код ответа сервера как одной, так и нескольких страниц сразу:

Послесловие
Коды ответа HTTP – это универсальный язык, который понимают не только краулеры Google / «Яндекса», но и люди. 5 классов кодов позволят с первого взгляда определить, где именно существует ошибка при выполнении HTTP запроса и куда копать для ее устранения.
Если ваш код ответа не указан в этом мануале, значит речь идет о кастомизированном сервере. Чтобы правильно истолковать ответ такого сервера и перевести его на человеческий язык, придется обратится к его разработчику.
«Вы пытались выполнить запрос, который не включает указанную агрегатную функцию»
Я все время получаю сообщение об ошибке: «вы пытались выполнить запрос, который не включает указанное выражение« fName »как часть агрегатной функции. Что мне делать?
3 ответа
Ошибка связана с тем, что fName включен в список SELECT , но не включен в предложение GROUP BY и не является частью агрегатной функции ( Count() , Min() , Max() , Sum() и т. Д.)
Вы можете решить эту проблему, включив fName в GROUP BY . Но тогда вы столкнетесь с той же проблемой с surname . Так что поместите оба в GROUP BY :
Обратите внимание, я использовал Count(*) там, где вы хотели SUM(orders.quantity) . Однако orders не включен в раздел FROM вашего запроса, поэтому вы должны включить его, прежде чем сможете Sum() одно из его полей.
Если у вас есть доступ, создайте запрос в конструкторе запросов. Это может помочь вам понять, какие функции возможны, и применить правильный синтаксис Access SQL.
GROUP BY можно выбрать в строке «Итого» в представлении конструктора запросов в MS Access.
Если строка итогов не отображается в представлении дизайна (как в моем случае). Вы можете перейти в представление SQL и добавить ГРУППУ по имени и т. Д. Тогда строка итогов автоматически отобразится в представлении дизайна.
В этой строке для вычисляемых полей необходимо выбрать выражение.
У меня была аналогичная проблема с запросом MS-Access, и я решил ее, изменив свой эквивалент fName на «Выражение» (в отличие от «Группировать по» или «Сумма»). Пока все мои поля были «Expression», построитель запросов Access не требовал в конце предложения Group By .
«Вы пытались выполнить запрос, который не включает указанную агрегатную функцию»
Я все время получаю сообщение об ошибке: «вы пытались выполнить запрос, который не включает указанное выражение« fName »как часть агрегатной функции. Что мне делать?


Ошибка в том , что fName входит в SELECT список, но не входит в GROUP BY статье и не является частью агрегатной функции ( Count() , Min() , Max() , Sum() и т.д.)
Вы можете решить эту проблему, включив fName в GROUP BY . Но тогда вы столкнетесь с той же проблемой с surname . Так что поместите оба в GROUP BY :
Обратите внимание, я использовал Count(*) там, где вы хотели SUM(orders.quantity) . Однако orders он не включен в FROM раздел вашего запроса, поэтому вы должны включить его, прежде чем сможете использовать Sum() одно из его полей.
Если у вас есть доступ, создайте запрос в конструкторе запросов. Это может помочь вам понять, какие функции доступны, и применить правильный синтаксис Access SQL.