кодесурса
«MySQL

MySQL String Упражнения: Обновите часть phone_number в таблице сотрудников

script1adsense2code
script1adsense3code

MySQL String: Упражнение-2 с решением

Напишите запрос для обновления части phone_number в таблице сотрудников, в пределах номера телефона подстрока «124» будет заменена на «999».

Пример таблицы: сотрудники


Код:

UPDATE employees 
SET phone_number = REPLACE(phone_number, '124', '999') 
WHERE phone_number LIKE '%124%';

Пример вывода:

Вот строки перед обновлением:

 mysql> select * from empnew
    -> ГДЕ phone_number LIKE "% 124%";
+ ------------- + ------------- + ------------- + ------- --- + -------------- + ------------ + ------------ + ----- ----- + ---------------- + ------------ + -------------- - +
| EMPLOYEE_ID | FIRST_NAME | LAST_NAME | Электронная почта | PHONE_NUMBER | HIRE_DATE | JOB_ID | Заработная плата | COMMISSION_PCT | MANAGER_ID | DEPARTMENT_ID |
+ ------------- + ------------- + ------------- + ------- --- + -------------- + ------------ + ------------ + ----- ----- + ---------------- + ------------ + -------------- - +
| 108 | Нэнси | Гринберг | НГРИНБЕ | 515,124,4569 | 2002-08-17 | FI_MGR | 12008,00 | 0,00 | 101 | 100 |
| 109 | Даниэль | Фавиет | ДФАВЬЕТ | 515.124.4169 | 2002-08-16 | FI_ACCOUNT | 9000,00 | 0,00 | 108 | 100 |
| 110 | Джон | Чен | JCHEN | 515,124,4269 | 2005-09-28 | FI_ACCOUNT | 8200,00 | 0,00 | 108 | 100 |
| 111 | Исмаэль | Sciarra | ИСКАРРА | 515,124,4369 | 2005-09-30 | FI_ACCOUNT | 7700,00 | 0,00 | 108 | 100 |
| 112 | Жозе Мануэль | Урман | JMURMAN | 515,124,4469 | 2006-03-07 | FI_ACCOUNT | 7800,00 | 0,00 | 108 | 100 |
| 113 | Луис | Попп | LPOPP | 515,124,4567 | 2007-12-07 | FI_ACCOUNT | 6900,00 | 0,00 | 108 | 100 |
| 125 | Юлия | Найер | JNAYER | 650.124.1214 | 2005-07-16 | ST_CLERK | 3200,00 | 0,00 | 120 | 50 |
| 126 | Ирэн | Миккилинени | ИМИККИЛИ | 650.124.1224 | 2006-09-28 | ST_CLERK | 2700,00 | 0,00 | 120 | 50 |
| 127 | Джеймс | Ландри | JLANDRY | 650.124.1334 | 2007-01-14 | ST_CLERK | 2400,00 | 0,00 | 120 | 50 |
| 128 | Стивен | Маркл | СМАРКЛ | 650.124.1434 | 2008-03-08 | ST_CLERK | 2200,00 | 0,00 | 120 | 50 |
| 129 | Лаура | Биссо | ЛБИССОТ | 650.124.5234 | 2005-08-20 | ST_CLERK | 3300,00 | 0,00 | 121 | 50 |
| 130 | Може | Аткинсон | МАТКИНСО | 650.124.6234 | 2005-10-30 | ST_CLERK | 2800,00 | 0,00 | 121 | 50 |
| 131 | Джеймс | Марлоу | JAMRLOW | 650.124.7234 | 2005-02-16 | ST_CLERK | 2500,00 | 0,00 | 121 | 50 |
| 132 | TJ | Олсон | ТИОЛСОН | 650.124.8234 | 2007-04-10 | ST_CLERK | 2100,00 | 0,00 | 121 | 50 |
+ ------------- + ------------- + ------------- + ------- --- + -------------- + ------------ + ------------ + ----- ----- + ---------------- + ------------ + -------------- - +
14 рядов в наборе (0,00 сек)
 

