🧙MagicSQL💻
160 subscribers
185 photos
7 files
10 links
Войди в мир SQL и аналитики с моим каналом. Изучай, применяй и преуспевай. Интересный контент, задачи, тесты, разборы и обучение.
#SQL #базыданных #postgresql
Download Telegram
Channel created
Channel name was changed to «🧙MagicSQL💻»
Друзья, привет. Простая задачка.
Для каждой страны посчитать количество заказов и вывести только те страны, в которых количество заказов более 30.
SELECT country, count (order_id) AS orders_cnt FROM orders GROUP BY country HAVING orders_cnt > 30
Anonymous Poll
33%
Запрос написан корректно
0%
Порядок написания операторов в запросе не верный
8%
Группировка должна быть выполнена по полю orders_cnt
58%
В операторе HAVING не допускается использование псевдонимов
Давайте вникнем в определение языка SQL и его отличия от других языков программирования🤔

SQL (Structured Query Language) - это декларативный язык программирования для работы с реляционными базами данных☝️

И так, то что SQL разработан для работы с реляционными базами данных понятно. Но что такое «декларативный» язык программирования❓

Декларативный, означает описание того, что требуется получить, а не как это реализовать.
В SQL мы описываем желаемый результат.

Декларативный язык сосредотачивается на "что" должно быть сделано.
В отличие от этого, императивный язык программирования предписывает точные шаги и инструкции, которые должны быть выполнены для достижения желаемого результата.
Он определяет последовательность команд, которые компьютер должен обработать, чтобы выполнить нужное действие. Императивный подход сосредотачивается на "как" это должно быть сделано.
Поговорим об операторе EXCEPT. Что же это такое?
Оператор EXCEPT в PostgreSQL используется для выполнения операции разности между двумя запросами. Он возвращает все строки которые есть в результате первого запроса, но отсутствуют в результате второго.
Рассмотрим простой пример. Дано две таблички со значениями: Таблица table_1 и Таблица table_2. Напишем запрос с использованием EXCEPT и посмотрим на результат:

SELECT values_1 
FROM table_1
EXCEPT
SELECT values_2
FROM table_2

+----------+
| values |
+----------+
| 1 |
+----------+
Запрос вернул строку со значением – 1, т.к. именно эта строка есть в первом запросе, но отсутствует во втором.
Друзья, привет.

Одним из существенных отличий между СУБД при написании запросов к базе является разный синтаксис написания функций для работы с датами и временем.

А для решения задач функции дат приходится использовать постоянно.

Выкладываю сравнительный анализ полезных функций для работы с датами и временем на СУБД PostgreSQL и MySQL.
Как вам такой тортик на день рождение?)
🔥2
Друзья, привет.
Знаете ли вы, что в PostgreSQL, если не указать столбец, а вместо этого указать таблицу в операторе ORDER BY, мы не получим ошибку?

Запрос отработает и в этом случае сортировка по умолчанию будет выполнена по первому столбцу таблицы.
Сегодня я вам расскажу как в PostgreSQL двумя простыми способами можно заменить конкретное значение в столбце на необходимое.

Способ № 1 – Комбинация функций COALESCE и NULLIF.

Способ № 2 – Использование функции REPLACE.

В обоих случаях меняем страну Францию на Россию.
Несомненно, шаг в развитии технологий в мире ИИ - это большой прорыв. Появление таких инструментов, как Chat GPT, стало чем-то революционным. И почему бы не воспользоваться ими, если это может оказать существенную помощь в разных направлениях, снять часть рутинной работы, оптимизировать и улучшить существующие наработки, помочь в планировании или оказать техническую поддержку при настройке программного обеспечения. И, конечно же, это не весь спектр возможностей.

Как и при любом подходе к делу или реализации вашей идеи, нужен критический и системный подход. Минимум нужно разбираться в области и понимать, что вы хотите, удовлетворяет ли результат вашим ожиданиям, а не слепо следовать интуиции. Каждый человек является аналитиком, каждый день мы анализируем большой поток информации и принимаем на его основе решения. И хотелось бы, чтобы решения были верными.
Как говорится, доверяй, но проверяй!! Это закономерно и для Chat GPT =)
В SQL (Structured Query Language) существуют три основных типа команд: DDL (Data Definition Language), DML (Data Manipulation Language) и DCL (Data Control Language). Каждый из этих типов команд выполняет определенные функции при работе с базами данных.
Вот их краткое описание:

DDL (Data Definition Language) - определяет/изменяет структуру базы данных (CREATE, ALTER, DROP);

DML (Data Manipulation Language) - манипулирует данными (SELECT, INSERT, UPDATE, DELETE);

DCL (Data Control Language) - управляет доступом (GRANT, REVOKE, DENY).
Всем привет!🖐

Сегодня расскажу вам про оператор UPDATE.
Оператор UPDATE в PostgreSQL используется для изменения данных в таблице. Он позволяет обновлять значения существующих строк на основе заданных условий.

Например этот запрос изменит информацию о пользователе с id = 3:

UPDATE users
SET user_name = 'Snouden', country = 'USA'
WHERE user_id = 3

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