Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

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

Поиск

Далее рассмотрим, как ограничить число записей, выводимых оператором SELECT.

По мере увеличения таблиц возникает необходимость вывода только подмножества данных. Это можно добиться с помощью предложения LIMIT.

Например, чтобы вывести из таблицы имена только первых пяти сотрудников, используется оператор LIMIT с аргументом равным 5.

SELECT f_name, l_name fromemployee_data LIMIT 5;

Результат в отчет
Можно соединить оператор LIMIT с оператором ORDER BY. Таким образом, следующий оператор выведет четверых самых старых сотрудников компании.

SELECT f_name, l_name, age fromemployee_data ORDER BY age DESCLIMIT 4;

Результат в отчет

 

Аналогично можно вывести двух самых младших сотрудников.

SELECT f_name, l_name, age fromemployee_data ORDER BY ageLIMIT 2;

Извлечение подмножеств

LIMIT можно использовать также для извлечения подмножества данных, используя дополнительные аргументЫ.

Общая форма оператора LIMIT имеет следующий вид:

SELECT (что-нибудь) from таблица LIMIT начальная строка, извлекаемое число записей; SELECT f_name, l_name fromemployee_data LIMIT 6,3;

Результат в отчет

Будут извлечены три строки, начиная с шестой.

Ключевое слово DISTINCT

Рассмотрим теперь, как выбрать и вывести записи таблиц MySQL с помощью ключевого слова DISTINCT (РАЗЛИЧНЫЙ), использование которого исключает появление повторяющихся данных.

Чтобы вывести все должности базы данных компании, можно выполнить следующий оператор:

select title from employee_data;

Результат в отчет

Можно видеть, что список содержит повторяющиеся данные. Предложение SQL DISTINCT выводит только уникальные данные. Вот как оно используется.

select DISTINCT title from employee_data;

Результат в отчет.

 

Из этого можно видеть, что в компании имеется 11 уникальных должностей.

Уникальные записи можно также отсортировать с помощью ORDER BY.

select DISTINCT age from employee_dataORDER BY age;

Результат в отчет

 

Изменение записей

Команда UPDATE выполняет изменение данных в таблицах. Она имеет очень простой формат.

UPDATE имя_таблицы SETимя_столбца_1 = значение_1,имя_столбца_2 = значение_2,имя_столбца_3 = значение_3,...[WHERE условия];

Как и все другие команды SQL можно вводить ее на одной строке или на нескольких строках.

Рассмотрим несколько примеров.

Предположим, директор увеличил свою зарплату на 20000 и надбавки на 5000. Его предыдущая зарплата была 200000, а надбавки были 50000.

UPDATE employee_data SETsalary=220000, perks=55000WHERE title='директор';

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


Можно проверить эту операцию, выводя данные из таблицы.

select salary, perks fromemployee_data WHEREtitle = 'директор';

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


В действительности предыдущую зарплату знать не требуется. Можно воспользоваться арифметическими операторами. Следующий оператор сделает то же самое, при этом исходные данные знать заранее не требуется.

UPDATE employee_data SETsalary = salary + 20000,perks = perks + 5000WHERE title='директор';

Результат запроса в отчет

В качестве другого примера можно попробовать изменить название должности "разработчик Web" на "программист Web".

mysql> update employee_data SET -> title = 'программист Web' -> WHERE title = 'разработчик Web';

Важно также перед выполнением изменений внимательно изучить часть оператора с условием, так как легко можно изменить не те данные. Оператор UPDATE без условий изменит все данные столбца во всех строках. Надо быть очень осторожным при внесении изменений.

 

Поиск минимального и максимального значений

В MySQL имеются встроенные функции для вычисления минимального и максимального значений.

SQL имеет 5 агрегатных функций.

  1. MIN(): минимальное значение
  2. MAX(): максимальное значение
  3. SUM(): сумма значений
  4. AVG(): среднее значений
  5. COUNT(): подсчитывает число записей

В этом параграфе мы рассмотрим поиск минимального и максимального значений столбца.

Минимальное значение

select MIN(salary) from employee_data;

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


Максимальное значение

select MAX(salary) from employee_data;

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

 



Поделиться:


Последнее изменение этой страницы: 2016-04-21; просмотров: 244; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.147.78.185 (0.005 с.)