Мегаобучалка Главная | О нас | Обратная связь


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



2019-12-29 243 Обсуждений (0)
Ключевое слово DISTINCT 0.00 из 5.00 0 оценок




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

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

select title from employee_data;

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

 

Рис. 6.12. Все должности базы данных компании

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

select DISTINCT title from employee_data;

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

 

Рис. 6.13. Все должности базы данных компании без повторов

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

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

select DISTINCT age from employee_data

ORDER BY age;

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

 

Рис. 6.14. Значения возраста сотрудников компании без повторов

DISTINCT часто используется вместе с функцией COUNT, которая будет рассмотрена далее.

Задания

  1. Сколько уникальных вариантов зарплаты имеется в компании? Представьте их в убывающем порядке.
  2. Сколько различных имен имеется в базе данных?

Возможные решения

1. select distinct salary from

2. employee_data order by salary DESC;

3. mysql> select distinct f_name from employee_data;

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

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

UPDATE имя_таблицы SET

имя_столбца_1 = значение_1,

имя_столбца_2 = значение_2,

имя_столбца_3 = значение_3, ...

[WHERE условия];

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

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

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

UPDATE employee_data SET

salary=220000, perks=55000

WHERE title='директор';

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

 

Рис. 6.15. Данные обновлены

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

select salary, perks from

employee_data WHERE

title = 'директор';

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

 

Рис. 6.16. Данные обновлены

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

UPDATE employee_data SET

salary = salary + 20000,

perks = perks + 5000

WHERE title='директор';

Результат запроса аналогичен рис. 6.15.

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

mysql> update employee_data SET

-> title = 'программист Web'

-> WHERE title = 'разработчик Web';

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

 

Рис. 6.17. Данные обновлены

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

Задания

  1. Измените фамилию Чащина на Петрова. Внесите соответствующие изменения в базу данных.
  2. Название должности "программист мультимедиа" необходимо изменить на "специалист по мультимедиа".
  3. Увеличьте зарплату всем сотрудниками (кроме директора) на 10000.

Возможные решения

1. mysql> update employee_data SET

2.     -> l_name = 'Петрова'

3.     -> WHERE l_name = 'Чащина';

Примечание: Если бы были еще сотрудники с фамилией Чащина, то эти записи также были бы изменены. В таком случае может помочь столбец emp_id, так как он содержит уникальные значения. Лучше использовать значение emp_id вместо l_name, как в следующем примере:

mysql> update employee_data SET

-> l_name = 'Петрова'

-> WHERE emp_id = 4;

4. mysql> update employee_data set

5.     -> title = 'специалист по мультимедиа'

6.     -> where title = 'программист мультимедиа';

7. mysql> update employee_data set

8.     -> salary = salary + 10000

9.     -> where title != 'директор';



2019-12-29 243 Обсуждений (0)
Ключевое слово DISTINCT 0.00 из 5.00 0 оценок









Обсуждение в статье: Ключевое слово DISTINCT

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...
Организация как механизм и форма жизни коллектива: Организация не сможет достичь поставленных целей без соответствующей внутренней...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (243)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.005 сек.)