ru
Feedback
Пишем на SQL

Пишем на SQL

Открыть в Telegram

Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql Мой курс по SQL и базам данных: https://prime-soft.biz/courses/sql Связь со мной @iliahohlov

Больше
1 887
Подписчики
Нет данных24 часа
+57 дней
-330 дней

Загрузка данных...

Привлечение подписчиков
сентябрь '26
сентябрь '26
+11
в 0 каналах
август '26
+12
в 0 каналах
Get PRO
июль '26
+7
в 0 каналах
Get PRO
июнь '26
+10
в 0 каналах
Get PRO
май '26
+12
в 0 каналах
Get PRO
апрель '26
+13
в 0 каналах
Get PRO
март '26
+11
в 0 каналах
Get PRO
февраль '26
+15
в 0 каналах
Get PRO
январь '26
+13
в 0 каналах
Get PRO
декабрь '25
+11
в 0 каналах
Get PRO
ноябрь '25
+19
в 0 каналах
Get PRO
октябрь '25
+24
в 0 каналах
Get PRO
сентябрь '25
+38
в 0 каналах
Get PRO
август '25
+23
в 1 каналах
Get PRO
июль '25
+24
в 0 каналах
Get PRO
июнь '25
+24
в 0 каналах
Get PRO
май '25
+26
в 0 каналах
Get PRO
апрель '25
+32
в 0 каналах
Get PRO
март '25
+95
в 0 каналах
Get PRO
февраль '25
+30
в 0 каналах
Get PRO
январь '25
+34
в 0 каналах
Get PRO
декабрь '24
+22
в 0 каналах
Get PRO
ноябрь '24
+48
в 0 каналах
Get PRO
октябрь '24
+62
в 0 каналах
Get PRO
сентябрь '24
+259
в 0 каналах
Get PRO
август '24
+536
в 0 каналах
Get PRO
июль '24
+82
в 0 каналах
Get PRO
июнь '24
+64
в 0 каналах
Get PRO
май '24
+41
в 0 каналах
Get PRO
апрель '24
+36
в 0 каналах
Get PRO
март '24
+38
в 0 каналах
Get PRO
февраль '24
+70
в 0 каналах
Get PRO
январь '24
+103
в 0 каналах
Get PRO
декабрь '23
+704
в 0 каналах
Дата
Привлечение подписчиков
Упоминания
Каналы
16 сентября+1
15 сентября0
14 сентября+1
13 сентября+2
12 сентября+1
11 сентября+2
10 сентября+1
09 сентября0
08 сентября0
07 сентября+1
06 сентября0
05 сентября0
04 сентября0
03 сентября0
02 сентября0
01 сентября+2
Посты канала
С каким значением в столбце ORDERS_CNT клиент с идентификатором 10 отобразится в запросе?
Anonymous voting