и вот строки после обновления:

 mysql> select * from empnew
    -> ГДЕ phone_number LIKE "% 999%";
+ ------------- + ------------- + ------------- + ------- --- + -------------- + ------------ + ------------ + ----- ----- + ---------------- + ------------ + -------------- - +
| EMPLOYEE_ID | FIRST_NAME | LAST_NAME | Электронная почта | PHONE_NUMBER | HIRE_DATE | JOB_ID | Заработная плата | COMMISSION_PCT | MANAGER_ID | DEPARTMENT_ID |
+ ------------- + ------------- + ------------- + ------- --- + -------------- + ------------ + ------------ + ----- ----- + ---------------- + ------------ + -------------- - +
| 108 | Нэнси | Гринберг | НГРИНБЕ | 515,999,4569 | 2002-08-17 | FI_MGR | 12008,00 | 0,00 | 101 | 100 |
| 109 | Даниэль | Фавиет | ДФАВЬЕТ | 515,999,4169 | 2002-08-16 | FI_ACCOUNT | 9000,00 | 0,00 | 108 | 100 |
| 110 | Джон | Чен | JCHEN | 515,999,4269 | 2005-09-28 | FI_ACCOUNT | 8200,00 | 0,00 | 108 | 100 |
| 111 | Исмаэль | Sciarra | ИСКАРРА | 515,999,4369 | 2005-09-30 | FI_ACCOUNT | 7700,00 | 0,00 | 108 | 100 |
| 112 | Жозе Мануэль | Урман | JMURMAN | 515,999,4469 | 2006-03-07 | FI_ACCOUNT | 7800,00 | 0,00 | 108 | 100 |
| 113 | Луис | Попп | LPOPP | 515,999,4567 | 2007-12-07 | FI_ACCOUNT | 6900,00 | 0,00 | 108 | 100 |
| 125 | Юлия | Найер | JNAYER | 650.999.1214 | 2005-07-16 | ST_CLERK | 3200,00 | 0,00 | 120 | 50 |
| 126 | Ирэн | Миккилинени | ИМИККИЛИ | 650.999.1224 | 2006-09-28 | ST_CLERK | 2700,00 | 0,00 | 120 | 50 |
| 127 | Джеймс | Ландри | JLANDRY | 650.999.1334 | 2007-01-14 | ST_CLERK | 2400,00 | 0,00 | 120 | 50 |
| 128 | Стивен | Маркл | СМАРКЛ | 650.999.1434 | 2008-03-08 | ST_CLERK | 2200,00 | 0,00 | 120 | 50 |
| 129 | Лаура | Биссо | ЛБИССОТ | 650,999,5234 | 2005-08-20 | ST_CLERK | 3300,00 | 0,00 | 121 | 50 |
| 130 | Може | Аткинсон | МАТКИНСО | 650,999,6234 | 2005-10-30 | ST_CLERK | 2800,00 | 0,00 | 121 | 50 |
| 131 | Джеймс | Марлоу | JAMRLOW | 650,999,7234 | 2005-02-16 | ST_CLERK | 2500,00 | 0,00 | 121 | 50 |
| 132 | TJ | Олсон | ТИОЛСОН | 650,999,8234 | 2007-04-10 | ST_CLERK | 2100,00 | 0,00 | 121 | 50 |
+ ------------- + ------------- + ------------- + ------- --- + -------------- + ------------ + ------------ + ----- ----- + ---------------- + ------------ + -------------- - +
14 рядов в наборе (0,00 с)
 

Есть другой способ решить это решение? Внесите свой код (и комментарии) через Disqus.

Previous: написать запрос, чтобы получить job_id и идентификатор сотрудника.
Далее: напишите запрос, чтобы получить сведения о сотрудниках, длина имени которых больше или равна 8.

Каков уровень сложности этого упражнения?

Новый контент: Composer: менеджер зависимостей для PHP , R программирования


script1adsense4code
script1adsense5code
disqus2code
script1adsense6code
script1adsense7code
script1adsense8code
buysellads2code