Друзья, Новый год — долгожданный и радостный праздник для каждого. 🎄 Спасибо за то, что развиваетесь вместе с нами. Мы будем рады вашим успехам в программировании в Новом году! 🏆
А чтобы ваши стремления приводили к успеху, мы решили сделать подарок в виде скидок на наши курсы.🎁
Промокод HOHOHO дает скидку🚩 🚩 🚩 при покупке всех курсов через наш официальный сайт.
А если вы хотите получить промокод на бо́льшую скидку, предлагаем напрячь 🧠 и решить задачу. Мы знаем, вы любите это дело!
Задача. Санта очень любит играть с числами. Он задумал посчитать сумму всех цифр в числах от
Скидка🚩 🚩 🚩 : решите задачу Санты для
Скидка🚩 🚩 🚩 : решите задачу Санты для
Ответы на задачи и являются промокодами на скидку.🚩
🌚 🌚 🌚 🌚 Покупайте курсы сейчас, не ждите ежегодного повышения цен. Доступ к курсам не ограничен по времени: вы можете купить их сейчас, а пройти — когда вам будет удобно. Количество промокодов ограничено⏳
Это последняя большая распродажа — не пропустите! 🎅
UPD:❗️ все промокоды на скидки закончились❗️
#распродажа #скидка #поколение #профи #ооп #sql
А чтобы ваши стремления приводили к успеху, мы решили сделать подарок в виде скидок на наши курсы.
Промокод HOHOHO дает скидку
А если вы хотите получить промокод на бо́льшую скидку, предлагаем напрячь 🧠 и решить задачу. Мы знаем, вы любите это дело!
Задача. Санта очень любит играть с числами. Он задумал посчитать сумму всех цифр в числах от
1
до 10**n
(10
в степени n
). При n = 2
он легко посчитал нужную сумму: 1 + 2 + 3 + … + (9 + 9) + (1 + 0 + 0) = 901
. Скидка
n = 8
, то есть посчитайте сумму цифр во всех числах от 1
до 100 000 000
. Скидка
n = 18
, то есть посчитайте сумму цифр во всех числах от 1
до 1 000 000 000 000 000 000
.Ответы на задачи и являются промокодами на скидку.
UPD:
#распродажа #скидка #поколение #профи #ооп #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍72🔥17❤13😁5🎉4👀4💋3😍2🎄2🥰1🆒1
Друзья, спешим сообщить, что сегодня открылись все модули нашего нового курса "Поколение Python": базы данных и SQL для начинающих. 🖥
Пройдя курс, вы научитесь:
✔️ извлекать информацию из таблиц с помощью SQL-запросов
✔️ добавлять в таблицы новые данные
✔️ удалять и изменять данные в таблицах
✔️ фильтровать данные с помощью
✔️ выполнять агрегацию данных с помощью
✔️ соединять таблицы с помощью
✔️ объединять таблицы с помощью
✔️ работать с функциями для обработки чисел, дат и текста
✔️ вычислять среднее, минимальное и максимальное значения с помощью функций
✔️ использовать вложенные SQL-запросы
✔️ использовать общие табличные выражения CTE
✔️ создавать пользовательские функции и хранимые процедуры
⭐️ Мы добавили новые уроки на рекурсивные CTE, чтобы вам было нескучно. В новых уроках есть как несложные задачи по типу вычисления факториала, так и весьма интересные — на обработку деревьев.
⭐️ Мы добавили два mock-собеседования (экзамен на время), чтобы вы могли проверить свои знания по SQL.
‼️ ‼️ ‼️ ❗️ Многие наши студенты попросили добавить еще одну важную тему в этот курс, и мы решили это сделать. В ближайшем будущем в курсе появится новый модуль, который будет особенно полезен при прохождении собеседований. Как думаете, о чем будут новые уроки? Пишите в комментариях.
Купить наши курсы можно на нашем официальном сайте.
Все актуальные скидки доступны на странице.
#sql #поколениеpython
Пройдя курс, вы научитесь:
WHERE
и HAVING
GROUP BY
JOIN
UNION
AVG, MIN, MAX
Купить наши курсы можно на нашем официальном сайте.
Все актуальные скидки доступны на странице.
#sql #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥99👍26❤23🗿5👾5🤯4😁2💋1👨💻1 1 1
Друзья, в честь праздника мужества мы принесли вам скидки на наши платные курсы на 🚩 🚩 🚩 и 🚩 🚩 🚩 .
Чтобы получить промокоды на скидку, предлагаем напрячь 🧠 и решить задачи. Мы знаем, вы любите это дело!
💡Задача на скидку 23%. Два числа, не оканчивающиеся на ноль, при умножении дают миллион, то есть
💡Задача на скидку 32%. На стандартной шахматной доске размером
Ответ на задачу и является промокодом на скидку.🚩
🌚 🌚 🌚 🌚 Покупайте курсы сейчас, не ждите повышения цен, которое будет совсем скоро. Доступ к курсам не ограничен по времени: вы можете купить их сейчас, а пройти — когда вам будет удобно. Промокоды действуют до 29 февраля.⏳
Промокоды действуют на нашем официальном сайте.
🏆 Если вдруг вы уже купили все наши курсы, то просто порешайте задачи. Они интересные!
#задача #скидка #профи #ооп #sql
Чтобы получить промокоды на скидку, предлагаем напрячь 🧠 и решить задачи. Мы знаем, вы любите это дело!
💡Задача на скидку 23%. Два числа, не оканчивающиеся на ноль, при умножении дают миллион, то есть
10⁶
. Чему равна сумма этих чисел?💡Задача на скидку 32%. На стандартной шахматной доске размером
8×8
есть 204
квадрата различного размера: 1×1
, 2×2
, ..., 8×8
. А сколько всего квадратов на шахматной доске размером 10⁶×10⁶
?Ответ на задачу и является промокодом на скидку.
Промокоды действуют на нашем официальном сайте.
🏆 Если вдруг вы уже купили все наши курсы, то просто порешайте задачи. Они интересные!
#задача #скидка #профи #ооп #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥63👍26 18❤7🤔7👏3👨💻3👀2⚡1🎉1🆒1
Друзья, многие просили добавить оконные функции в новый курс по SQL. И мы прислушались к вашей просьбе! 😎
Нам потребовалось около двух месяцев, чтобы это сделать. Новый модуль включает 7 уроков, содержащих самую необходимую информацию по оконным функциям. В нем🚩 🚩 🚩 задач, из которых 🚩 🚩 — на написание SQL-запросов. Получилось очень информативно и практично. Модуль доступен для прохождения.
SQL нужен всем. 🔥 Огромное количество задач в нашем курсе делает его полезным даже для тех, кто уже знаком с этой темой.
‼️ ‼️ ‼️ ❗️ Покупайте курс до ежегодного повышения цен, которое будет уже совсем скоро!
⭐️ Решите задачу и получите промокод на скидку 30%.
Задача. Назовем число строго возрастающим, если каждая его цифра при чтении слева направо больше предыдущей. Например, числа 29, 125, 3489, 23789 — возрастающие, в то время как числа 122, 1435, 65397 — нет. Сколько существует пятизначных строго возрастающих чисел?
Ответ на задачу и является промокодом, который действует при покупке любого курса на нашем сайте. Скидка действует два дня, до 10 апреля. Успевайте купить курсы по выгодной цене! ❤️
#поколениеpython #sql #интеллектуальнаяраспродажа #скидка
Нам потребовалось около двух месяцев, чтобы это сделать. Новый модуль включает 7 уроков, содержащих самую необходимую информацию по оконным функциям. В нем
SQL нужен всем. 🔥 Огромное количество задач в нашем курсе делает его полезным даже для тех, кто уже знаком с этой темой.
Задача. Назовем число строго возрастающим, если каждая его цифра при чтении слева направо больше предыдущей. Например, числа 29, 125, 3489, 23789 — возрастающие, в то время как числа 122, 1435, 65397 — нет. Сколько существует пятизначных строго возрастающих чисел?
Ответ на задачу и является промокодом, который действует при покупке любого курса на нашем сайте. Скидка действует два дня, до 10 апреля. Успевайте купить курсы по выгодной цене! ❤️
#поколениеpython #sql #интеллектуальнаяраспродажа #скидка
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥103👍41❤19👾5 4🤩2🆒2🤯1💋1🤝1 1
Друзья, нам написали из Банка России. 😱 Хотят рассмотреть наших студентов на позицию бизнес-аналитика со знанием Python и SQL.
Сотрудник будет отвечать за создание, разработку и поддержку сложных аналитических отчетов, используя передовые технологии и методы обработки данных.
Обязанности:
🟢 разработка и поддержка аналитических отчетов на Python, в том числе разработка алгоритмов построения и выводных форм
🟢 интеграция с различными источниками данных, такими как базы данных, API, файлы
🟢 анализ и обработка данных, подготовка, очистка и нормализация данных
🟢 разработка витрин данных для генерации отчетов
🟢 участие в разработке функциональных требований для развития целевых программных продуктов Банка России
Требования:
✔️ знание Python, основ работы с базами данных и SQL
✔️ навыки разработки аналитических отчетов и визуализации данных
✔️ умение работать с большими объемами данных
✔️ умение работать в команде и соблюдать сроки выполнения задач
✔️ высшее образование: информатика и вычислительная техника, физико-математические науки, автоматика и управление, экономика и управление
Работа в Москве, м. Октябрьская.
⭐️ Опыт работы в данной сфере не требуется, работодатель поможет с дообучением.
📌 Если вас заинтересовала эта работа, отправляйте анкету по адресу электронной почты svc_it_ddipdfo@cbr.ru.
Ставьте ❤️ посту, пусть специалист найдется среди наших студентов.
#вакансия #поколениеpython #sql
Сотрудник будет отвечать за создание, разработку и поддержку сложных аналитических отчетов, используя передовые технологии и методы обработки данных.
Обязанности:
Требования:
Работа в Москве, м. Октябрьская.
Ставьте ❤️ посту, пусть специалист найдется среди наших студентов.
#вакансия #поколениеpython #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
❤259🔥43👍12❤🔥6🤝5😱4⚡2🥰2👀2😎2💯1
Друзья, мы продолжаем улучшать наши курсы!
На этот раз расскажем об обновлениях в курсе "Базы данных и SQL для начинающих".🖥
✨ ЧТО ПОМЕНЯЛОСЬ:
1️⃣ Уроки по фильтрации данных
Улучшили и актуализировали теоретический материал.
2️⃣ Урок по вычисляемым полям
Улучшили теоретический материал.
3️⃣ Урок по условному оператору CASE
Улучшили теоретический материал и добавили больше примеров использования оператора.
4️⃣ Урок по триггерам и представлениям
Добавили новые задачи. ⚡️
5️⃣ Урок по группировке данных
Улучшили теоретический материал.
6️⃣ Урок по внешнему соединению
Улучшили теоретический материал.
7️⃣ Урок по обновлению данных в таблицах
Улучшили теоретический материал.
8️⃣ Урок по добавлению данных в таблицы
Улучшили описание тестовых задач.
9️⃣ Урок по подзапросам
Добавили теорию про оператор
Ставь реакцию:
❤️ — если уже прошел курс для SQL
😎 — если проходишь или планируешь его пройти
📌 Хотим поблагодарить наших студентов за конструктивные предложения по доработке курсов! Благодаря вам мы делаем курсы "Поколения" еще лучше.
#поколениеpython #sql
На этот раз расскажем об обновлениях в курсе "Базы данных и SQL для начинающих".
Улучшили и актуализировали теоретический материал.
Улучшили теоретический материал.
Улучшили теоретический материал и добавили больше примеров использования оператора.
Добавили новые задачи. ⚡️
Улучшили теоретический материал.
Улучшили теоретический материал.
Улучшили теоретический материал.
Улучшили описание тестовых задач.
Добавили теорию про оператор
EXISTS
и тестовые вопросы по этой теме.Ставь реакцию:
❤️ — если уже прошел курс для SQL
😎 — если проходишь или планируешь его пройти
#поколениеpython #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
😎180❤58🔥10👍7 7👨💻3✍2😱2🆒2
Друзья, отличные новости! Мы дополнили и улучшили наш последний на сегодня курс "Базы данных и SQL для начинающих". 😎
🐝 ЧТО ИЗМЕНИЛОСЬ 🐝
1️⃣ добавили целый модуль по регулярным выражениям
2️⃣ добавили новый урок по индексам
3️⃣ внесли несколько улучшений в теорию и задачи
Улучшения курсов становятся возможны благодаря отзывам наших студентов. Спасибо за ваши идеи и предложения!😍
📌 Напоминаем, что оставить отзыв на курс по SQL можно по ссылке. Это станет замечательным подарком для всей команды "Поколения"!
Новые уроки уже доступны.✨ Вы можете начать проходить их прямо сейчас. Купить курс по SQL и базам данных можно по ссылке.
Оценка курса на Stepik — ⭐️⭐️⭐️⭐️⭐️. Очень гордимся нашей работой и вашим доверием!💗
🔝 🔝 🔝 Отдельное спасибо Михаилу Крыжановскому за обратную связь по курсу. Почитайте его развернутый отзыв. И кстати, подписывайтесь на канал Миши "Стать специалистом по машинному обучению", там много полезного!
‼️ ‼️ ‼️ ❗️ Промокод SQLMASTER (действует до 14 ноября) дает скидку 30% на покупку курса по SQL и базам данных через наш сайт pygen.ru.
Ставьте реакцию:
🔥 — если уже прошли или проходите курс по SQL
👀 — если планируете его пройти
#sql #поколениеpython
Улучшения курсов становятся возможны благодаря отзывам наших студентов. Спасибо за ваши идеи и предложения!
Новые уроки уже доступны.
Оценка курса на Stepik — ⭐️⭐️⭐️⭐️⭐️. Очень гордимся нашей работой и вашим доверием!
Ставьте реакцию:
🔥 — если уже прошли или проходите курс по SQL
👀 — если планируете его пройти
#sql #поколениеpython
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥73👀71👍17❤10 7😁1🤩1🌚1😎1
Друзья, а вот и она — последняя распродажа уходящего года! 😍
🎁 Чтобы вам было легче врываться в новый год с новыми планами, даем скидку 🚩 🚩 🚩 на курсы для профессионалов, ООП и SQL.
Напоминаем важные подробности:
❄️ можно купить курс сейчас, а пройти — когда появится время
❄️ курсы можно дарить, это быстро и удобно
❄️ вложения в саморазвитие всегда окупаются 🔥
Спасибо за то, что учитесь и растете над собой вместе с нами! Мы будем рады вашим успехам в программировании в новом году! 🏆
💵 💵 💵 💵 действует по промокоду 😉
Ставьте реакцию:
❤️ — если ждали последнюю распродажу
😎 — если уже купили все курсы
#распродажа #скидка #поколение #профи #ооп #sql
Напоминаем важные подробности:
❄️ можно купить курс сейчас, а пройти — когда появится время
❄️ курсы можно дарить, это быстро и удобно
❄️ вложения в саморазвитие всегда окупаются 🔥
Спасибо за то, что учитесь и растете над собой вместе с нами! Мы будем рады вашим успехам в программировании в новом году! 🏆
НОВЫЙГОД
при покупке курсов через наш официальный сайт. Промокод активен до конца года. Ставьте реакцию:
❤️ — если ждали последнюю распродажу
😎 — если уже купили все курсы
#распродажа #скидка #поколение #профи #ооп #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
54😎38❤30🔥10👍6 4🆒2🤷♀1🥰1🏆1👨💻1 1
Друзья, продолжаем радовать вас подарками ко дню рождения Python! 😎
Поскольку языку программирования Python в этом году исполняется 34 года, мы делаем скидку 34% при покупке наших платных курсов:
🔘 курс для профессионалов
🔘 курс по ООП
🔘 курс по базам данных и SQL
😮 Вместо 6900 рублей цена за курс составит всего 4500 рублей!
🚨 🚨 ⚠️ 🚨 ☝️ Чтобы получить скидку, купите курс через наш официальный сайт и введите промокод PYTHON34.
☝️ ☝️ ☝️ ☝️ Промокод можно активировать только 0️⃣ раз, поэтому не откладывайте покупку! Если у вас не получилось активировать промокод, значит, активации уже закончились. 😥
Ставьте реакцию:
🔥 — если планируете отметить день рождения Python
👀 — если ваш способ отметить — пройти пару уроков в курсе
#поколениеpython #скидки #акция #ооп #sql #профи
Поскольку языку программирования Python в этом году исполняется 34 года, мы делаем скидку 34% при покупке наших платных курсов:
Ставьте реакцию:
🔥 — если планируете отметить день рождения Python
👀 — если ваш способ отметить — пройти пару уроков в курсе
#поколениеpython #скидки #акция #ооп #sql #профи
Please open Telegram to view this post
VIEW IN TELEGRAM
24👀50🔥15 7🙊4❤3✍1👍1👏1🤩1🆒1 1
Друзья, сегодня поговорим о способах извлечения данных из баз данных. 😉
Задачи, которые приходится выполнять с базой данных, чаще всего сводятся к извлечению из нее информации. Это может быть получение конкретной записи или нескольких записей, удовлетворяющих определенным условиям.
🔖 За все задачи, связанные с извлечением данных, отвечает всего один оператор —
Чтобы при помощи оператора
📎 Простейший запрос, который извлекает все записи одного поля таблицы, схематично можно представить так:
Имя извлекаемого поля указывается после оператора
📎 Для извлечения нескольких полей после оператора
📎 Помимо извлечения конкретных полей с помощью оператора
Несмотря на то что групповой символ помогает сэкономить время, необходимое для перечисления всех нужных полей, используется он не так часто, так как извлечение ненужных полей обычно приводит к снижению производительности запроса. Однако есть одно преимущество в использовании группового символа: поскольку нет необходимости указывать точные имена полей, появляется возможность извлечь поля, имена которых неизвестны.
📎 При извлечении полей возвращаются все значения, содержащиеся в этих полях. Если извлекаемое поле содержит повторяющиеся значения, в результирующей таблице они также будут повторяться. Для извлечения уникальных записей используется оператор
Если извлекаются несколько полей, то оператор
Ставьте реакцию:
❤️ — если знали способы извлечения данных из баз данных
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Задачи, которые приходится выполнять с базой данных, чаще всего сводятся к извлечению из нее информации. Это может быть получение конкретной записи или нескольких записей, удовлетворяющих определенным условиям.
SELECT
.Чтобы при помощи оператора
SELECT
извлечь данные из базы, нужно указать как минимум две вещи: что именно нужно извлечь и откуда. SELECT <имя поля>
FROM <имя таблицы>;
Имя извлекаемого поля указывается после оператора
SELECT
, а оператор FROM
указывает на таблицу, из которой извлекается поле.SELECT
необходимо через запятую перечислить их имена. При этом поля возвращаются в том порядке, в котором они указаны:SELECT <имя первого поля>,
<имя второго поля>, ...
FROM <имя таблицы>;
SELECT
можно запросить все поля, не указывая каждое из них. Для этого вместо имен полей следует указать специальный групповой символ *
:SELECT
*
FROM <имя таблицы>;
Несмотря на то что групповой символ помогает сэкономить время, необходимое для перечисления всех нужных полей, используется он не так часто, так как извлечение ненужных полей обычно приводит к снижению производительности запроса. Однако есть одно преимущество в использовании группового символа: поскольку нет необходимости указывать точные имена полей, появляется возможность извлечь поля, имена которых неизвестны.
DISTINCT
, который указывается перед именем поля:SELECT DISTINCT
<имя поля>
FROM <имя таблицы>;
Если извлекаются несколько полей, то оператор
DISTINCT
применяется сразу ко всем перечисленным полям.Ставьте реакцию:
❤️ — если знали способы извлечения данных из баз данных
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
❤151👀64👍10✍7 5👨💻3🆒3🙈2🏆1
Друзья, сегодня поговорим об операторе
❤️ Нередко при извлечении данных возникает необходимость получить их в определенном упорядоченном виде. В SQL для сортировки данных используется оператор
❤️ Чтобы извлечь данные из базы данных в отсортированном виде, необходимо после операторов
Схематично запрос с сортировкой извлекаемых данных можно представить так:
Сортировка может выполняться и по тем полям, которые не попадают в итоговую таблицу:
❤️ По умолчанию оператор
Для сортировки по возрастанию предусмотрено ключевое слово
❤️ Вместо имен полей после оператора
🤑 🤑 🤑 🤑 В честь 3000 студентов и 300 отзывов на нашем курсе по SQL и базам данных дарим скидку 33% на него по промокоду SQL при покупке через сайт "Поколения". Стоимость составит 4 623 рубля вместо 6900 рублей.
Ставьте реакцию:
🔥 — если знали об операторе
👀 — если слышите о нем впервые
#поколениеpython #базыданных #sql
ORDER BY
в SQL. ORDER BY
.SELECT
и FROM
указать оператор ORDER BY
и название одного или нескольких полей, по которым необходимо осуществить сортировку. Схематично запрос с сортировкой извлекаемых данных можно представить так:
SELECT <поле 1>, <поле 2>, ...
FROM <имя таблицы>
ORDER BY
<поле 1>, <поле 2>, ...
Сортировка может выполняться и по тем полям, которые не попадают в итоговую таблицу:
SELECT <поле 1>, <поле 2>
FROM <имя таблицы>
ORDER BY
<поле 3>
ORDER BY
выполняет сортировку по возрастанию. Чтобы осуществить сортировку по убыванию, необходимо после имени поля, по которому сортируются данные, указать ключевое слово DESC
:SELECT <поле 1>, <поле 2>
FROM <имя таблицы>
ORDER BY
<поле 3> DESC
Для сортировки по возрастанию предусмотрено ключевое слово
ASC
, использовать которое необязательно.ORDER BY
можно указывать их порядковые номера. Однако сортировка таким методом возможна только по тем полям, которые присутствуют в итоговой таблице. Нумерация полей начинается с единицы:SELECT <поле 1>, <поле 2>
FROM <имя таблицы>
ORDER BY
1, 2
Ставьте реакцию:
🔥 — если знали об операторе
ORDER BY
в SQL👀 — если слышите о нем впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥140👀35🥰7👍6❤5🍾2🙈2✍1👏1💯1 1
Друзья, сегодня поговорим об агрегатных функциях в SQL. 😌
❤️ Нередко при извлечении данных из базы данных бывает необходимо выполнить с ними определенные вычисления, например, определить сумму возвращенных значений или найти среди них минимальное. В SQL для этого предусмотрены агрегатные функции.
❤️ Агрегатные функции — это функции, которые выполняют вычисления на наборе значений и возвращают одиночное значение. Наиболее часто используются следующие агрегатные функции:
🔠
🔠
🔠
🔠
🔠
❤️ В общем виде запрос с применением агрегатной функции можно представить следующим образом:
😉 Запросы с агрегатными функциями часто используются для анализа данных и создания различных отчетов.
Почитать подробнее об агрегатных функциях можно по ссылке.
Ставьте реакцию:
🔥 — если знали об агрегатных функциях
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
AVG()
— вычисляет среднее арифметическое числовых значений поляCOUNT()
— вычисляет количество записей в таблице или количество значений в полеMIN()
и MAX()
— выполняют поиск минимального и максимального значений поля соответственноSUM()
— вычисляет сумму числовых значений поляGROUP_CONCAT()
— используется для перечисления значений поля через запятуюSELECT функция(<имя поля>) AS <имя итогового поля>
FROM <имя таблицы>
Почитать подробнее об агрегатных функциях можно по ссылке.
Ставьте реакцию:
🔥 — если знали об агрегатных функциях
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥106👀30👍7 7❤3 3😱1👾1
Друзья, сегодня поговорим о группировке данных в SQL. 😌
📎 Группа в SQL — это набор записей, которые определенным образом связаны друг с другом. Создание групп выполняется с помощью оператора
📎 Предположим, что наша база данных содержит таблицу
Часть запроса
📎 После оператора
Группировка по нескольким полям позволяет распределять данные более строго. Например, рассмотренные ранее песни мы можем разбить на группы не только по исполнителям, но и по альбомам:
📎 При использовании группировки для извлечения доступен ограниченный объем данных:
🟢 поля группировки
🟢 результаты агрегатных функций
🟢 константы
✔️ Наиболее полезными являются поля группировки и результаты агрегатных функций, так как первые характеризуют каждую группу и позволяют отличить одну группу от другой, а благодаря вторым появляется возможность выполнять различные манипуляции с группами.
Ставьте реакцию:
🔥 — если знали об операторе
👀 — если слышите о нем впервые
#поколениеpython #базыданных #sql
GROUP BY
, после которого указывается название поля, определяющего принцип группировки. Так, две записи попадают в одну группу, если их значения поля, указанного после оператора GROUP BY
, совпадают.Songs
, включающую информацию об артистах, исполняемых ими песнях, а также альбомах, на которых эти песни вышли. Если нам потребуется вычислить количество песен, принадлежащих каждому исполнителю, то мы можем написать следующий запрос с группировкой:SELECT artist,
COUNT(*) AS num_of_songs
FROM Songs
GROUP BY artist;
Часть запроса
GROUP BY artist
говорит о том, что записи при извлечении должны быть сгруппированы по полю artist
, в результате чего в части запроса SELECT artist, COUNT(*) AS num_of_songs
выполняется работа не со всеми записями из таблицы, а с определенной группой записей. Таким образом, для каждой группы определяются значения полей artist
и num_of_songs
, первое из которых содержит название исполнителя, второе — количество записей в группе, что соответствует количеству песен исполнителя.GROUP BY
можно указывать несколько полей. В таком случае группировка будет выполняться по всем перечисленным полям. Другими словами, две записи попадут в одну группу, если их значения по всем полям, указанным после оператора GROUP BY
, совпадают.Группировка по нескольким полям позволяет распределять данные более строго. Например, рассмотренные ранее песни мы можем разбить на группы не только по исполнителям, но и по альбомам:
SELECT artist, album,
COUNT(*) AS num_of_songs
FROM Songs
GROUP BY artist, album;
Ставьте реакцию:
🔥 — если знали об операторе
GROUP BY
👀 — если слышите о нем впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥99👀22👍8❤7 7💯3 3😁1😱1💋1👾1
Друзья, у нас отличные новости: запускаем весеннюю распродажу платных курсов! 😍
💚 До 2 июня дарим скидку более 2000 рублей на любой платный курс!
➡️ Стоимость курса со скидкой — 4790 рублей вместо 6900.
🌟 Помните, что курс можно купить сейчас, а пройти в любое удобное для вас время (например, в летнем отпуске 😄 ).
⚠️ Кроме того, мы сделали дополнительную скидку на пакеты курсов, которые доступны по ссылке. Теперь вы сами можете выбрать курсы, которые купите пакетом! Доступны пакеты из 2, 3 и 4 курсов сразу.
☝️ ☝️ ☝️ ☝️ Со скидками весенней распродажи не суммируются другие наши скидки (для студентов, для учителей и так далее). Скидка по распродаже — максимальная из доступных.
💵 💵 💵 💵 действует при покупке курсов через наш официальный сайт. 😉
Ставьте реакцию:
🔥 — если планируете учиться летом
❤️ — если будете отдыхать
👀 — если придется работать
#поколениеpython #акция #распродажа #ооп #профи #sql #алгоритмы
Ставьте реакцию:
🔥 — если планируете учиться летом
❤️ — если будете отдыхать
👀 — если придется работать
#поколениеpython #акция #распродажа #ооп #профи #sql #алгоритмы
Please open Telegram to view this post
VIEW IN TELEGRAM
55🔥72👀18❤13👍3 3💋2❤🔥1🥰1👏1 1
Друзья, сегодня поговорим о первичных и внешних ключах в реляционных базах данных. 🖥
✔️ Первичный ключ (Primary Key) — это уникальный идентификатор записи в таблице. Первичный ключ, состоящий из одного поля, называют простым, а из нескольких полей — составным.
Также первичные ключи подразделяют на суррогатные и естественные:
🟢 суррогатные первичные ключи создаются специально для идентификации записей таблицы, их значения не имеют прямого отношения к самим данным. К суррогатным ключам относятся, например, числовые id записей
🟢 естественные первичные ключи непосредственно связаны с реальными данными. Например, в таблице, хранящей данные людей, естественным ключом может выступать поле, содержащее номер паспорта человека
✔️ Внешний ключ (Foreign Key) — это столбец или набор столбцов в одной таблице, который ссылается на первичный ключ в другой таблице. Внешний ключ используется для установления связей между таблицами.
Внешние ключи могут ссылаться на первичный ключ не только другой таблицы, но и той, в которой находится сам внешний ключ. Такие внешние ключи называют рекурсивным. Они используются для установления связей между разными записями в одной и той же таблице.
☝️ ☝️ ☝️ ☝️ Подробно о ключах рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали о первичных и внешних ключах
👀 — если слышите эти понятия впервые
#поколениеpython #базыданных #sql
Также первичные ключи подразделяют на суррогатные и естественные:
Внешние ключи могут ссылаться на первичный ключ не только другой таблицы, но и той, в которой находится сам внешний ключ. Такие внешние ключи называют рекурсивным. Они используются для установления связей между разными записями в одной и той же таблице.
Ставьте реакцию:
🔥 — если знали о первичных и внешних ключах
👀 — если слышите эти понятия впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
2🔥72👀42❤13 4❤🔥3 2👏1🫡1👾1
Друзья, сегодня поговорим о видах связей между таблицами в реляционных базах данных. 😉
🤩 Основной идеей реляционной модели хранения данных является разбиение информации по тематическим таблицам и установление связей между этими таблицами с помощью первичных и внешних ключей.
🤩 Выделяют три вида связей между таблицами:
🔢 Связь "один к одному" предполагает, что каждая запись в одной таблице связана с одной записью в другой таблице. Это означает, что одна запись в первой таблице имеет только одну соответствующую ей запись во второй таблице и наоборот.
🔢 Связь "один ко многим" предполагает, что одна запись в одной таблице связана с несколькими записями в другой таблице. Это означает, что у одной записи в первой таблице может быть несколько соответствующих ей записей во второй таблице, но каждая запись во второй таблице может быть связана только с одной записью в первой таблице.
🔢 Связь "многие ко многим" предполагает, что несколько записей в одной таблице могут быть связаны с несколькими записями в другой таблице. Это означает, что у одной записи в первой таблице может быть множество соответствующих записей во второй таблице и наоборот.
🤩 Выбор типа связи между таблицами зависит от структуры данных и бизнес-логики. Правильное использование связей обеспечивает целостность данных и упрощает запросы к базе данных.
⏰ ⏰ ⏰ ⏰ ⏰ ⏰ ⏰ Подробно о связях между таблицами рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали о видах связей между таблицами
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Ставьте реакцию:
🔥 — если знали о видах связей между таблицами
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76👀21👨💻8 6❤2 2👏1👾1
Друзья, сегодня поговорим про объединение результатов запросов в языке SQL. 😌
❤️ Одной из возможностей SQL является объединение нескольких результатов запросов в один результирующий набор. Для этого используется оператор
Схематично объединение двух результатов запросов можно представить следующим образом:
😉 Запрос, который объединяет результаты выполнения нескольких запросов, называют комбинированным.
❤️ Чтобы объединить результаты произвольного количества запросов, а не только двух, необходимо указать оператор
❤️ При использовании оператора
❤️ Названия полей в объединяемых результатах запросов необязательно должны быть одинаковыми, поскольку в качестве итоговых названий полей используются названия самого первого результата запроса.
❤️ Типы значений в соответствующих полях объединяемых результатов запросов могут быть различными, однако объединять рекомендуется только однотипные результаты.
🚨 🚨 ⚠️ 🚨 ☝️ Подробно об операторе UNION рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали об операторе
👀 — если слышите о нем впервые
#поколениеpython #базыданных #sql
UNION
. Он указывается между запросами, результаты которых нужно объединить.Схематично объединение двух результатов запросов можно представить следующим образом:
SELECT <имя поля 1>, <имя поля 2>
FROM <имя таблицы 1>
UNION
SELECT <имя поля 1>, <имя поля 2>
FROM <имя таблицы 2>
UNION
между всеми запросами, результаты которых требуют объединения.UNION
объединяемые результаты запросов обязательно должны иметь одинаковое количество полей, в противном случае произойдет ошибка.Ставьте реакцию:
🔥 — если знали об операторе
UNION
в SQL👀 — если слышите о нем впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
10🔥58👀32❤11✍3👍1
Друзья, принесли вам новое слово недели! Сегодня поговорим про индексы баз данных. 😉
Индексы позволяют быстро находить нужные записи таблицы на основе значений одного или нескольких полей. Без индексов поиск данных в больших таблицах может быть медленным и ресурсоемким, поскольку подразумевает просмотр всей таблицы от первой записи до последней.
Существует два основных типа индексов.
✅ Кластеризованный индекс:
🌱 хранит записи таблицы, отсортированные по их ключевым значениям (это поля таблицы, включенные в определение индекса — как правило, первичный ключ). Существует только один кластеризованный индекс для каждой таблицы, так как записи могут храниться в единственном порядке
🌱 организует физический порядок хранения записей таблиц. То есть записи, имеющие близкие ключевые значения, также будут близко расположены в памяти. Это обеспечивает быстрый бинарный поиск записей по значениям первичного ключа, особенно по диапазонным значениям
☝️ ☝️ ☝️ ☝️ Плотное хранение записей является как преимуществом, так и недостатком. Например, добавление новых записей или обновление существующих может потребовать переупорядочивания данных, что может быть затратно по времени.
✅ Некластеризованный индекс:
🔵 представляет собой структуру данных, которая содержит уникальные значения поля таблицы, указанного в качестве индекса. Каждое значение некластеризованного индекса связано со всеми записями таблицы, которые имеют такое же значение в индексированном поле
🔵 для дополнительной эффективности хранит значения индексированного поля в упорядоченном виде
🔵 хранится отдельно от таблицы в качестве самостоятельного объекта и содержит лишь значения индексированного поля и ссылки на соответствующие записи. Это означает, что данные таблицы могут быть организованы на диске в произвольном порядке, но некластеризованный индекс все равно позволит эффективно находить нужные записи.
🔖 Основная идея некластеризованного индекса состоит в том, чтобы создать вспомогательную структуру данных, связанную с некоторым полем таблицы и ее записями, которая обеспечит быстрый поиск и сортировку записей таблицы по данному полю.
🚨 🚨 ⚠️ 🚨 ☝️ Подробно об индексах рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали, про индексы
👀 — если слышите о них впервые
🔝 🔝 🔝 Сохраняйте пост в избранное, точно пригодится! ✍🏻
#словонедели #sql #индексы
Индексы позволяют быстро находить нужные записи таблицы на основе значений одного или нескольких полей. Без индексов поиск данных в больших таблицах может быть медленным и ресурсоемким, поскольку подразумевает просмотр всей таблицы от первой записи до последней.
Существует два основных типа индексов.
✅ Кластеризованный индекс:
✅ Некластеризованный индекс:
Ставьте реакцию:
🔥 — если знали, про индексы
👀 — если слышите о них впервые
#словонедели #sql #индексы
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥56👀20❤🔥7❤6👨💻3✍2 2 2👻1 1
Друзья, сегодня поговорим о видах соединений таблиц в SQL.
📎 Соединение таблиц (JOIN) — это операция объединения двух таблиц в одну таблицу согласно определенному правилу. Таблица, получаемая в результате соединения, включает все поля соединяемых таблиц, что значительно упрощает работу с исходными данными, поскольку вся необходимая информация автоматически собирается вместе и предоставляется в виде одной таблицы.
📎 Существуют следующие виды соединений:
✔️ Внутреннее соединение — отбираются все пары записей двух таблиц, для которых выполняется условие соединения. Если записи невозможно поставить в пару запись из другой таблицы так, чтобы условие соединения выполнялось, запись будет отброшена.
Внутреннее соединение выполняется с помощью оператора
✔️ Внешнее соединение бывает двух видов:
🟢 Левое внешнее соединение — отбираются все пары записей двух таблиц, для которых выполняется условие соединения, а также все оставшиеся записи из левой таблицы, для которых пара не нашлась.
Левое внешнее соединение выполняется с помощью оператора
🟢 Правое внешнее соединение — отбираются все пары записей двух таблиц, для которых выполняется условие соединения, а также все оставшиеся записи из правой таблицы, для которых пара не нашлась.
Правое внешнее соединение выполняется с помощью оператора
При внешнем соединении записям без пары в соответствие ставятся значения
✔️ Перекрестное соединение — каждая запись из одной таблицы сопоставляется с каждой записью из другой таблицы. При этом условие соединения не требуется, поскольку сопоставление записей выполняется не по какому-либо правилу, а перебором всех возможных комбинаций.
Перекрестное соединение выполняется с помощью оператора
☝️ ☝️ ☝️ ☝️ Подробно о соединении таблиц рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали о видах соединений таблиц
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Внутреннее соединение выполняется с помощью оператора
INNER JOIN
. Общий синтаксис имеет следующий вид:<первая таблица> INNER JOIN <вторая таблица> ON <условие соединения>
Левое внешнее соединение выполняется с помощью оператора
LEFT JOIN
. Общий синтаксис имеет следующий вид:<первая таблица> LEFT JOIN <вторая таблица> ON <условие соединения>
Правое внешнее соединение выполняется с помощью оператора
RIGHT JOIN
. Общий синтаксис имеет следующий вид:<первая таблица> RIGHT JOIN <вторая таблица> ON <условие соединения>
При внешнем соединении записям без пары в соответствие ставятся значения
NULL
.Перекрестное соединение выполняется с помощью оператора
CROSS JOIN
. Общий синтаксис имеет следующий вид:<первая таблица> CROSS JOIN <вторая таблица>
Ставьте реакцию:
🔥 — если знали о видах соединений таблиц
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
1🔥73👀34 8❤5 2 2 1
Друзья, сегодня поговорим о представлениях в языке SQL. 😌
📌 Представление — это виртуальная таблица. В отличие от обычных таблиц, содержащих фактические данные, представление содержит запрос, который динамически извлекает данные тогда, когда это необходимо.
📌 Представления можно использовать точно так же, как и обычные таблицы: извлекать из них данные, фильтровать и сортировать, объединять с другими таблицами или представлениями.
📌 Так как представления не содержат фактических данных, а извлекают их из других таблиц, при изменении этих таблиц изменится и содержимое связанных с ними представлений.
😉 Представления удобно использовать, например, в случаях, когда из базы данных постоянно нужно извлекать одни и те же данные или при частой необходимости извлекать данные в определенном формате.
📌 Для создания представлений используется оператор
📌 Запрос, который используется в представлении, может быть изменен. Для этого используется оператор
📌 Представление может быть удалено. Для этого используется оператор
☝️ ☝️ ☝️ ☝️ Подробно о представлениях рассказываем в курсе "Базы данных и SQL". Купить курс можно на нашем официальном сайте по ссылке.
Ставьте реакцию:
🔥 — если знали о представлениях в SQL
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
CREATE VIEW
, синтаксис которого имеет следующий вид:CREATE VIEW <имя представления> AS
<извлекающий запрос>
ALTER VIEW
, синтаксис которого имеет следующий вид:ALTER VIEW <имя представления> AS
<новый извлекающий запрос>
DROP VIEW
, синтаксис которого имеет следующий вид:DROP VIEW <имя представления>
Ставьте реакцию:
🔥 — если знали о представлениях в SQL
👀 — если слышите о них впервые
#поколениеpython #базыданных #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
4👀67🔥43❤14 3 3 2👍1👏1😁1🆒1