🧙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.

В обоих случаях меняем страну Францию на Россию.