Изучаем SQL с нуля По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning № 4974313625
❓Как эффективно визуализировать данные на Python?
Если вы хотите создавать современные графики на Python, вам просто необходимо знание библиотеки Matplotlib. Более того, такой скилл будет огромным плюсом на собеседованиях для позиции аналитика данных.
🔹Изучите технологию на бесплатном открытом уроке «Введение в визуализацию данных с Matplotlib» от OTUS.
Дата: 9 октября в 20:00 МСК
Урок приурочен к старту курса «Python для аналитики».
🔹Темы вебинара:
- Основы matplotlib: архитектура и интерфейсы;
- Создание базовых типов графиков: линейные, столбчатые, круговые;
- Персонализация графиков: выбор цветов, стилей и добавление легенды;
- Составные графики: работа с несколькими осями и комбинированные диаграммы;
- Эффективное использование matplotlib для представления больших объемов данных.
Продолжить обучение можно на онлайн-курсе доступном в рассрочку
👉Зарегистрироваться
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Функция CAST
Функция CAST() в MySQL преобразует значение в указанный тип данных. Это очень полезная функция, которая может помочь в решении различных задач. Например, она может быть использована для преобразования значения в DATE, DATETIME, DECIMAL, TIME, CHAR, NCHAR, SIGNED, UNSIGNED, BINARY.
Рассмотрим примеры использования функции CAST(). Предположим, у нас есть таблица с именем "products", которая содержит столбец "price". Если мы хотим преобразовать значения в столбце "price" в тип данных DECIMAL, мы можем воспользоваться функцией CAST() следующим образом:
SELECT CAST(price AS DECIMAL) FROM products;
Таким образом, мы получим значения в столбце "price", преобразованные в тип данных DECIMAL.
#вопросы_с_собеседований
Расскажите о видах индексов
Индексы - это структуры данных, которые ускоряют выполнение запросов к базе данных. Они содержат отображение значений столбцов таблицы на соответствующие строки, что позволяет быстро находить нужные данные.
1. Кластерный индекс - определяется для каждой таблицы только один. Он определяет порядок расположения строк в таблице на основе значений одного или нескольких столбцов.
2. Некластерный индекс - это индекс, который не определяет порядок строк в таблице, а существует отдельно от таблицы. Он представляет собой отображение значений одного или нескольких столбцов на соответствующие строки.
3. Уникальный индекс - уникальный индекс который гарантирует уникальность значений в столбцах, на которые он определен. На таблицу можно определить несколько уникальных индексов.
4. Полнотекстовый индекс - полнотекстовый индекс позволяет быстро искать текстовые данные, основываясь на их содержании. Он может быть определен только на столбцах типа VARCHAR, NVARCHAR и TEXT.
5. XML-индекс - используется для ускорения запросов, связанных с XML-данными. Он может быть определен только на столбцах типа XML.
Пройди тест по Базам данных 🙌
✔️Ответь на 20 вопросов и проверь свои знания. Сможешь сдать — пройдёшь на онлайн-курс "MS SQL Server Developer" по специальной цене.
Изучите MS SQL и расширьте свои карьерные возможности
Язык запросов SQL используется для работы с большими базами данных, в которых информация структурирована особым образом. Он поможет быстро извлекать нужные данные и отфильтровывать их по десяткам разных параметров, создавая более эффективные результаты.
ПРОЙТИ ТЕСТ: https://otus.pw/CJkB/
Бонус: открытый урок «Оптимизация запросов MS SQL» от OTUS. Занятие пройдёт 3 октября в 20:00 мск.
Оплата курса возможна в рассрочку.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
#вопросы_с_собеседований
Для каких числовых типов недопустимо использовать операции сложения/вычитания?
В SQL некоторые числовые типы не могут быть использованы в операциях сложения и вычитания. Это связано с тем, что эти типы не имеют определенного порядка, поэтому невозможно выполнить арифметические операции с ними.
Типы, для которых недопустимо использовать операции сложения/вычитания в SQL:
- Тип BIT - битовый тип данных, который может принимать только два значения: 0 и 1. Этот тип не поддерживает арифметические операции.
- Тип DATE - тип даты, который также не имеет определенного порядка и не может быть использован в операциях сложения/вычитания.
- Тип TIME - тип времени, который также не имеет определенного порядка и не может быть использован в операциях сложения/вычитания.
- Тип DATETIMEOFFSET - тип даты и времени с информацией о смещении относительно UTC. Этот тип также не имеет определенного порядка и не поддерживает арифметические операции.
Если вы попытаетесь выполнить операцию сложения/вычитания с одним из этих типов, SQL вернет ошибку.
Некоторые другие числовые типы, такие как FLOAT и REAL, могут быть использованы в операциях сложения/вычитания, но могут иметь проблемы с точностью из-за специфики их хранения в памяти компьютера.
Зачем инженерам и аналитикам Apache Airflow?
Apache AirFlow – open-source-инструмент, который позволяет разрабатывать, планировать и осуществлять мониторинг сложных рабочих процессов, например ETL/ELT.
Изучите эту технологию на бесплатном открытом уроке «Apache Airflow и его конкуренты» от OTUS.
На эфире мы:
- разберем работу с Apache Airflow;
- посмотрим, какие еще инструменты могут пригодиться инженерам/аналитикам данных как для повседневных выгрузок, так и для переливок громадных данных;
- затронем основные требования к такому классу инструментов;
- изучим их работу на практике.
Занятие пройдёт 3 октября в 20:00 мск в рамках курса «Data Warehouse Analyst». После бесплатного вебинара вы сможете продолжить обучение на специальных условиях.
Это отличная возможность совершенно бесплатно протестировать формат курса и задать преподавателю любые вопросы в режиме реального времени!
Пройдите бесплатное вступительное тестирование прямо сейчас и зарегистрируйтесь на событие Cсылка
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Возвращаем 0 для функции SUM если не найдено ни одного значения в MySQL
Читать полностью…Мяу-новость от «Лаборатории Касперского» 🙀
Начинается набор на оплачиваемую стажировку SafeBoard по направлению Разработка на C++. Если ты живешь в Москве или МО, учишься в вузе или школе № 21 и готов(а) работать от 20 часов в неделю, смело запрыгивай в команду и приземляйся сразу на четыре лапы в IT 🐈
Предложение для тебя, если хочешь поработать в крутой команде, которая занимается разработкой базовых компонентов, на основе которых мы строим продукты и сервисы компании.
Ты можешь учиться и работать одновременно, пользоваться спортзалом с сауной в офисе, кабинетом массажа, библиотекой, игровыми и музыкальными комнатами, прокачать навыки программирования и получить приглашение на работу в Kaspersky после стажировки.
Мы принимаем студентов любых университетов и специальностей с 1 курса. Главное — пройти тестирование и собеседование 😎
Прием заявок закончится 12 октября, успевай 🐾
Реклама. АО «ЛАБОРАТОРИЯ КАСПЕРСКОГО» ИНН: 7713140469 erid:LatgBzCsy
💉 SQL Injection Master - самый полный курс по SQL инъекциям
Старт: 9 октября
Продолжительность: 3 месяца
На курсе подробно разберём эксплуатацию SQL-инъекций, одного из наиболее распространенных и опасных видов атак на веб-приложения. Вы узнаете не только о том, как обнаруживать и эксплуатировать SQL-инъекции, но и как защитить свои веб-приложения от подобных атак.
Курс будет полезен как новичкам в сфере информационной безопасности, так и продвинутым специалистам.
🎓 В ходе обучения вы научитесь:
- Базовым навыкам работы с SQL
- Поиску уязвимостей в базах данных
- Внедрению произвольного SQL-кода в уязвимые приложения
У данного курса нет аналогов в СНГ и англоязычном пространстве.
🏆 Выдаём УПК/сертификат при успешной сдаче экзамена. Возможна оплата в рассрочку
📌 Узнать подробнее о курсе
Реклама. ООО "АКАДЕМИЯ КОДЕБАЙ". ИНН 9706020333. erid: LjN8JwbKX
⚡️Python - это мощный и универсальный язык программирования, который широко используется в аналитической работе. Он обладает множеством библиотек, которые упрощают работу с данными и делают процесс анализа более эффективным.
NumPy, Pandas, SciPy, Matplotlib и многие другие библиотеки предоставляют инструменты для работы с данными, их обработки и визуализации. Это позволяет аналитикам быстро и точно выполнять свою работу, а также создавать наглядные отчеты.
🔥Прокачать свои навыки Python можно на онлайн-курсе «Python для аналитики» в OTUS. Курс подойдёт аналитикам, маркетологам, менеджерам и начинающим Python-разработчикам. Начинаем 27 октября. Регистрируйтесь прямо сейчас по спеццене
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Использование библиотеки libpqxx для работы с SQL
Библиотека libpqxx - это C++ библиотека для работы с базами данных PostgreSQL. Она предоставляет удобный и безопасный интерфейс для выполнения SQL запросов и работы с данными.
Она является высокоуровневой библиотекой, что означает, что она абстрагирует от низкоуровневых деталей работы с базами данных, таких как создание соединения, управление транзакциями, контроль ошибок и т.д.
Библиотека libpqxx написана на C++, и поэтому ее можно использовать в любом проекте, который использует этот язык программирования.
#вопросы_с_собеседований
В базе данных есть две таблицы: TABLE1 и TABLE2. Отработает ли данный запрос или упадет с ошибкой? И объяснить, почему.
Данный запрос отработает, так как синтаксически он правильный и все поля существуют в таблице и соответствуют нужному типу данных.
Поля id, value, i, y должны быть в таблице table1 и соответствовать нужному типу данных.
Группировка выполняется по столбцу i, указанному в PARTITION BY. Сортировка выполняется по столбцу y, указанному в ORDER BY.
Функция SUM с оконной функцией OVER выполняет суммирование значения столбца value сгруппированного по столбцу i и упорядоченного по столбцу y. Также выбираются все поля.
⚡️ Друзья, мы создали новый канал по изучению C# и разработке игр на Unity.
👉 C#/Unity Learning👈
Заходите, если интересно
❓Как сочетать мощь SQL и гибкость Pandas для комплексного анализа данных?
Расскажем на практическом открытом уроке 25 сентября в 20:00 по Москве.
Преподаватель: Роман Козлов, ведущий аналитик ГКУ "Новые технологии управления"
Вебинар приурочен к онлайн-курсу "Python для аналитики"
🔸На вебинаре рассмотрим:
- Основы работы с библиотекой Pandas для анализа данных;
- Извлечение данных из SQL-базы данных прямо в Pandas DataFrame;
- Применение SQL-запросов внутри Pandas;
- Выгрузку обработанных данных из Pandas обратно в SQL;
- Примеры реальных сценариев анализа данных с использованием SQL и Pandas.
🔸В результате вебинара вы попрактикуетесь в интеграции SQL-запросов и Pandas, обработке и сохранении результатов анализа в базе данных.
Больше навыков по аналитике можно получить на курсе "Python для аналитики" от OTUS.
👉Зарегистрироваться на вебинар
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Как узнать размер файла с помощью SQL?
Вы можете узнать размер файла, используя функцию DATALENGTH. Эта функция возвращает длину выражения в байтах.
Замените [имя_столбца_с_файлом] на имя столбца, содержащего файл, [имя_таблицы] на имя таблицы, содержащей файл, а [условие] на условие выборки файлов.
Например, если у вас есть таблица Файлы с столбцом Содержимое_файла, и вы хотите узнать размер файла с id 1, обращаемся ко второй части фото.
Использование CASE WHEN в сочетании с JOIN
Комбинирование оператора CASE WHEN и JOIN может быть полезно для выполнения более сложных запросов.
Например, у нас есть две таблицы: "orders" и "customers". Таблица "orders" содержит информацию о заказах, включая идентификатор клиента. Таблица "customers" содержит информацию о клиентах, включая их идентификаторы.
1. Чтобы получить список всех заказов и имен клиентов, которые сделали эти заказы, мы можем использовать первый запрос с фото.
2. Однако, если мы хотим добавить условие, чтобы отобразить только заказы, сделанные клиентами, чьи имена начинаются с буквы "A", мы можем использовать оператор CASE WHEN для выполнения этого условия.
Таким образом, использование оператора CASE WHEN в сочетании с JOIN может быть полезно при выполнении сложных запросов, которые требуют условной логики и объединения данных из нескольких таблиц.
Приветствую всех любителей программирования на Python!
Python'er - один из лучших каналов по Python, у нас вы найдёте множество полезной информации, статей, руководств, укров и многое другое. Мы расскажем вам о лучших практиках разработки и поможем разобраться с тонкостями языка.
Не упустите возможность стать настоящим профессионалом Python! Присоединяйтесь к нашему каналу уже сегодня!
@pyth0n_er
MySQL: SQRT
Функция SQRT используется для вычисления квадратного корня из числа.
Синтаксис функции выглядит следующим образом:
SQRT(X) - Здесь X - это число, из которого нужно извлечь квадратный корень.
Функция SQRT может использоваться для вычисления квадратного корня из любого числа, в том числе отрицательного.
Применение функции SQRT
Функция SQRT может быть полезна во многих случаях. Например, вы можете использовать ее для вычисления расстояния между двумя точками на плоскости. Для этого нужно вычислить квадрат разности координат по каждой оси, затем сложить эти значения и извлечь квадратный корень из полученной суммы.
#вопросы_с_собеседований
Какие есть SQL-операторы для составления условий?
-WHERE - используется для фильтрации строк в таблице на основе заданного условия. Например:
- LIKE - используется для поиска строк, которые соответствуют заданному шаблону.
- BETWEEN - используется для выборки строк, значения которых находятся в заданном диапазоне.
- IN - используется для указания множества значений. Он возвращает результат, когда значение соответствует одному из заданных значений.
- IS NULL - оператор IS NULL используется для выборки строк с нулевым значением.
- AND - используется для объединения двух или более условий. Он возвращает результат только тогда, когда оба условия истинны.
- OR - используется для объединения двух или более условий. Он возвращает результат, когда хотя бы одно из условий истинно.
- NOT - используется для инвертирования значения условия. Он возвращает результат, когда условие ложно.
Welcome to PG BootCamp Russia!
🎊5 октября в Москве состоится первая большая практическая конференция PG-сообщества в России.
Мероприятие признано глобальным сообществом PostgreSQL и вносит непосредственный вклад в его развитие.
Вас ждут мастер-классы:
- билдь или не билдь..., или Как достойно собрать PostgreSQL из исходников;
- эксплуатация исторических уязвимостей;
- что потребуется начинающему разработчику PostgreSQL?
- сравнение GP ORCA с оптимизатором PostgreSQL на практике;
- как написать расширение PostgreSQL?
- эффективная работа с psql
🎤 Список спикеров впечатляет: Максим Милютин (Huawei RRI), Михаил Гольдберг (член комитета и председатель PostgreSQL Code of Conduct), Вадим Яценко (генеральный директор «Тантор Лабс»), Андрей Бородин (Yandex Cloud) и другие.
Зарегистрируйтесь сейчас и подготовьтесь к захватывающему путешествию в мир СУБД!
Участие в конференции бесплатное, предусмотрена онлайн-трансляция (также по предварительной регистрации).
Пейджинг данных CTE
Пейджинг данных – это процесс разбиения большого объема данных на меньшие части или страницы. Это может быть полезно при работе с большими таблицами, когда нужно извлечь данные только для определенной страницы.
CTE – это временная таблица, которая создается внутри запроса и может быть использована в других частях этого же запроса. CTE часто используется для реализации рекурсивных запросов или для улучшения читаемости и поддерживаемости запросов.
WITH Orders_CTE AS (
SELECT OrderID, CustomerID, OrderDate,
ROW_NUMBER() OVER (ORDER BY OrderDate) AS RowNumber
FROM Orders
)
SELECT OrderID, CustomerID, OrderDate
FROM Orders_CTE
WHERE RowNumber BETWEEN {start} AND {end}
- {start} – начальный номер строки
- {end} – конечный номер строки
🖥 Полезная шпаргалка по связке Python + MySQL
▪Создание БД и таблиц
▪Внесение, чтение, обновление и удаление данных
#Вопросы_с_собеседования
📚 Каким образом можно найти дублирующиеся значения в столбце таблицы?
Для поиска дублирующихся значений в столбце можно использовать операторы GROUP BY и HAVING в комбинации с функцией COUNT. Например, следующий SQL-запрос вернет все дубликаты в столбце "name" таблицы "employees».
Исключения и PDO
PDO умеет выбрасывать исключения при ошибках, поэтому все должно находиться в блоке try/catch. Сразу после создания подключения, PDO можно перевести в любой из трех режимов ошибок.
Но стоит заметить, что ошибка при попытке соединения будет всегда вызывать исключение.
PDO::ERRMODE_SILENT
Это режим по умолчанию. Примерно то же самое вы, скорее всего, используете для отлавливания ошибок в расширениях mysql и mysqli. Следующие два режима больше подходят для DRY программирования.
PDO::ERRMODE_WARNING
Этот режим вызовет стандартный Warning и позволит скрипту продолжить выполнение. Удобен при отладке.
PDO::ERRMODE_EXCEPTION
В большинстве ситуаций этот тип контроля выполнения скрипта предпочтителен. Он выбрасывает исключение, что позволяет вам ловко обрабатывать ошибки и скрывать щепетильную информацию.
В SQL-выражении есть синтаксическая ошибка, которая вызовет исключение. Мы можем записать детали ошибки в лог-файл и человеческим языком намекнуть пользователю, что что-то случилось.
Хакеры в шоке!!!
Среди них завелся бесстрашный и начал вести свой канал, где сливает все их рабочие схемы!
0.09% людей: пока что попали на канал «АнтиХакер» и больше не поведутся на дешевые разводы
Успей подписаться, пока бывшие коллеги до него не добрались!
✈️ @a_xaker
Важные моменты при сравнении record и NULL:
При использовании ROW expression в SQL и сравнении с IS NULL результат будет TRUE только в том случае, если каждый столбец содержит значение NULL. Это важно знать, чтобы избежать ошибок в своем коде.
Таким образом, при сравнении ROW expression с NULL необходимо учитывать, что результат будет зависеть от того, есть ли в каждом столбце значение NULL или нет.
#Вопросы_с_собеседования
Что такое сущности и отношения в SQL?
В SQL, сущности (или таблицы) - это коллекции данных, которые содержат информацию о конкретных объектах или событиях. Каждая сущность представляет собой набор атрибутов, которые описывают свойства объекта или события.
Отношения в SQL - это связи между сущностями. Они описывают, как данные в одной таблице связаны с данными в другой таблице. Отношения в SQL могут быть один к одному, один ко многим, многие к одному и многие ко многим.
Например, предположим, что у нас есть две таблицы:
"Клиенты" и "Заказы". Каждый клиент может иметь множество заказов, но каждый заказ может принадлежать только одному клиенту. Это описывает отношение "один ко многим" между таблицами "Клиенты" и "Заказы".
Count (1) вместо count (*)
При любой возможности выбирайте count(1) вместо count(*). Оператор count(*) принимает в расчет все столбцы таблицы для выполнения вычислений, тогда как count(1) учитывает только первый столбец.
Обратите внимание, что результат остается неизменным, будь то count (*) или count (1).
При использовании count(1) движок базы данных задействует меньше ресурсов и работает быстрее. В случае небольших таблиц эта разница будет незаметна, но если дело касается больших из них, то данный фактор существенно отразится на производительности запросов.