Оператор INSERT заполняет таблицу данными. Вот общая форма INSERT.
INSERT into table_name (column1, column2, ...) values (value1, value2...);
где table_name является именем таблицы, в которую надо внести данные; column1, column2 и т.д. являются именами столбцов, а value1, value2 и т.д. являются значениями для соответствующих столбцов.
Следующий оператор вносит первую employee_data, которую мы рассматривали в лекции 3.
INSERT INTO employee_data
(f_name, l_name, title, age, yos, salary, perks, email)
values
("Михаил", "Петров", "директор", 28, 4, 200000,
50000, "misha@yandex.ru");
Как и другие операторы MySQL, эту команду можно вводить на одной строке или разместить ее на нескольких строках.
Несколько важных моментов:
f_name, l_name, title и email являются текстовые строки, и они записываются в кавычках.age, yos, salary и perks являются числа (целые), и они не имеют кавычек.emp_id. Значение для этого столбца задает система MySQL, которая находит в столбце наибольшее значение, увеличивает его на единицу, и вставляет новое значение.Если приведенная выше команда правильно введена в приглашении клиента mysql, то программа выведет сообщение об успешном выполнении, как показано на рис. 5.1.
(рис 5.1) Ввод данных в таблицу.Создание дополнительных записей требует использования отдельных операторов INSERT. Чтобы облегчить эту работу можно поместить все операторы INSERT в файл здесь. Это должен быть обычный текстовый файл с оператором INSERT в каждой строке.
1) Поместите файл в каталог c:\mysql\bin.
2) Проверьте, что MySQL работает.
3) Выполните команду
mysql employees <employee.dat
1) Перейдите в каталог с файлом данных.
2) Выполните команду
mysql employees <employee.dat -u username -p
3) Введите свой пароль.
Пусть таблица содержит теперь 21 запись (20 из файла employee.dat и одну, вставленную оператором INSERT в начале лекции).
Таблица employee_data содержит теперь достаточно данных, чтобы можно было начать с ней работать. SELECT. Оператор SELECT имеет следующий формат:
SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
Часть оператора с условиями является необязательной (мы рассмотрим ее позже). По сути, требуется знать имена столбцов и имя таблицы, из которой извлекаются данные.
Например, чтобы извлечь имена и фамилии всех сотрудников, выполните следующую команду.
SELECT f_name, l_name from employee_data;
Оператор приказывает MySQL вывести все данные из столбцов f_name и l_name. Результат работы оператора представлен на рис. 5.2.
(рис 5.2) Вывод данных из таблицыПри ближайшем рассмотрении можно заметить, что данные представлены в том порядке, в котором они были введены. Более того, последняя строка указывает число строк в таблице - 21.
Чтобы вывести всю таблицу, можно либо ввести имена всех столбцов, либо воспользоваться упрощенной формой оператора SELECT.
SELECT * from employee_data;
Символ * в этом выражении означает 'ВСЕ столбцы'. Поэтому этот оператор выводит все строки всех столбцов.
Рассмотрим ещё один пример.
SELECT f_name, l_name, age from employee_data;
Выборка столбцов f_name, l_name и age представлена на рис. 5.3.
(рис 5.3) Выборка столбцов f_name, l_name и age1. Напишите оператор SQL для создания новой базы данных с именем addressbook
2. Какой оператор используется для получения информации о таблице? Как используется этот оператор?
3. Как получить список всех баз данных, доступных в системе?
4. Напишите оператор для записи следующих данных в таблицу employee_data
Имя: Рудольф Фамилия: Курочкин Должность: Программист Возраст: 34 Стаж работы в компании: 2 Зарплата: 95000 Надбавки: 17000 email: rudolf@yandex.ru
5. Приведите две формы оператора SELECT, которые будут выводить все данные из таблицы employee_data.
6. Как извлечь данные столбцов f_name, email из таблицы employee_data?
7. Напишите оператор для вывода данных из столбцов salary, perks и yos таблицы employee_data.
8. Как узнать число строк в таблице с помощью оператора SELECT?
9. Как извлечь данные столбцов salary, l_name из таблицы employee_data?
1. create database addressbook;
или
CREATE DATABASE addressbook;
Примечание: Операторы SQL не различают регистр символов, однако имена таблиц и имена баз данных могут различать регистр символов, в зависимости от используемой операционной системы.
2. Оператор DESCRIBE, например:
DESCRIBE employee_data;
3. SHOW DATABASES; (в приглашении mysql)
4.
INSERT INTO employee_data
(f_name, l_name, title, age, yos, salary, perks, email)
values
("Рудольф", "Курочкин", "программист", 34, 2, 95000, 17000, "rudolf@yandex.ru");
Примечание: Текстовые строки заключаются в кавычки.
5. SELECT emp_id, f_name, l_name, title, age, yos, salary, perks, email from employee_data;
или
SELECT * from employee_data;
Вторая форма лучше. Ее легче использовать и труднее ошибиться.
6. Чтобы вывести данные столбцов f_name и email, используем следующий оператор.
select f_name, email from employee_data;
7. SELECT salary, perks, yos from employee_data;
8. Последняя строка вывода любого оператора SELECT содержит число полученных строк. Поэтому при выводе всех данных в любом столбце (или всех столбцах), последняя строка будет указывать число строк в таблице.
9. select salary, l_name from employee_data;
Теперь более подробно рассмотрим формат оператора SELECT. Его полный формат имеет вид:
SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
В операторе SELECT условия являются необязательными.
Оператор SELECT без условий выводит все данные из указанных столбцов. Одним из достоинств является возможность извлекать данные на основе определенных условий.
Теперь перейдём к рассмотрению операторов сравнения.
SELECT f_name, l_name from employee_data where f_name = 'Иван';
Результат запроса приведен на рис. 5.4.
(рис 5.4) Выборка столбцов с условием для поля "имя".Этот оператор выводит имена и фамилии всех сотрудников, которые имеют имя Иван. Отметим, что слово Иван в условии заключено в одиночные кавычки. Можно использовать также двойные кавычки. Кавычки являются обязательными, так как MySQL будет порождать ошибку при их отсутствии. Кроме того сравнения MySQL не различают регистр символов, что означает, что с равным успехом можно использовать "Иван", "иван" и даже "ИвАн".
SELECT f_name,l_name from employee_data where title="программист";
Результат запроса приведен на рис. 5.5.
(рис 5.5) Выборка столбцов с условием для поля "должность"Выбирает имена и фамилии всех сотрудников, которые являются программистами.
SELECT f_name, l_name from employee_data where age = 32;
Результат запроса приведен на рис. 5.6.
(рис 5.6) Выборка столбцов с условием для поля "возраст"Это список имен и фамилий всех сотрудников с возрастом 32 года. Вспомните, что тип столбца age был задан как int, поэтому кавычки вокруг 32 не требуются. Это - незначительное различие между текстовым и целочисленным типами столбцов.
Оператор != означает 'не равно' и является противоположным оператору равенства.
Давайте получим имена и фамилии всех сотрудников, которые старше 32 лет.
SELECT f_name, l_name from employee_data where age > 32;
Результат запроса приведен на рис. 5.7.
(рис 5.7) Выборка столбцов с условием "больше" для поля "возраст"Попробуем найти сотрудников, которые получают зарплату больше 120000.
SELECT f_name, l_name from employee_data where salary > 120000;
Результат запроса приведен на рис. 5.8.
(рис 5.8) Выборка столбцов с условием "больше" для поля "зарплата"Теперь перечислим всех сотрудников, которые имеют стаж работы в компании менее 3 лет.
SELECT f_name, l_name from employee_data where yos < 3;
Результат запроса приведен на рис. 5.9.
(рис 5.9) Выборка столбцов с условием "меньше" для поля "стаж"
Используемые в основном с целочисленными данными операторы меньше или равно ( <= ) и больше или равно ( >= ) обеспечивают дополнительные возможности.
select f_name, l_name, age, salary from employee_data where age >= 32;
Результат запроса приведен на рис. 5.10.
(рис 5.10) Выборка столбцов с условием "больше или равно" для поля "возраст"Выборка содержит имена, возраст и зарплаты сотрудников, которым больше 32 лет.
select f_name, l_name from employee_data where yos <= 2;
Результат запроса приведен на рис. 5.11.
(рис 5.11) Выборка столбцов с условием "меньше или равно" для поля "стаж"Запрос выводит имена сотрудников, которые работают в компании не более 2 лет.
1. Напишите оператор SELECT для извлечения идентификационного номера сотрудников, которые старше 30 лет.
2. Напишите оператор SELECT для извлечения имен и фамилий всех Web-разработчиков.
3. Что выведет следующий оператор SELECT:
SELECT * from employee_data where salary <=100000;
4. Как вывести зарплаты и надбавки сотрудников, которые получают в качестве надбавок более 16000?
5. Перечислите имена всех сотрудников (фамилия, а затем имя), которые занимают должность бухгалтера.
1. select emp_id from employee_data where age > 30;
2. select f_name, l_name from employee_data where title='Web-разработчик';
3. Следующий оператор выводит всю информацию о сотрудниках, которые получают зарплату не больше 100000.
SELECT * from employee_data where salary <=100000;
4. select salary, perks from employee_data where perks > 16000;
5. select l_name, f_name from employee_data where title = 'бухгалтер';
В данной части мы рассмотрим where и оператора LIKE.
Оператор сравнения на равенство ( = ) помогает выбрать одинаковые строки. Таким образом, чтобы перечислить имена сотрудников, которых зовут Иван, можно воспользоваться следующим оператором SELECT.
select f_name, l_name from employee_data where f_name = "Иван";
Результат запроса приведен на рис. 5.12.
(рис 5.12) Результат поиска сотрудников, которых зовут ИванКак быть, если надо вывести данные о сотрудниках, имя которых начинается с буквы В? Язык SQL позволяет выполнить поиск строковых данных по шаблону. Для этого в предложении where используется оператор LIKE следующим образом.
select f_name, l_name from employee_data where f_name LIKE "В%";
Результат запроса приведен на рис. 5.13.
(рис 5.13) Результат поиска сотрудников, имя которых начинается с буквы ВМожно видеть, что здесь в условии вместо знака равенства используется LIKE и знак процента в шаблоне.
Знак % действует как символ-заместитель (аналогично использованию * в системах DOS и Linux). Он заменяет собой любую последовательность символов. Таким образом "В%" обозначает все строки, которые начинаются с буквы В. Аналогично "%В" выбирает строки, которые заканчиваются символом В, а "%В%" строки, которые содержат букву В.
Давайте выведем, например, всех сотрудников, которые имеют в названии должности строку "про".
select f_name, l_name, title from employee_data where title like '%про%';
Результат запроса приведен на рис. 5.14.
(рис 5.14) Результат поиска сотрудников, в названии должности которых содержится строка "про"Перечислим всех сотрудников, имена которых заканчиваются буквой 'а'. Это очень просто сделать.
mysql> select f_name, l_name from employee_data where f_name like '%a';
Результат запроса приведен на рис. 5.15.
(рис 5.15) Результат поиска сотрудников, имена которых заканчиваются буквой 'а'1. Перечислить всех сотрудников, фамилии которых начинаются с буквы P.
2. Вывести имена всех сотрудников в отделе продаж.
3. Что выведет следующий оператор
SELECT f_name, l_name, salary from employee_data where f_name like '%к%';
4. Перечислить фамилии и должности всех программистов
1. select l_name, f_name from employee_data where l_name like 'P%';
2. select f_name, l_name from employee_data where title like '%продавец%';
3. Этот оператор выводит имена, фамилии и заплаты всех сотрудников, у которых имя содержит букву 'к'.
SELECT f_name, l_name, salary from employee_data where f_name like '%к%';
4. SELECT l_name, title from employee_data where title like '%программист%';
Чтобы вывести среднюю зарплату сотрудников в различных подразделениях (должностях), используется предложение GROUP BY, например:
select title, AVG(salary) from employee_data GROUP BY title;
Результат запроса приведен на рис. 5.16.
(рис 5.16) Вывод средней зарплаты сотрудников по подразделениямПредположим теперь, что требуется вывести только те подразделения, где средняя зарплата более 100000. Это можно сделать с помощью предложения HAVING.
select title, AVG(salary) from employee_data GROUP BY title HAVING AVG(salary) > 100000;
Результат запроса приведен на рис. 5.17.
(рис 5.17) Вывод средней зарплаты определённого диапазона по подразделениямВывести подразделения и средний возраст, где средний возраст больше 30.
mysql> select title, AVG(age)
-> from employee_data
-> GROUP BY title
-> HAVING AVG(age) > 30;
Результат запроса приведен на рис. 5.18.
(рис 5.18) Вывод подразделения и среднего возраста, где средний возраст больше 30 лет
Для DELETE.
Оператор удаления DELETE требует задания имени таблицы и необязательных условий.
DELETE from имя_таблицы [WHERE условия];
Примечание: Если никакие условия не будут заданы, то удаляются все данные в таблице.
Предположим, один из специалистов по мультимедиа 'Василий Пупкин' уволился из компании. Надо удалить его запись.
DELETE from employee_data WHERE l_name = 'Пупкин';
Результат запроса приведен на рис. 5.19.
(рис 5.19) Результат удаления записи из таблицы Оператор INSERT заполняет таблицу данными. Вот общая форма INSERT.
INSERT into table_name (column1, column2, ...) values (value1, value2...);
где table_name является именем таблицы, в которую надо внести данные; column1, column2 и т.д. являются именами столбцов, а value1, value2 и т.д. являются значениями для соответствующих столбцов.
Следующий оператор вносит первую employee_data, которую мы рассматривали в лекции 3.
INSERT INTO employee_data
(f_name, l_name, title, age, yos, salary, perks, email)
values
("Михаил", "Петров", "директор", 28, 4, 200000,
50000, "misha@yandex.ru");
Как и другие операторы MySQL, эту команду можно вводить на одной строке или разместить ее на нескольких строках.
Несколько важных моментов:
f_name, l_name, title и email являются текстовые строки, и они записываются в кавычках.age, yos, salary и perks являются числа (целые), и они не имеют кавычек.emp_id. Значение для этого столбца задает система MySQL, которая находит в столбце наибольшее значение, увеличивает его на единицу, и вставляет новое значение.Если приведенная выше команда правильно введена в приглашении клиента mysql, то программа выведет сообщение об успешном выполнении, как показано на рис. 5.1.
(рис 5.1) Ввод данных в таблицу.Создание дополнительных записей требует использования отдельных операторов INSERT. Чтобы облегчить эту работу можно поместить все операторы INSERT в файл здесь. Это должен быть обычный текстовый файл с оператором INSERT в каждой строке.
1) Поместите файл в каталог c:\mysql\bin.
2) Проверьте, что MySQL работает.
3) Выполните команду
mysql employees <employee.dat
1) Перейдите в каталог с файлом данных.
2) Выполните команду
mysql employees <employee.dat -u username -p
3) Введите свой пароль.
Пусть таблица содержит теперь 21 запись (20 из файла employee.dat и одну, вставленную оператором INSERT в начале лекции).
Таблица employee_data содержит теперь достаточно данных, чтобы можно было начать с ней работать. SELECT. Оператор SELECT имеет следующий формат:
SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
Часть оператора с условиями является необязательной (мы рассмотрим ее позже). По сути, требуется знать имена столбцов и имя таблицы, из которой извлекаются данные.
Например, чтобы извлечь имена и фамилии всех сотрудников, выполните следующую команду.
SELECT f_name, l_name from employee_data;
Оператор приказывает MySQL вывести все данные из столбцов f_name и l_name. Результат работы оператора представлен на рис. 5.2.
(рис 5.2) Вывод данных из таблицыПри ближайшем рассмотрении можно заметить, что данные представлены в том порядке, в котором они были введены. Более того, последняя строка указывает число строк в таблице - 21.
Чтобы вывести всю таблицу, можно либо ввести имена всех столбцов, либо воспользоваться упрощенной формой оператора SELECT.
SELECT * from employee_data;
Символ * в этом выражении означает 'ВСЕ столбцы'. Поэтому этот оператор выводит все строки всех столбцов.
Рассмотрим ещё один пример.
SELECT f_name, l_name, age from employee_data;
Выборка столбцов f_name, l_name и age представлена на рис. 5.3.
(рис 5.3) Выборка столбцов f_name, l_name и age1. Напишите оператор SQL для создания новой базы данных с именем addressbook
2. Какой оператор используется для получения информации о таблице? Как используется этот оператор?
3. Как получить список всех баз данных, доступных в системе?
4. Напишите оператор для записи следующих данных в таблицу employee_data
Имя: Рудольф Фамилия: Курочкин Должность: Программист Возраст: 34 Стаж работы в компании: 2 Зарплата: 95000 Надбавки: 17000 email: rudolf@yandex.ru
5. Приведите две формы оператора SELECT, которые будут выводить все данные из таблицы employee_data.
6. Как извлечь данные столбцов f_name, email из таблицы employee_data?
7. Напишите оператор для вывода данных из столбцов salary, perks и yos таблицы employee_data.
8. Как узнать число строк в таблице с помощью оператора SELECT?
9. Как извлечь данные столбцов salary, l_name из таблицы employee_data?
1. create database addressbook;
или
CREATE DATABASE addressbook;
Примечание: Операторы SQL не различают регистр символов, однако имена таблиц и имена баз данных могут различать регистр символов, в зависимости от используемой операционной системы.
2. Оператор DESCRIBE, например:
DESCRIBE employee_data;
3. SHOW DATABASES; (в приглашении mysql)
4.
INSERT INTO employee_data
(f_name, l_name, title, age, yos, salary, perks, email)
values
("Рудольф", "Курочкин", "программист", 34, 2, 95000, 17000, "rudolf@yandex.ru");
Примечание: Текстовые строки заключаются в кавычки.
5. SELECT emp_id, f_name, l_name, title, age, yos, salary, perks, email from employee_data;
или
SELECT * from employee_data;
Вторая форма лучше. Ее легче использовать и труднее ошибиться.
6. Чтобы вывести данные столбцов f_name и email, используем следующий оператор.
select f_name, email from employee_data;
7. SELECT salary, perks, yos from employee_data;
8. Последняя строка вывода любого оператора SELECT содержит число полученных строк. Поэтому при выводе всех данных в любом столбце (или всех столбцах), последняя строка будет указывать число строк в таблице.
9. select salary, l_name from employee_data;
Теперь более подробно рассмотрим формат оператора SELECT. Его полный формат имеет вид:
SELECT имена_столбцов from имя_таблицы [WHERE ...условия];
В операторе SELECT условия являются необязательными.
Оператор SELECT без условий выводит все данные из указанных столбцов. Одним из достоинств является возможность извлекать данные на основе определенных условий.
Теперь перейдём к рассмотрению операторов сравнения.
SELECT f_name, l_name from employee_data where f_name = 'Иван';
Результат запроса приведен на рис. 5.4.
(рис 5.4) Выборка столбцов с условием для поля "имя".Этот оператор выводит имена и фамилии всех сотрудников, которые имеют имя Иван. Отметим, что слово Иван в условии заключено в одиночные кавычки. Можно использовать также двойные кавычки. Кавычки являются обязательными, так как MySQL будет порождать ошибку при их отсутствии. Кроме того сравнения MySQL не различают регистр символов, что означает, что с равным успехом можно использовать "Иван", "иван" и даже "ИвАн".
SELECT f_name,l_name from employee_data where title="программист";
Результат запроса приведен на рис. 5.5.
(рис 5.5) Выборка столбцов с условием для поля "должность"Выбирает имена и фамилии всех сотрудников, которые являются программистами.
SELECT f_name, l_name from employee_data where age = 32;
Результат запроса приведен на рис. 5.6.
(рис 5.6) Выборка столбцов с условием для поля "возраст"Это список имен и фамилий всех сотрудников с возрастом 32 года. Вспомните, что тип столбца age был задан как int, поэтому кавычки вокруг 32 не требуются. Это - незначительное различие между текстовым и целочисленным типами столбцов.
Оператор != означает 'не равно' и является противоположным оператору равенства.
Давайте получим имена и фамилии всех сотрудников, которые старше 32 лет.
SELECT f_name, l_name from employee_data where age > 32;
Результат запроса приведен на рис. 5.7.
(рис 5.7) Выборка столбцов с условием "больше" для поля "возраст"Попробуем найти сотрудников, которые получают зарплату больше 120000.
SELECT f_name, l_name from employee_data where salary > 120000;
Результат запроса приведен на рис. 5.8.
(рис 5.8) Выборка столбцов с условием "больше" для поля "зарплата"Теперь перечислим всех сотрудников, которые имеют стаж работы в компании менее 3 лет.
SELECT f_name, l_name from employee_data where yos < 3;
Результат запроса приведен на рис. 5.9.
(рис 5.9) Выборка столбцов с условием "меньше" для поля "стаж"
Используемые в основном с целочисленными данными операторы меньше или равно ( <= ) и больше или равно ( >= ) обеспечивают дополнительные возможности.
select f_name, l_name, age, salary from employee_data where age >= 32;
Результат запроса приведен на рис. 5.10.
(рис 5.10) Выборка столбцов с условием "больше или равно" для поля "возраст"Выборка содержит имена, возраст и зарплаты сотрудников, которым больше 32 лет.
select f_name, l_name from employee_data where yos <= 2;
Результат запроса приведен на рис. 5.11.
(рис 5.11) Выборка столбцов с условием "меньше или равно" для поля "стаж"Запрос выводит имена сотрудников, которые работают в компании не более 2 лет.
1. Напишите оператор SELECT для извлечения идентификационного номера сотрудников, которые старше 30 лет.
2. Напишите оператор SELECT для извлечения имен и фамилий всех Web-разработчиков.
3. Что выведет следующий оператор SELECT:
SELECT * from employee_data where salary <=100000;
4. Как вывести зарплаты и надбавки сотрудников, которые получают в качестве надбавок более 16000?
5. Перечислите имена всех сотрудников (фамилия, а затем имя), которые занимают должность бухгалтера.
1. select emp_id from employee_data where age > 30;
2. select f_name, l_name from employee_data where title='Web-разработчик';
3. Следующий оператор выводит всю информацию о сотрудниках, которые получают зарплату не больше 100000.
SELECT * from employee_data where salary <=100000;
4. select salary, perks from employee_data where perks > 16000;
5. select l_name, f_name from employee_data where title = 'бухгалтер';
В данной части мы рассмотрим where и оператора LIKE.
Оператор сравнения на равенство ( = ) помогает выбрать одинаковые строки. Таким образом, чтобы перечислить имена сотрудников, которых зовут Иван, можно воспользоваться следующим оператором SELECT.
select f_name, l_name from employee_data where f_name = "Иван";
Результат запроса приведен на рис. 5.12.
(рис 5.12) Результат поиска сотрудников, которых зовут ИванКак быть, если надо вывести данные о сотрудниках, имя которых начинается с буквы В? Язык SQL позволяет выполнить поиск строковых данных по шаблону. Для этого в предложении where используется оператор LIKE следующим образом.
select f_name, l_name from employee_data where f_name LIKE "В%";
Результат запроса приведен на рис. 5.13.
(рис 5.13) Результат поиска сотрудников, имя которых начинается с буквы ВМожно видеть, что здесь в условии вместо знака равенства используется LIKE и знак процента в шаблоне.
Знак % действует как символ-заместитель (аналогично использованию * в системах DOS и Linux). Он заменяет собой любую последовательность символов. Таким образом "В%" обозначает все строки, которые начинаются с буквы В. Аналогично "%В" выбирает строки, которые заканчиваются символом В, а "%В%" строки, которые содержат букву В.
Давайте выведем, например, всех сотрудников, которые имеют в названии должности строку "про".
select f_name, l_name, title from employee_data where title like '%про%';
Результат запроса приведен на рис. 5.14.
(рис 5.14) Результат поиска сотрудников, в названии должности которых содержится строка "про"Перечислим всех сотрудников, имена которых заканчиваются буквой 'а'. Это очень просто сделать.
mysql> select f_name, l_name from employee_data where f_name like '%a';
Результат запроса приведен на рис. 5.15.
(рис 5.15) Результат поиска сотрудников, имена которых заканчиваются буквой 'а'1. Перечислить всех сотрудников, фамилии которых начинаются с буквы P.
2. Вывести имена всех сотрудников в отделе продаж.
3. Что выведет следующий оператор
SELECT f_name, l_name, salary from employee_data where f_name like '%к%';
4. Перечислить фамилии и должности всех программистов
1. select l_name, f_name from employee_data where l_name like 'P%';
2. select f_name, l_name from employee_data where title like '%продавец%';
3. Этот оператор выводит имена, фамилии и заплаты всех сотрудников, у которых имя содержит букву 'к'.
SELECT f_name, l_name, salary from employee_data where f_name like '%к%';
4. SELECT l_name, title from employee_data where title like '%программист%';
Чтобы вывести среднюю зарплату сотрудников в различных подразделениях (должностях), используется предложение GROUP BY, например:
select title, AVG(salary) from employee_data GROUP BY title;
Результат запроса приведен на рис. 5.16.
(рис 5.16) Вывод средней зарплаты сотрудников по подразделениямПредположим теперь, что требуется вывести только те подразделения, где средняя зарплата более 100000. Это можно сделать с помощью предложения HAVING.
select title, AVG(salary) from employee_data GROUP BY title HAVING AVG(salary) > 100000;
Результат запроса приведен на рис. 5.17.
(рис 5.17) Вывод средней зарплаты определённого диапазона по подразделениямВывести подразделения и средний возраст, где средний возраст больше 30.
mysql> select title, AVG(age)
-> from employee_data
-> GROUP BY title
-> HAVING AVG(age) > 30;
Результат запроса приведен на рис. 5.18.
(рис 5.18) Вывод подразделения и среднего возраста, где средний возраст больше 30 лет
Для DELETE.
Оператор удаления DELETE требует задания имени таблицы и необязательных условий.
DELETE from имя_таблицы [WHERE условия];
Примечание: Если никакие условия не будут заданы, то удаляются все данные в таблице.
Предположим, один из специалистов по мультимедиа 'Василий Пупкин' уволился из компании. Надо удалить его запись.
DELETE from employee_data WHERE l_name = 'Пупкин';
Результат запроса приведен на рис. 5.19.
(рис 5.19) Результат удаления записи из таблицы Для получения официальных документов о завершении программы дополнительного профессионального образования (удостоверения о повышении квалификации, дипломов о профессиональной переподготовке и MBA) необходимо предоставить:
Внимание! Вы можете не заказывать доставку бумажной версии официального документы, а скачать его в электронном виде и распечатать самостоятельно. Информация о выданном документе в течение 1 месяца загружается в Федеральную информационную систему «Федеральный реестр сведений о документах об образовании и (или) о квалификации, документах об обучении» - ФИС ФРДО.
Доступ на новый сайт осуществляется с использованием адреса электронной почты, который был указан вами при регистрации на "старом". Мы постарались перенести все ваши данные с прежнего ресурса, однако не исключена вероятность потери части информации.
При возникновении проблемы со входом, воспользуйтесь функцией сброса пароля
Если вы обнаружите несоответствия, пожалуйста, сообщите нам.