Пишем на SQL
1.93K subscribers
38 photos
6 videos
7 files
97 links
Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql
Download Telegram
В середине октября опубликовал свои первые бесплатные курсы по MS Excel на stepik-е (ссылки на курсы выше в истории от 20го октября) и собрал уже более 1.500 учеников и ещё много хороших отзывов 🙏🎉
Спасибо за активное участие! 🤗

Сегодня публикуем наш курс "SQL. Базы данных. ORA­CLE. MS SQL. MySQL" на платформе. Теперь курс будет доступен и на Stepik-е😌
Ссылка на курс:
https://stepik.org/course/183400

Начальная стоимость курса значительно ниже, чем у нас на сайте, но цена будет актуальна для первых 20ти человек! ☝️

Пройти весь курс можно всего за 4.990 р. В эту стоимость входит огромное количество уроков (мы изучим SQL с нуля до уровня специалиста с трёхлетним стажем), все уроки сопровождаются практикой, мы будем работать в реальной базе данных, будет много самостоятельных практических задач, выполнение которых мы будем контролировать (проверять Ваши решения, помогать оптимизировать код, находить ошибки), и ещё снабдили курс автоматическими тестами по теории. Правильность ответов будет проверять сама платформа!

По завершению обучения - сертификат Stepik-а.
Доступ к курсу бессрочный!

Будем Вас ждать!
🔥9👍2🙏1
Здравствуйте, дорогие друзья!

Пришла пятница! 🙂
По традиции немного юмора.
Нашёл несколько анекдотов на айти тему:

Приходит администратор баз данных к окулисту. Тот его усаживает напротив таблицы, берет указку:
— Читайте!
— БНОПНЯ... Доктор, у вас что—то не то с кодировкой!

🙂🙂🙂

Жена разбудила ночью мужа—программиста:
— Дорогой, у нас мышь пищит, мне страшно!
— Так ты выдерни её из системника!

🙂🙂🙂

Программист после напряженного трудового дня залезает в холодильник, достает пачку масла, читает на обертке:
— Масло сливочное. 72%. В голове быстрая мысль:
— О! Скоро загрузится! Возвращает масло в холодильник. Закрывает дверцу.
😁10👍2
Здравствуйте, друзья!

Иногда, при написании SQL-запросов, нам бывает нужно использовать конкретную дату при выборе данных (например, выбирать платежи, которые были сделаны начиная от такой-то даты).
Нельзя вписывать дату в запрос в удобном нам ("человеческом") виде (представлении). Нельзя писать, например, так:

SELECT *
FROM PAYMENTS
WHERE DATE_CREATE > 20.12.2021

Нельзя писать и так:
SELECT *
FROM PAYMENTS
WHERE DATE_CREATE > '20.дек.2021'

Несмотря на то, что нам (людям) любое из этих представлений даты понятны, СУБД должна точно распознавать дату. Что в дате указывает на число, что на месяц и что на год.

Есть нсколько способов как вписать нужную дату в SQL-запрос. Эти способы могут быть немного отличаться в разных СУБД (с датами работаем всегда осторожно).

В ORACLE мы можем использовать функцию to_date для преобразования в дату из введённый текстовой информации.

SELECT *
FROM PAYMENTS
WHERE DATE_CREATE > to_date('20.12.2021', 'dd.mm.yyyy')

Вот так много нужно написать, чтобы Оракл правильно принял дату в SQL-запрос. Используем функцию to_date, которой сначала указываем непосредственно дату, понятную нам, а затем указываем маску как эту дату распознавать.

Почти всегда есть несколько способов написания даты в SQL-запрос. И для ORACLE есть способ покороче:

SELECT *
FROM PAYMENTS
WHERE DATE_CREATE > DATE '2021-12-20'

При использовании фразы DATE не нужно указывать маску распознавания даты, но саму дату придётся вписывать только в формате год-месяц-день.
👍201
Здравствуйте, дорогие друзья!
Как насчёт небольшой задачи по SQL?
Имеется таблица TBL, имеющая, среди прочих, столбец NMBR. В столбце есть только значения 1 и 0. Требуется к числу NMBR прибавить 2 для строк, где оно равно 0, и прибавить 3, где оно равно 1.
В конце дня напишу правильный ответ!
Всем спасибо за активное участие!
Чтобы решение работало во всех СУБД, воспользуемся CASE:

UPDATE TBL
SET NMBR = CASE WHEN NMBR = 0 THEN NMBR + 2 ELSE NMBR + 3 END
👍10
18:00! Пятница 🙂
И немного айти юмора
👍1
🤣24🔥3👍2
Здравствуйте, друзья!
Всем хорошего старта в новой рабочей (учебной) неделе!
Предлагаю небольшую задачу по SQL (базовый уровень). Будет ниже 🙂
Есть SQL запрос:
SELECT NAME FROM CUSTOMER WHERE STATE = 'VA'
Какой из запросов ниже будет возвращать идентичный результат?
Anonymous Quiz
1%
SELECT name IN customer WHERE state IN ('VA');
11%
SELECT name IN customer WHERE state = 'VA';
0%
SELECT name IN customer WHERE state = 'V';
88%
SELECT name FROM customer WHERE state IN ('VA');
👍6
Друзья, подскажите, был бы интересен интенсивный курс по "Разработке в 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. Базы данных. ORA­CLE. MS SQL Server. MySQL".

Формат курса:
- 12 он-лайн занятий (вебинары) три раза в неделю (пн, чт в 19:30 и сб в 9:00) по 1.5 часа;
- вебинары будут доступны в записи;
- самостоятельные практические задачи (д/з) с проверкой и разбором работ;
- закрытая группа в Телеграмм.

Предварительно стоимость обучения будет 12.000.

Пока планируется начать с 8го января.

Оставляйте вопросы в комментариях под этим постом.
👍6
Интересен интенсивный курс по "Разработке в MySql"?
Anonymous Poll
19%
Да, я иду!
22%
Нет, мне не интересно!
38%
Сомневаюсь сейчас!
22%
Дорогая цена.
Повторение - мать учения! Известная поговорка🙂
Скажите, возвращаетесь ли вы к SQL задачам, которые я присылал ранее и прорешиваете ли их повторно?
Важно повторять решения задач, особенно тех, где совершили ошибку. Ниже я размещу одну из прошлых задач, на которой примерно половина ответила не правильно. Предлагаю решить её ещё раз! 🙂
👍8
Все ли строки из таблицы VOUCHERS будут отобраны следующим запросом?

SELECT * FROM VOUCHERS WHERE ID_CODE = 1 UNION ALL SELECT * FROM VOUCHERS WHERE ID_CODE <> 1
Anonymous Quiz
48%
Да, все!
52%
Нет, не все!
👍2
Друзья, порекомендуйте, пожалуйста, систему видеоконференций!

Важно наличие: - демонстрации экрана; - чата; - возможности передавать слово на участника; - видеозаписи; - одновременное участие не менее 30 человек.
Anonymous Poll
33%
Zoom
14%
Microsoft Teams
18%
Яндекс. Телемост
6%
Skype
6%
Jazz от Сбер
1%
Pruffme
10%
Другая (напишите какая)
12%
Затрудняюсь ответить
Здравствуйте, друзья!

Всем хорошей пятницы и наступающих выходных!

Мы получили ещё один прекрасный отзыв! С радостью делимся!

***

Вам спасибо, что сопровождали на этом пу­ти. Очень рад, что нашел ваш курс, все очень понятно объясня­лось. До вас я считал что программирован­ие это не мое от сло­ва совсем, но дело было не во мне, а в подаче материала. Спа­сибо!
👍4
Спасибо Вам большое за ответы по программе конференций! Вы не только помогли с выбором, но и подсказали несколько новых интересных инструментов! 🤗🎉
Здравствуйте, друзья!

Нашёл на немецком сайте задачку по SQL. Подобные мы уже решали, предлагаю повторить! Уровень сложности: базовый.

Есть таблица (см.рисунок). Нужно найти повторяющиеся имена и вторым столбцом вывести цифру сколько раз повторяется имя.

Жду Ваше решение до вечера!
Вечером решим вместе!
👍4
Спасибо за участие и присланные решения! Лайком я отметил те, которые дадут правильный результат!
Конечно, самым простым решением будет группировка по полю (или набору полей), по которому определяется уникальная ли запись или такая уже есть, с подсчётом количества, и потом используем HAVING чтобы оставить в результате те, где полученное количество более одного.

Приведу источник:
https://de.education-wiki.com/9404113-sql-interview-questions

Вариант с использованием аналитических функций тоже допустим, но сложноват ☺️
3
Доброе утро, друзья!

Интенсив разработки в MySQL начинаем с 8 января! Формат обучения: онлайн (вебинары) 12 уроков с продолжительностью минимум по 1.5 часа. График: пн и чт с 19:30 и сб с 9:30. Вебинары будут доступны в записи. + закрытая группа в Телеграмм с обсуждением и помощью решения д/з.

Узнать подробнее и записаться можно здесь: https://prime-soft.biz/courses/mysql

Чёрная пятница: до 8 декабря курс будет стоить 9.900, потом 12.000 р.
Всем доброй пятницы и хороших выходных!

По традиции, немного юмора:

 Microsoft провела анализ и выяснила, что русские читают само лицензионное соглашение - менее 1 секунды

🙂🙂🙂

Никакой другой промежуток времени не обладает такой вариабельностью, как
одна условная минута Майкрософта.
😁8🤷‍♂1👍1💩1🥴1