2
У клиента с идентификатором 10 нет ни одного заказа. С каким значением с столбце ORDERS_CNT он отобразится в следующем запросе: SELECT c.id, COUNT(*) ORDERS_CNT FROM clients c LEFT JOIN orders o ON o.client_id = c.id GROUP BY c.id;
295
3
Как найти клиентов, у которых не было заказов?
288
4
Как найти клиентов, у которых не было заказов? A: SELECT c.* FROM clients c JOIN orders o ON o.client_id = c.id WHERE o.id IS NULL; B: SELECT c.* FROM clients c LEFT JOIN orders o ON o.client_id = c.id WHERE o.id IS NULL; C: SELECT c.* FROM clients c RIGHT JOIN orders o ON o.client_id = c.id WHERE o.id IS NULL; D: SELECT c.* FROM clients c WHERE c.id IN ( SELECT client_id FROM orders );
284
5
В таблице TableA 3 строки, в таблице TableB 4 строки. Сколько записей минимум и сколько записей максимум будет при соединении через full join:
326
6
Нет текста...
294
7
Эту и другие интересные задачи порешаем на нашем трехдневном тренинге по SQL! Начинаем сегодня в 19:00. Будем заниматься через Zoom сегодня, в среду и пятницу (19:00 - 20:00). Записаться и оплатить участие можно здесь. Места ещё есть!
368
8
Выполненная оптимизация называется:
377
9
В таблице справочнике товаров добавили новый столбец current_amount для хранения текущего количества товаров. Теперь отбирать товары с остатками стало проще. Раньше требовалось по каждому товару суммировать все приходы и отнимать все расходы.
371
10
При выполнении SQL запроса из некоторой таблицы, оптимизатор может знать об индексе, который мог бы быть использован, но не использовать его. Если индекс указывает на большую часть строк таблицы (например, на треть или половину строк таблицы ), обращение к индексу может оказаться менее эффективным, чем полное сканирование таблицы. Поэтому наличие индекса ещё не гарантирует его использование. 😉 Оптимизатор сравнивает разные варианты выполнения запроса и выбирает тот, который, по его расчётам, будет наиболее быстрым.
456
11
Готовимся к новому учебному году! До конца этой недели в Курсах Прайм скидки на обучение SQL и PL/SQL! Весь курс по SQL и базам данных с нуля до профи за 6.900 р. Программа Купить Курс программирования в PL/SQL (ORACLE) за 8.900 р. Программа Купить И пакет курсов SQL + PL/SQL за 10.900 р. Купить пакет Всем хорошего начала учебного года! ☺️💐 #BackToSQL
246
12
Всем привет! Как насчет очередной задачки по SQL? 😎 В таблице rate_periods есть данные вида: id date_from date_to rate 1 09.02.2026 12.02.2026 4.1 2 13.02.2026 19.02.2026 4.1 3 20.02.2026 23.02.2026 4.2 4 24.02.2026 04.03.2026 4.3 5 05.03.2026 11.03.2026 4.31 6 15.03.2026 16.03.2026 4.31 7 17.03.2026 22.03.2026 4.31 8 23.03.2026 25.03.2026 4.31 Требуется написать запрос, который вывел бы периоды и действующие тарифы в этих периодах. Запрашиваются столбцы date_from, date_to и rate. Подряд идущие периоды (следующий период начинается сразу со следующего дня после окончания предыдущего периода) с одинаковым тарифом требуется объединить в один. В примере выше строки 1 и 2 должны объединиться в одну. Date_from общей строки будет 09.02.2026, а Date_to 19.02.2026. Также строки 6, 7 и 8 тоже должны объединиться в одну строку.
574
13
Быстрый способ заполнить коллекцию данными, полученными из SQL-запроса, — использовать BULK COLLECT. Например: declare type t_customer_list is table of number; l_customer_list t_customer_list := t_customer_list(); begin select distinct i.customer_id bulk collect into l_customer_list from ipdr i where i.start_time >= date '2026-01-01' and i.end_time < date '2026-02-01'; end; В результате все полученные CUSTOMER_ID будут загружены в коллекцию l_customer_list.
638
14
Запрос: select coalesce(1, 2) where 1=0
776
15
Методом Exchange Partition можно встроить целую таблицу в качестве партиции другой таблицы. То есть целая таблица А может стать частью большой таблицы Б. Встраиваемая таблица должна иметь такой же набор столбцов с совместимыми типами данных и характеристиками. При этом она не обязательно должна находиться в том же табличном пространстве. ⚡️ Exchange Partition не перемещает сами данные. Oracle фактически меняет местами сегмент таблицы и сегмент партиции, поэтому операция выполняется практически мгновенно даже для таблиц с десятками миллионов строк. 📊 Перед встраиванием таблицы желательно обновить её статистику. В Oracle это можно сделать с помощью DBMS_STATS.GATHER_TABLE_STATS. Статистика нужна оптимизатору, чтобы понимать объём данных и их распределение и на основании этого выбирать оптимальный план выполнения запросов. 🔗 Если на целевой таблице используются локальные индексы, то для успешного Exchange Partition на встраиваемой таблице должны быть соответствующие совместимые индексы. Именно поэтому Exchange Partition очень удобно использовать для быстрой загрузки больших объёмов данных в партиционированные таблицы.
722
16
Друзья, всем привет! На следующей неделе планирую провести онлайн-интенсив по параллельной обработке данных в ORACLE. Ещё есть места! Буду рад, если присоединитесь! Мы научимся: - эффективной многопоточной обработке данных; - пользоваться функционалом стандартного пакета DBMS_PARALLEL_EXECUTE; - организовывать расчет и быструю многопоточную загрузку данных в общую таблицу (без блокировок и ожиданий на чтение блоков данных); - применять сжатие данных в таблицах (этой информации очень мало в официальных источниках ORACLE, делюсь опытом разработчиков); - замерять использование ОЗУ, свопа и логов redo (их рост и своп); - настраивать режимы LOGGING/NOLOGGING для таблиц и индексов; - и расскажу про партиционирование таблиц и метод EXCHANGE. Трехдневный интенсив на следующей неделе проведу в пн, ср и пт (19:00 - 20:00). Всего три онлайн встречи по часу примерно. На интенсиве будет не только разбираться с возможностями ORACLE, но и все три урока делать проект по многопоточной агрегации большого объема данных. Стоимость 3.800 р. Обучаться будем через Zoom и уроки буду записывать (Вы сможете использовать записи для повторения материала). Ещё с меня поддержка и ответы на все вопросы! Записаться и оплатить участие
768
17
Выберите правильное утверждение:
615
18
В таблице Payments есть высокоселективный составной индекс ind1 на столбцы (ID_CLIENT, DATE_PAYMENT). Есть два запроса: 1) select sum(AMOUNT) sum_amount, count(*) count_payments from Payments where ID_CLIENT = 33278 and DATE_PAYMENT = date '2026-02-11'; 2) select sum(AMOUNT) sum_amount, count(*) count_payments from Payments where DATE_PAYMENT = date '2026-02-11' and ID_CLIENT = 33278. Выберите правильное утверждение:
572
19
Всем хороших выходных! Тут небольшое видео как у нас проходит онлайн интенсив по SQL. PostgreSQL: https://youtu.be/JYR_2KL8jsc А ещё запись будет полезна тем, что только начинает свой путь в SQL и базах данных! Буду рад лайку!
648
20
👋 Всем привет! Пора отпусков подходит к концу! 😊 Надеюсь, вы отлично отдохнули, набрались сил и готовы к новому старту! 🚀 4 августа начинаем новый онлайн-интенсив «SQL + PostgreSQL: с нуля до профи»! 📚 Как будем обучаться? ✅ 2 раза в неделю — по вторникам и четвергам с 19:00 до 20:00 (всего 18 занятий); ✅ Обучение проходит в Zoom в небольших группах; ✅ На занятиях мы работаем вместе: пишем запросы, разбираем задачи и сразу закрепляем материал на практике, а не просто слушаем теорию; ✅ После каждых двух занятий — порция самостоятельных задач, чтобы поработать с базой данных самостоятельно. 💬 Все решения я проверяю лично: помогу разобраться в сложных моментах, улучшить запросы, найти и исправить не только явные, но и потенциальные ошибки. 🎥 Пропустили занятие? Не проблема! Все уроки записываются. Запись можно посмотреть позже в удобное время, догнать группу или использовать для повторения материала. 📝 После каждого урока вы получите краткий текстовый конспект, чтобы быстро освежить в памяти всё самое важное. 🏆 По окончании курса каждый участник получает сертификат. 📄 А если понадобится — помогу грамотно оформить резюме, чтобы выгодно представить ваши новые навыки работодателю. 🔥 Летняя стоимость обучения — всего 9 900 ₽ за весь курс! 🎁 И ещё скидка 1 000 ₽ при записи до 1 августа. 👉 Подробнее о курсе ✍️ Записаться и оплатить
772