Руководство для начинающих по MySQL
MySQL — одна из наиболее используемых СУБД, т.к. она поддерживается почти всеми ОС и распространяется как свободное программное обеспечение. Поэтому, MySQL популярна среди разработчиков сайтов и веб-приложений.
Однако без хорошего гайда достаточно трудно разобраться в этапах создания баз данных. В этом руководстве подробно описывается, как установить MySQL, создать БД и таблицы, а также сделать первые запросы:
https://wiki.gentoo.org/wiki/MySQL/Startup_Guide/ru
📢 Как заменить null на 0 в SQL
Чтобы заменить значение NULL на 0 в SQL, можно использовать функцию COALESCE. Эта функция принимает несколько аргументов и возвращает первый не NULL аргумент.
Если все аргументы NULL, функция вернет NULL. Вот пример использования COALESCE для замены значений NULL на 0:SELECT COALESCE(column_name, 0) FROM table_name;
В этом запросе column_name - имя столбца, значения которого нужно заменить, а table_name - имя таблицы, в которой находится столбец. Функция COALESCE заменит все значения NULL в столбце на 0. Если значение столбца не NULL, то функция вернет его без изменений.
Также можно использовать оператор IS NULL для проверки на NULL и замены его на 0. Вот пример:SELECT CASE WHEN column_name IS NULL THEN 0 ELSE column_name END FROM table_name;
Этот запрос также заменит значения NULL на 0. Если значение столбца не NULL, то запрос вернет его без изменений.
⭐️ Хакатон ARCHI.Tech от ВТБ – уникальный шанс сделать проект в роли ИТ-архитектора. Приглашаем начинающих и опытных ИТ-специалистов – студентов и выпускников технических вузов, разработчиков, архитекторов, аналитиков.
🔹 Выбирайте задачу любого уровня — простую, среднюю или сложную
🔹 Собирайте архитектурные артефакты, спрятанные в заданиях, и зарабатывайте баллы
🔹 Презентуйте свои решения экспертам ВТБ
🔹 Не упустите возможность решить «разминочную» задачу и получить дополнительные баллы
🔹 Заработанные баллы, найденные артефакты и коэффициент сложности задачи помогут определить победителей
🔹 Три категории: «Архитектор стрима», «Архитектор системы» и «Архитектор данных»…
🔹… и три призовых места в каждой
🔹 Лучшие из лучших разделят призовой фонд в 1 200 000 рублей!
Начало предварительного этапа – 14 июня. Соревнование стартует 28 июня – у участников будет 24 часа на решение задачи.
👉 Продемонстрируй свои знания об архитектуре – участвуй в ARCHI.Tech от ВТБ: https://cnrlink.com/architechvtbsqldblearn
Реклама. БАНК ВТБ (ПАО). ИНН 7702070139. erid: LjN8KUW6W
🔵🗣Вырасти до хардового Middle+ аналитика.
Как? Добавьте к своим скилам навыки в проектировании архитектуры и интеграций веб-сервисов!
Рассмотрите — авторский курс про архитектуру и интеграции
с практикой.
—————
По результатам курса вы:
▫️научитесь выбирать стиль интеграции под вашу задачу;
▫️сможете проектировать с нуля и описывать интеграции в современных стилях (API: REST, SOAP, gRPC и др. + брокеры сообщений);
▫️поймете, как правильно собирать требования и моделировать в UML;
▫️подготовитесь к собеседованию, решив более 100 тестов;
▫️разработаете свой API на Python;
—————
🟢Вы получите большую базу фундаментальных знаний, доступ к урокам и обновлениям остается навсегда 💡
• Всю программу и отзывы смотрите в боте курса.
• Бонусный модуль про проектирование баз данных — нормализация, транзакции, основы DWH, индексы.
• Результат после прохождения курса: 15 рабочих проектов в портфолио.
• Доступ к чату учеников (общение, обмен опытом, помощь внутри сообщества)
🔹🔹 С чего начать?🔹🔹
С открытых бесплатных уроков по архитектуре и интеграциям в чат-боте курса. Переходите.
👇
@studyit_help_bot
Скидка на курс от канала —
1 000₽ по промокоду SQLAND до 30 июня.
Как в sql посчитать количество повторяющихся значений
Можно попробовать использовать функцию COUNT() в сочетании с оператором GROUP BY.
Предположим, у нас есть таблица "orders" с колонками "customer_name" и "order_date", и мы хотим посчитать, сколько заказов было сделано каждым клиентом. Мы можем написать следующий SQL-запрос:SELECT customer_name, COUNT(*) as order_count
FROM orders
GROUP BY customer_name
Этот запрос выберет все уникальные значения из колонки "customer_name" в таблице "orders" и подсчитает количество строк, связанных с каждым уникальным значением. Результатом запроса будет таблица со столбцами "customer_name" и "order_count", в которой каждая строка будет показывать клиента и количество его заказов.
Шпаргалка по SQL
Шпаргалок по SQL много не бывает, так что держите, полезно освежить перед собеседованием
Здесь освещаются самые основные операторы, такие как JOIN
, IN
, LIKE
, BETWEEN
, ORDER BY
, а также много всего ещё
Пользуйтесь)
⚡️В сети начали находить курсы и книги известных онлайн школ в открытом доступе
Вот отсортированная база с тонной материала(постепенно пополняется):
🔗 БАЗА (3385 видео):
(343 видео, 87 книги) — Java
(176 видео, 32 книги) — Git
(293 видео, 63 книги) — C#
(352 видео, 89 книги) — С++
(167 видео, 53 книги) — PHP
(227 видео, 83 книги) — SQL
(163 видео, 29 книги) — Linux
(363 видео, 122 книги) — Python
(415 видео, 168 книги) — Frontend
(143 видео, 33 книги) — Flask
(167 видео, 43 книги) — Django
(197 видео, 49 книги) — Разработка ботов
(137 видео, 93 книги) — Data Science
(113 видео, 82 книги) — GameDev
(129 видео, 73 книги) — QA
Скачивать ничего не нужно — все выложили в Telegram и на YouTube с доступом по ссылке
6 июня состоится Firebird Conf 2024, ежегодная конференция для разработчиков, администраторов и пользователей СУБД Firebird
🕊Firebird Conf — ежегодная практическая конференция для разработчиков и администраторов баз данных, активных пользователей СУБД Firebird и тех кто хочет узнать про неё подробнее.
Уже второй год конференция Firebird Conf становится местом для нетворкинга, обмена опытом и формирования связей для реализации совместных проектов.
Доклады конференции посвящены техническим аспектам работы с Firebird:
🔴Новые возможности в СУБД Firebird 6.0 и Ред База Данных 6.0
🔴Firebird в высоконагруженной системе мониторинга сети
🔴Особенности миграции с MS SQL Server и Oracle на СУБД Firebird
🔴Средства разработки для СУБД Firebird
🔴Полнотекстовые движки в СУБД Firebird
Полная программа доступна на сайте мероприятия.
Среди спикеров — представители ИТ-сообщества, бизнеса, люди с опытом разработки и реализации собственных уникальных проектов, а также сами контрибьюторы Firebird. Также предусмотрены активности за пределами конференц-зала.
📌 Регистрация
Реклама, ООО «Ред Софт», ИНН 9705000373, erid: 2Vtzquj1UWp
🖥 Как работает CASE SQL
Оператор CASE в SQL используется для создания условий, когда нужно выполнить различные операции в зависимости от значения столбца или выражения.
Оператор CASE может быть использован в двух форматах:CASE без ELSE:
SELECT column1,
CASE
WHEN column2 = 'value1' THEN 'result1'
WHEN column2 = 'value2' THEN 'result2'
END AS column3
FROM table;
В этой форме оператора CASE
используется блок WHEN
для проверки значения столбца column2
. Если значение равно value1
, то будет возвращено значение result1
. Если значение равно value2
, то будет возвращено значение result2
. Если значение не соответствует ни одному из условий, то для столбца column3 будет возвращено значение NULL
.CASE с ELSE:
SELECT column1,
CASE column2
WHEN 'value1' THEN 'result1'
WHEN 'value2' THEN 'result2'
ELSE 'result3'
END AS column3
FROM table;
В этой форме оператора CASE
используется значение столбца column2
в блоке CASE
. Если значение равно value1, то будет возвращено значение result1. Если значение равно value2
, то будет возвращено значение result2
. Если значение не соответствует ни одному из условий, то будет возвращено значение result3.
Оба формата оператора CASE
могут использоваться в запросах на выборку данных в SQL
. Они позволяют создавать условия, когда нужно выполнить различные операции в зависимости от значения столбца или выражения.
Ровно год назад автор каналa Торговый Инсайдер дал 4 монеты своим подписчикам и вложил вместе с ними по 100$ в каждую, а теперь пришло время подводить итоги.
Apex 100$ - 11.100$
CDX 100$ - 10.000$
PIXEL 100$ - 3828$
VEIL 100$ - 7.460$
И это всего лишь 4 монеты из огромного количества, которые мы разбирали на канале «Торговый Инсайдер»
9 апреля мы выложим новый список монет на 2024 год.
Поспеши узнать и зайти закупиться пока монеты не улетели в космос!
P.s кто не успел, тот опоздал извиняйте 🤷♂️👇🏼
/channel/+jtdMrubMBy0xM2E6
Как крупному магазину автозапчастей экономить 30 часов в неделю на подготовке отчётности?
Автомобильные запчасти — рынок с высокой конкуренцией. От того, насколько быстро обновляется информация о продажах, зависит успех всего бизнеса.
Чтобы наладить работу с 1200 поставщиками товаров и 5000 корпоративными клиентами по всей России, компания «Автостэлс-Тех» совместно с GlowByte построила единое аналитическое хранилище на облачной платформе Yandex Cloud.
Что из этого вышло, читайте по ссылке.
Приходите на High SQL — митап ЮMoney о работе с базами данных 😎
Встречаемся 28 мая в 19:00 (мск). Можно прийти в наш офис в Петербурге или подключиться к онлайн-трансляции.
На встрече эксперты ЮMoney и приглашённый спикер расскажут, как строят и развивают базы данных.
Темы докладов ⤵️
🟣SQL Agent Jobs As Code: подход ЮMoney к хранению и деплою заданий для Microsoft SQL Server.
🟣Декомпозиция монолита в DWH: когда делить базу на множество компонент.
🟣Телеметрия в реальном времени и в экстремальных условиях: всё про архитектуру отправки данных.
Участие бесплатное. Чтобы попасть на митап, нужно зарегистрироваться. Все подробности — на сайте High SQL ❤️
HAVING COUNT
В данном видео автор демонстрирует решение задачи с помощью оператора HAVING. Идет он в сочетании с агрегатной функцией COUNT. Наглядно демонстрируется, как работает оператор GROUP BY HAVING COUNT.
📘Видео урок
👱🏻♀️Как легко знакомиться с реально классными девушками?
Знакомиться на улицах сейчас — это как звонить другу на домашний телефон. В теории работает, но на практике уже неадекватно.
Какова вероятность, что достойная девушка для отношений попадется тебе в метро?
Вроде, достойные девушки и существуют, но как будто где-то в параллельной реальности с тобой, лишь изредка пересекаясь.
Лови простой лайфхак:
Ты боишься знакомства не потому, что не можешь сказать «привет». А потому, что понятия не имеешь что делать в следующие 5-10 минут и будешь просто щелкать еб@лом. А у тебя тут всего две простых задачи:
— Продемонстрировать свою ценность
— Выстроить нужный контекст общения
Заметь в ней что-то уникальное и свяжи это с историей из своей жизни. Например:
— Привет, я случайно увидел тебя и обратил внимание на твои очки. Тебе идут, я тоже раньше носил такие, чтобы казаться старше, когда только начинал преподавать…
Звучит сложно. Однако на канале Творчество Чувств опытный психолог раскладывает это по полочкам. Один из его недавних кейсов — программист из Гугла, который вышел из 5-летней депрессии и нашел ту самую.
💘 Прекрати застой на личном фронте: /channel/+gaMCJdAXvOpmNWYy
PostgreSQL + pgAdmin + mTLS + certificate-based authentication + docker-compose в одном флаконе
Читать статью
SQL-запросы, которые вы рано или поздно погуглите
Отвечу на вопросы, которые возникают у новичков в SQL, в частности в PostgreSQL и BigQuery. Мы не будем обсуждать совсем базовые SELECT, CREATE или DROP.
Для удобства восприятия будем использовать тестовые данные. Первая таблица players содержит данные о пользователях и дате установки мобильной игры:|playerId|name |installationDate|game |os |
|--------|----------------|----------------|----------|----------|
|9e8a0174|Трофимова Алёна |2023-07-30 |basketball|iOS 16 |
|3e2e04ad|Семенова Алиса |2022-07-21 |consumer |iOS 13 |
|642eafb2|Абрамова Диана |2022-06-06 |curtain |iOS 15 |
|8c231f49|Ефимова Ульяна |2022-06-21 |conductor |Android 12|
|a085caf1|Захаров Михаил |2023-04-11 |appear |Android 11|
|c4deb869|Николаева Марта |2022-03-31 |possible |iOS 11 |
вторая, levels, — даты прохождения игроком с определенным ID того или иного уровня:|playerId|level|completionDate|
|--------|-----|--------------|
|7b50274d|6 |2023-05-17 |
|b0c9a9da|20 |2022-02-19 |
|09b3d5b5|15 |2022-07-22 |
|52b3bfa9|11 |2022-02-18 |
|3e2e04ad|17 |2022-08-17 |
|642eafb2|17 |2022-04-14 |
|8c231f49|20 |2022-05-30 |
|a085caf1|20 |2023-02-24 |
|36545ec1|16 |2022-08-10 |
|44e9653f|3 |2023-06-02 |
Я буду верстать в BigQuery на таком же датасете, так что использую соответствующий диалект.
INNER JOIN
Это тип объединения по умолчанию, и он оставит наименьшее число строк. Слово INNER можно опустить:SELECT
p.playerId,
installationDate,
game,
level,
completionDate
FROM `project.tutorials.players` AS p
JOIN `project.tutorials.levels` AS l ON p.playerId = l.playerId;
Посмотрим, что здесь происходит:
• В строках 1-6 мы выбираем только необходимые столбцы;
• 7-8: командой AS задаем псевдонимы таблицам;
• 8: определяем логику объединения по совпадающим playerId. Это означает также, что мы сохраним данные только об первом попавшемся уровне.
Получим всего четыре строки:|playerId|name |installationDate|game |level|completionDate|
|--------|--------------|----------------|---------|-----|--------------|
|3e2e04ad|Семенова Алиса|2022-07-21 |consumer |17 |2022-08-17 |
|642eafb2|Абрамова Диана|2022-06-06 |curtain |17 |2022-04-14 |
|8c231f49|Ефимова Ульяна|2022-06-21 |conductor|20 |2022-05-30 |
|a085caf1|Захаров Михаил|2023-04-11 |appear |20 |2023-02-24 |
OUTER JOIN
Этот тип объединения, напротив, куда «добрее» и в случае FULL-объединения сохранит записи обо всех игроках и всех пройденных уровнях:SELECT
p.playerId,
installationDate,
game,
level,
completionDate
FROM `project.tutorials.players` AS p
FULL OUTER JOIN `project.tutorials.levels` AS l ON p.playerId = l.playerId;
У нас появятся записи, где playerId пуст, поскольку попросили мы идентификаторы только из первой таблицы:
Читать
Как устроена виртуальная машина SQLite
SQL – концептуально странный язык. Вы пишете ваше приложение на одном языке, скажем, на JavaScript, а затем направляете базе данных команды, написанные на совершенно другом языке – SQL.
После этого база данных компилирует и оптимизирует эту команду на SQL, выполняет её и возвращает вам данные. Такой метод кажется ужасно неэффективным, но, всё-таки, ваше приложение может проделывать сотни таких операций в секунду. Просто безумие!
Смотреть статью
❓Как аналитику визуализировать данные максимально эффективно?
Покажем на открытом практическом уроке от OTUS, где вы:
- познакомитесь с основными библиотеками визуализации данных;
- рассмотрите различные типы графиков и поймете, в каких случаях стоит их использовать;
- поймете, как добавить сложные подписи на данные, как сделать несколько осей или оси различных масштабов, как сложить несколько кривых в одном отображении.
После занятия никакая фича не сможет спрятаться от вас в большом датасете!
Встречаемся 6 июня в 20:00 мск в преддверии старта курса «Python для аналитики». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!
👉 Регистрируйтесь прямо сейчас, чтобы не пропустить бесплатный урок: https://otus.pw/gb5k/
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Многомерный анализ данных: исследование многомерных кубов и SQL OLAP-запросов
Читать статью
Azure Data Studio
Azure Data Studio - это инструмент для управления базами данных и выполнения запросов к ним, который разработан компанией Microsoft для операционных систем Windows, macOS и Linux. Он является бесплатной альтернативой Microsoft SQL Server Management Studio (SSMS) и поддерживает не только SQL Server, но и другие базы данных, такие как PostgreSQL, MySQL и Azure SQL Database.
Azure Data Studio имеет более легкий интерфейс по сравнению с SSMS и может использоваться как для управления базами данных в локальной сети, так и для работы с облачными базами данных в Azure. Кроме того, Azure Data Studio обеспечивает возможность совместной работы и обмена данными с помощью Git и Jupyter Notebook.
Azure Data Studio обладает достаточно широким функционалом и возможностями, на видео представлен "Интеллектуальные фрагменты SQL кода"
OPENJSON в Microsoft SQL Server
OPENJSON - это встроенная функция в Microsoft SQL Server, которая позволяет разбирать JSON-строки на отдельные элементы. Это полезно в случае, когда необходимо проанализировать данные, хранящиеся в формате JSON.
Функция возвращает таблицу, которая содержит ключи и значения каждого элемента JSON-объекта. Можно использовать ее для выборки определенных значений, а также для фильтрации данных.
OPENJSON также может использоваться для обновления данных в таблице на основе JSON-строки.
Задача SQL
Дана пустая таблица publisher
Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а Синтаксис name имеет тип varchar(40). Какие из следующих запросов корректно отработают:1) INSERT INTO publisher (name) VALUES ('OREILLY');
2) INSERT INTO publisher (name) VALUES ('О Reilly');
3) INSERT INTO publisher (name) VALUES ('O'Reilly');
4) INSERT INTO publisher (name) VALUES ('O-Reilly');
Ответ:
1, 2, 4
#Вопросы_с_собеседования
Что такое самостоятельное присоединение?
Самосоединение настроено как запрос, используемый для сравнения с самим собой. Это используется для сравнения значений в столбце с другими значениями в том же столбце в той же таблице. ALIAS ES можно использовать для сравнения одной и той же таблицы.
Лучшие практики разработки ПО, которые помогут строить высококачественные, поддерживаемые и расширяемые системы
Изучите их на открытом практическом уроке «Domain Driven Design» от OTUS, где мы разберем:
- основные принципы DDD;
- проектирование Bounded Context;
- применение DDD в архитектуре проекта.
Спикер — опытный разработчик в одной из крупнейших российских компаний.
Встречаемся 29 мая в 20:00 мск в рамках старта большого курса «Highload Architect». Все участники вебинара получат специальную цену на обучение и консультацию от менеджеров OTUS!
➡️ Ссылка для регистрации: https://clck.ru/3AmzBt
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Вебинар «Как создавать высокопроизводительные очереди сообщений с различной архитектурой»
6 июня в 16:00 МСК на вебинаре вы узнаете, как повысить отказоустойчивость и масштабируемость ИТ-систем с помощью Tarantool Queue Enterprise — распределенной in‑memory системы очередей сообщений. Будет рассмотрен кейс применения системы очередей Tarantool Queue Enterprise как интеграционной шины в микросервисной архитектуре.
В программе:
• Как реализовать очередь сообщений с типом взаимодействия Publish/Subscribe для работы в real-time и обработки пиковых нагрузок.
• Как организовать очередь задач с типом взаимодействия Put/Take для обработки асинхронных задач.
• За счет каких технологий и инструментов повышается пропускная способность, масштабируемость и надежность очередей на базе Tarantool Queue Enterprise.
Вебинар будет полезен CTO, архитекторам и разработчикам высоконагруженных систем.
Регистрация
Подстановочные знаки (wildcards) в SQL
Подстановочный знак (wildcard) в SQL используется с оператором LIKE для замены одного или набора символов в строке. Например:
SELECT *
FROM Customers
WHERE last_name LIKE 'R%';
Здесь % (означает ноль или более символов) является подстановочным знаком (wildcard). Мы выбираем клиентов, чья фамилия (last_name) начинается с буквы R, за которой следует ноль или более символов.
Смотреть статью