Друзья, подскажите, был бы интересен интенсивный курс по "Разработке в MySql"?
Чему мы научимся:
- разрабатывать высоконагруженные базы данных (Database design);
- программировать на языке SQL/PSM (внутреннем языке программирования MySQL, который аналогичен языку T-SQL в MS SQL Server и PL/SQL в ORACLE);
- создавать хранимые процедуры, функции, триггеры;
- использовать преимущества MyISAM и InnoDB таблицы для решения разных задач;
- выявлять ошибки в коде и бизнес-логике. Использовать для этого стандартные средства СУБД MySQL, которые она поставляет. Начиная от версии 5 и до 8ой;
- выявлять проблемные и долговыполняющиеся SQL-запросы и оптимизировать их;
- пользоваться транзакциями правильно, как это делают в больших софтверных компаниях;
- бороться с взаимными блокировками (DeadLocks);
- пользоваться вычислениями в запросах (аналоги аналитических / оконных функций);
- конфигурировать MySql, правильно выставлять параметры, обеспечивая максимальную производительность.
Какие нужны предварительные знания:
- разумеется базовые навыки SQL (умение писать запросы, пользоваться командами SELECT, INSERT, UPDATE и DELETE);
- желательно понимать что такое индексы и как ими пользоваться;
- навыки создания таблиц.
Идеальная подготовка - наш базовый курс "SQL. Базы данных. ORACLE. MS SQL Server. MySQL".
Формат курса:
- 12 он-лайн занятий (вебинары) три раза в неделю (пн, чт в 19:30 и сб в 9:00) по 1.5 часа;
- вебинары будут доступны в записи;
- самостоятельные практические задачи (д/з) с проверкой и разбором работ;
- закрытая группа в Телеграмм.
Предварительно стоимость обучения будет 12.000.
Пока планируется начать с 8го января.
Оставляйте вопросы в комментариях под этим постом.
Чему мы научимся:
- разрабатывать высоконагруженные базы данных (Database design);
- программировать на языке SQL/PSM (внутреннем языке программирования MySQL, который аналогичен языку T-SQL в MS SQL Server и PL/SQL в ORACLE);
- создавать хранимые процедуры, функции, триггеры;
- использовать преимущества MyISAM и InnoDB таблицы для решения разных задач;
- выявлять ошибки в коде и бизнес-логике. Использовать для этого стандартные средства СУБД MySQL, которые она поставляет. Начиная от версии 5 и до 8ой;
- выявлять проблемные и долговыполняющиеся SQL-запросы и оптимизировать их;
- пользоваться транзакциями правильно, как это делают в больших софтверных компаниях;
- бороться с взаимными блокировками (DeadLocks);
- пользоваться вычислениями в запросах (аналоги аналитических / оконных функций);
- конфигурировать MySql, правильно выставлять параметры, обеспечивая максимальную производительность.
Какие нужны предварительные знания:
- разумеется базовые навыки SQL (умение писать запросы, пользоваться командами SELECT, INSERT, UPDATE и DELETE);
- желательно понимать что такое индексы и как ими пользоваться;
- навыки создания таблиц.
Идеальная подготовка - наш базовый курс "SQL. Базы данных. ORACLE. MS SQL Server. MySQL".
Формат курса:
- 12 он-лайн занятий (вебинары) три раза в неделю (пн, чт в 19:30 и сб в 9:00) по 1.5 часа;
- вебинары будут доступны в записи;
- самостоятельные практические задачи (д/з) с проверкой и разбором работ;
- закрытая группа в Телеграмм.
Предварительно стоимость обучения будет 12.000.
Пока планируется начать с 8го января.
Оставляйте вопросы в комментариях под этим постом.
👍6
Интересен интенсивный курс по "Разработке в MySql"?
Anonymous Poll
19%
Да, я иду!
22%
Нет, мне не интересно!
38%
Сомневаюсь сейчас!
22%
Дорогая цена.
Повторение - мать учения! Известная поговорка🙂
Скажите, возвращаетесь ли вы к SQL задачам, которые я присылал ранее и прорешиваете ли их повторно?
Важно повторять решения задач, особенно тех, где совершили ошибку. Ниже я размещу одну из прошлых задач, на которой примерно половина ответила не правильно. Предлагаю решить её ещё раз! 🙂
Скажите, возвращаетесь ли вы к SQL задачам, которые я присылал ранее и прорешиваете ли их повторно?
Важно повторять решения задач, особенно тех, где совершили ошибку. Ниже я размещу одну из прошлых задач, на которой примерно половина ответила не правильно. Предлагаю решить её ещё раз! 🙂
👍9
Все ли строки из таблицы VOUCHERS будут отобраны следующим запросом?
SELECT * FROM VOUCHERS WHERE ID_CODE = 1 UNION ALL SELECT * FROM VOUCHERS WHERE ID_CODE <> 1
SELECT * FROM VOUCHERS WHERE ID_CODE = 1 UNION ALL SELECT * FROM VOUCHERS WHERE ID_CODE <> 1
Anonymous Quiz
49%
Да, все!
52%
Нет, не все!
👍2
Друзья, порекомендуйте, пожалуйста, систему видеоконференций!
Важно наличие: - демонстрации экрана; - чата; - возможности передавать слово на участника; - видеозаписи; - одновременное участие не менее 30 человек.
Важно наличие: - демонстрации экрана; - чата; - возможности передавать слово на участника; - видеозаписи; - одновременное участие не менее 30 человек.
Anonymous Poll
32%
Zoom
14%
Microsoft Teams
18%
Яндекс. Телемост
6%
Skype
6%
Jazz от Сбер
1%
Pruffme
10%
Другая (напишите какая)
13%
Затрудняюсь ответить
Здравствуйте, друзья!
Всем хорошей пятницы и наступающих выходных!
Мы получили ещё один прекрасный отзыв! С радостью делимся!
***
Вам спасибо, что сопровождали на этом пути. Очень рад, что нашел ваш курс, все очень понятно объяснялось. До вас я считал что программирование это не мое от слова совсем, но дело было не во мне, а в подаче материала. Спасибо!
Всем хорошей пятницы и наступающих выходных!
Мы получили ещё один прекрасный отзыв! С радостью делимся!
***
Вам спасибо, что сопровождали на этом пути. Очень рад, что нашел ваш курс, все очень понятно объяснялось. До вас я считал что программирование это не мое от слова совсем, но дело было не во мне, а в подаче материала. Спасибо!
👍4
Спасибо Вам большое за ответы по программе конференций! Вы не только помогли с выбором, но и подсказали несколько новых интересных инструментов! 🤗🎉
Здравствуйте, друзья!
Нашёл на немецком сайте задачку по SQL. Подобные мы уже решали, предлагаю повторить! Уровень сложности: базовый.
Есть таблица (см.рисунок). Нужно найти повторяющиеся имена и вторым столбцом вывести цифру сколько раз повторяется имя.
Жду Ваше решение до вечера!
Вечером решим вместе!
Нашёл на немецком сайте задачку по SQL. Подобные мы уже решали, предлагаю повторить! Уровень сложности: базовый.
Есть таблица (см.рисунок). Нужно найти повторяющиеся имена и вторым столбцом вывести цифру сколько раз повторяется имя.
Жду Ваше решение до вечера!
Вечером решим вместе!
👍4
Спасибо за участие и присланные решения! Лайком я отметил те, которые дадут правильный результат!
Конечно, самым простым решением будет группировка по полю (или набору полей), по которому определяется уникальная ли запись или такая уже есть, с подсчётом количества, и потом используем HAVING чтобы оставить в результате те, где полученное количество более одного.
Приведу источник:
https://de.education-wiki.com/9404113-sql-interview-questions
Вариант с использованием аналитических функций тоже допустим, но сложноват ☺️
Конечно, самым простым решением будет группировка по полю (или набору полей), по которому определяется уникальная ли запись или такая уже есть, с подсчётом количества, и потом используем HAVING чтобы оставить в результате те, где полученное количество более одного.
Приведу источник:
https://de.education-wiki.com/9404113-sql-interview-questions
Вариант с использованием аналитических функций тоже допустим, но сложноват ☺️
Education-WIKI.com
Fragen und Antworten zu SQL-Vorstellungsgesprächen (Aktualisiert für 2019) | Entwicklung des Unternehmertums 2025
In diesem Artikel haben wir alle SQL-Interview-Fragen zusammengestellt, die häufiger gestellt werden, mit ihren detaillierten Antworten darauf.
❤3
Доброе утро, друзья!
Интенсив разработки в MySQL начинаем с 8 января! Формат обучения: онлайн (вебинары) 12 уроков с продолжительностью минимум по 1.5 часа. График: пн и чт с 19:30 и сб с 9:30. Вебинары будут доступны в записи. + закрытая группа в Телеграмм с обсуждением и помощью решения д/з.
Узнать подробнее и записаться можно здесь: https://prime-soft.biz/courses/mysql
Чёрная пятница: до 8 декабря курс будет стоить 9.900, потом 12.000 р.
Интенсив разработки в MySQL начинаем с 8 января! Формат обучения: онлайн (вебинары) 12 уроков с продолжительностью минимум по 1.5 часа. График: пн и чт с 19:30 и сб с 9:30. Вебинары будут доступны в записи. + закрытая группа в Телеграмм с обсуждением и помощью решения д/з.
Узнать подробнее и записаться можно здесь: https://prime-soft.biz/courses/mysql
Чёрная пятница: до 8 декабря курс будет стоить 9.900, потом 12.000 р.
prime-soft.biz
Prime | Обучение программированию в MySQL (SQL/PSM)
Уроки и курсы SQL, MySQL, Базы данных, Программирование с практическими файлами и материалом.
Всем доброй пятницы и хороших выходных!
По традиции, немного юмора:
Microsoft провела анализ и выяснила, что русские читают само лицензионное соглашение - менее 1 секунды
🙂🙂🙂
Никакой другой промежуток времени не обладает такой вариабельностью, как
одна условная минута Майкрософта.
По традиции, немного юмора:
Microsoft провела анализ и выяснила, что русские читают само лицензионное соглашение - менее 1 секунды
🙂🙂🙂
Никакой другой промежуток времени не обладает такой вариабельностью, как
одна условная минута Майкрософта.
😁8🤷♂1👍1💩1🥴1
Есть таблица GOODS, имеющая, среди прочих, столбец GOOD_TYPE, определённый как INT(10) NOT NULL DEFAULT 0. Всё ли записи из таблицы GOODS будут выбраны запросом ниже?
SELECT * FROM GOODS WHERE COALESCE(NULLIF(GOOD_TYPE, -1), 0) <> -1
SELECT * FROM GOODS WHERE COALESCE(NULLIF(GOOD_TYPE, -1), 0) <> -1
Anonymous Quiz
45%
Да, запрос выберет все записи из таблицы GOODS
55%
Нет, запрос выберет не все записи из таблицы GOODS
Друзья, напоминаю, что до 8го декабря (ещё 3 дня) действует хорошая скидка на наши курсы:
SQL. Базы данных. ORACLE. MS SQL Server. MySql
https://prime-soft.biz/courses/sql
6.900 вместо 12.000 (скидка >40%)
Программирование в PL/SQL (ORACLE)
https://prime-soft.biz/courses/plsql
9.900 вместо 18.000 (скидка 45%)
Программирование в SQL/PSM (MySql)
https://prime-soft.biz/courses/mysql
9.900 вместо 12.000 (скидка почти 20%)
💻
SQL. Базы данных. ORACLE. MS SQL Server. MySql
https://prime-soft.biz/courses/sql
6.900 вместо 12.000 (скидка >40%)
Программирование в PL/SQL (ORACLE)
https://prime-soft.biz/courses/plsql
9.900 вместо 18.000 (скидка 45%)
Программирование в SQL/PSM (MySql)
https://prime-soft.biz/courses/mysql
9.900 вместо 12.000 (скидка почти 20%)
💻
prime-soft.biz
Prime | SQL. Базы данных. ORACLE, MS SQL Server, MySQL
Уроки и курсы SQL, ORACLE, MS SQL Server, MySQL, Базы данных. Практические файлы и материал.
Краткий план нашего интенсива по MySQL
На примере создания базы данных для ERP-сисиемы управления складом и продажами научимся организовывать хранение данных, создавать, редактировать таблицы под разные виды использования. Разберём подробно движки таблиц, ключи, индексы, правила определения столбцов (чтобы избегать проблем на бою) и повторим нормализацию.
Основной блок курса - это программирование на языке SQL/PSM. Научимся создавать хранимые процедуры и функции. Разберём циклы, курсоры, хэндлеры, научимся логировать выполнение программных модулей, а также возможные возникающие ошибки. Разберём новые возможности, которые появились в MySQL, позволяющие логировать выполнение и поиск исключений максимально быстро. Научимся создавать триггеры.
Научимся правильно пользоваться транзакциями и освоим методы минимизации вероятности возникновения взаимных блокировок (deadlocks), как это делается в больших софтверных компаниях. Рассмотрим дополнительные особенности применительно к MySql. Научимся определять взаимные блокировки на бою и устранять их.
Ещё один интересный блок: выполнение расчётов в SQL-запросах. Не всегда нужно прибегать к написанию алгоритмов на языке программирования. Очень большие возможности дают вычисления в запросах. Например как вставить даты в таблицу "шахматкой", выбрать заказы, в которых пропущена нумерация позиций или распределить товары между складами равномерно, принимая различные параметры в расчёт. Это всё можно сделать одним запросом, одной командой SQL! В MySQL нет аналитических функций (или пока нет), но вычисления в запросах дают даже более гибкий функционал.
Последний небольшой, но тоже важный блок - это конфигурация MySql сервера. Стандартные значения параметров сервера годятся для небольших сайтов, интернет-магазинов, а для более серьёзной нагрузки установка правильных значений играет очень важную роль в распределении ресурсов. Научимся конфигурировать параметры СУБД под разные задачи.
Для участников курса, по желанию (в рамках дополнительной практической нагрузки), можно будет поучаствовать в разработке нашего нового проекта SQL-Learn. Мы создадим несколько хранимых модулей, выполняющих часть бизнес логики. Вместе предварительно обсудим максимально оптимальную реализацию, напишем и протестируем программный код! Созданный функционал будет использоваться на сайте sql-learn.com и в одноимённом мобильном приложении. Выход приложения готовится весной 2024 года.
На примере создания базы данных для ERP-сисиемы управления складом и продажами научимся организовывать хранение данных, создавать, редактировать таблицы под разные виды использования. Разберём подробно движки таблиц, ключи, индексы, правила определения столбцов (чтобы избегать проблем на бою) и повторим нормализацию.
Основной блок курса - это программирование на языке SQL/PSM. Научимся создавать хранимые процедуры и функции. Разберём циклы, курсоры, хэндлеры, научимся логировать выполнение программных модулей, а также возможные возникающие ошибки. Разберём новые возможности, которые появились в MySQL, позволяющие логировать выполнение и поиск исключений максимально быстро. Научимся создавать триггеры.
Научимся правильно пользоваться транзакциями и освоим методы минимизации вероятности возникновения взаимных блокировок (deadlocks), как это делается в больших софтверных компаниях. Рассмотрим дополнительные особенности применительно к MySql. Научимся определять взаимные блокировки на бою и устранять их.
Ещё один интересный блок: выполнение расчётов в SQL-запросах. Не всегда нужно прибегать к написанию алгоритмов на языке программирования. Очень большие возможности дают вычисления в запросах. Например как вставить даты в таблицу "шахматкой", выбрать заказы, в которых пропущена нумерация позиций или распределить товары между складами равномерно, принимая различные параметры в расчёт. Это всё можно сделать одним запросом, одной командой SQL! В MySQL нет аналитических функций (или пока нет), но вычисления в запросах дают даже более гибкий функционал.
Последний небольшой, но тоже важный блок - это конфигурация MySql сервера. Стандартные значения параметров сервера годятся для небольших сайтов, интернет-магазинов, а для более серьёзной нагрузки установка правильных значений играет очень важную роль в распределении ресурсов. Научимся конфигурировать параметры СУБД под разные задачи.
Для участников курса, по желанию (в рамках дополнительной практической нагрузки), можно будет поучаствовать в разработке нашего нового проекта SQL-Learn. Мы создадим несколько хранимых модулей, выполняющих часть бизнес логики. Вместе предварительно обсудим максимально оптимальную реализацию, напишем и протестируем программный код! Созданный функционал будет использоваться на сайте sql-learn.com и в одноимённом мобильном приложении. Выход приложения готовится весной 2024 года.
👍1
Есть таблица сотрудников компании PERSONS, имеющая, среди прочих, столбец BIRTHDATE, в котором указана их дата рождения.
Задача: написать запрос, отбирающий сотрудников, дни рождения которых выпадают на следующие 15 дней.
Необходимо помнить, что если запрос будут запускать, например, 31 декабря, то должны вывестись сотрудники, чьи даты рождения выпадают с 31 декабря по 14 января.
Напишите, пожалуйста, решение задачи в комментарии. В конце дня я напишу одно из возможных решений и отмечу сердечком правильные Ваши варианты.
Задача: написать запрос, отбирающий сотрудников, дни рождения которых выпадают на следующие 15 дней.
Необходимо помнить, что если запрос будут запускать, например, 31 декабря, то должны вывестись сотрудники, чьи даты рождения выпадают с 31 декабря по 14 января.
Напишите, пожалуйста, решение задачи в комментарии. В конце дня я напишу одно из возможных решений и отмечу сердечком правильные Ваши варианты.
Спасибо всем за старания и участие в решении этой задачи! Полина и Александр предложили верные, хотя и разные решения задачи.
Александр, Ваше решение немного нужно доработать. В местах, где сравниваете результат работы текстовой функции REPLACE с датой, нужно результат работы REPLACE обернуть в to_date. Чтобы было сравнение одинаковых между собой типов данных.
Александр, Ваше решение немного нужно доработать. В местах, где сравниваете результат работы текстовой функции REPLACE с датой, нужно результат работы REPLACE обернуть в to_date. Чтобы было сравнение одинаковых между собой типов данных.
Вот доработанный результат:
select * from persons
where case when to_date(replace(to_char(birthdate, 'dd.mm.yyyy'), to_char(extract(year from birthdate)), to_char(extract(year from sysdate))), 'dd.mm.yyyy') < trunc(sysdate)
then to_date(replace(to_char(birthdate, 'dd.mm.yyyy'), to_char(extract(year from birthdate)), to_char(extract(year from sysdate)+1)), 'dd.mm.yyyy')
else to_date(replace(to_char(birthdate, 'dd.mm.yyyy'), to_char(extract(year from birthdate)), to_char(extract(year from sysdate))), 'dd.mm.yyyy')
end between trunc(sysdate) and trunc(sysdate)+14
select * from persons
where case when to_date(replace(to_char(birthdate, 'dd.mm.yyyy'), to_char(extract(year from birthdate)), to_char(extract(year from sysdate))), 'dd.mm.yyyy') < trunc(sysdate)
then to_date(replace(to_char(birthdate, 'dd.mm.yyyy'), to_char(extract(year from birthdate)), to_char(extract(year from sysdate)+1)), 'dd.mm.yyyy')
else to_date(replace(to_char(birthdate, 'dd.mm.yyyy'), to_char(extract(year from birthdate)), to_char(extract(year from sysdate))), 'dd.mm.yyyy')
end between trunc(sysdate) and trunc(sysdate)+14
Вы правильно поняли, что сложность задачи заключается в том, что в поле BIRTHDATE лежит дата рождения сотрудника и у каждого сотрудника СВОЙ ГОД РОЖДЕНИЯ. Например, Иванов И.И. родился 09.12.1981 и если запускать запрос сейчас, то он должен быть отобран.
Решение вида:
select *
from Persons
where BIRTHDATE between CURRENT_DATE and (CURRENT_DATE + INTERVAL '15 day')
не подойдёт, так как BIRTHDATE не в диапазоне
CURRENT_DATE and (CURRENT_DATE + INTERVAL '15 day')
09.12.1981 не в диапазоне
06.12.2023 - 21.12.2023
Обратите внимание на года!
Нужно выбирать записи из таблицы без учёта года.
Решения Александра и Полины будут работать правильно!
Ещё одним решением задачи может быть следующий алгоритм: выбираем сотрудников, возраст которых (количество полных лет) сейчас отличается от возраста, который будет через 15 дней. Это означает, что за этот промежуток у сотрудника будет день рождения! Вычислить возраст (количество полных лет) можно разными способами. Вот пример:
SELECT *
FROM PERSONS
WHERE TRUNC(MONTHS_BETWEEN(SYSDATE, BIRTHDATE)/12) <>
TRUNC(MONTHS_BETWEEN(SYSDATE + 15, BIRTHDATE)/12)
Решение вида:
select *
from Persons
where BIRTHDATE between CURRENT_DATE and (CURRENT_DATE + INTERVAL '15 day')
не подойдёт, так как BIRTHDATE не в диапазоне
CURRENT_DATE and (CURRENT_DATE + INTERVAL '15 day')
09.12.1981 не в диапазоне
06.12.2023 - 21.12.2023
Обратите внимание на года!
Нужно выбирать записи из таблицы без учёта года.
Решения Александра и Полины будут работать правильно!
Ещё одним решением задачи может быть следующий алгоритм: выбираем сотрудников, возраст которых (количество полных лет) сейчас отличается от возраста, который будет через 15 дней. Это означает, что за этот промежуток у сотрудника будет день рождения! Вычислить возраст (количество полных лет) можно разными способами. Вот пример:
SELECT *
FROM PERSONS
WHERE TRUNC(MONTHS_BETWEEN(SYSDATE, BIRTHDATE)/12) <>
TRUNC(MONTHS_BETWEEN(SYSDATE + 15, BIRTHDATE)/12)
👍9
Доброе утро, друзья!
Сегодня предлагаю решить необычную задачу с собеседования.
Каким SQL запросом/командой можно посчитать сколько раз в заданном тексте встречается конкретный символ, например точка?
Решение напишу, как всегда, попозже🙂
Сегодня предлагаю решить необычную задачу с собеседования.
Каким SQL запросом/командой можно посчитать сколько раз в заданном тексте встречается конкретный символ, например точка?
Решение напишу, как всегда, попозже🙂
Отличная работа! Почти все решения верные (+ одно ещё на проверке).
Спасибо Вам за активное участие в решении задачи.
Приглашаю посмотреть варианты её решения (кому далось не легко):
https://youtu.be/lYXRDsi0szU
Спасибо Вам за активное участие в решении задачи.
Приглашаю посмотреть варианты её решения (кому далось не легко):
https://youtu.be/lYXRDsi0szU
YouTube
Решение задач по SQL. Собеседование. Таблица DUAL, CONNECT BY LEVEL, Текстовые функции
В этом уроке приведена интересная задача по SQL: Как с помощью SELECT-а получить количество искомой буквы в заданном фрагменте текста. Разбираем методы решения. Стандартные и нестандартные методы.
Пример нестандартного использования CONNECT BY LEVEL.
Тестовые…
Пример нестандартного использования CONNECT BY LEVEL.
Тестовые…
👍7
В базе данных есть таблица CLIENTS, имеющая, среди прочих, столбец CLIENT_TYPE. Все строки таблицы имеют значение CLIENT_TYPE равное 1.
Запрос SELECT MAX(CLIENT_TYPE) FROM CLIENTS WHERE CLIENT_TYPE <> 1 вернёт значение:
Запрос SELECT MAX(CLIENT_TYPE) FROM CLIENTS WHERE CLIENT_TYPE <> 1 вернёт значение:
Anonymous Quiz
54%
null
22%
0
13%
1
1%
2
10%
будет ошибка выполнения SQL-запроса
❤🔥6🔥2