ar
Feedback
Пишем на SQL

Пишем на SQL

الذهاب إلى القناة على Telegram

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

إظهار المزيد
1 900
المشتركون
لا توجد بيانات24 ساعات
+27 أيام
+130 أيام
أرشيف المشاركات
Всем привет! Ещё интересная задача с собеседования айтишника (вообще не про SQL и IT, а на логику). Дальше материал 16+ (жестокое обращение с животными): На полу сидит кошка 🐱, к её ножке привязана банка. С какой скоростью должна бежать кошка, чтобы не слышать звук гремящей банки? У этой задачи несколько вариантов ответа: - со скоростью звука; - с нулевой скоростью.

Спасибо всем за вовлечённость! Хорошая получилась работа по последней задаче! 💪 Увидели таки, что в подзапросе нет никакого ограничения! 😉 EXISTS всегда будет возвращать TRUE, главное, чтобы была хотя бы одна строчка в таблице подзапроса. Не важно с какими данными! Тогда и строки таблицы Pers будут выбраны все, то есть четыре.

Курс РАЗРАБОТЧИК GO. Начинаем сегодня! Формат обучения: Zoom; График: вн, пт (19:30 - 20:30), всего 12 уроков; Предварительные знания: не требуются, начинаем с нуля; Самостоятельные практические задачи; Менторство и индивидуальное ревью кода: включено. Цена: 9.900. Можно оплатить за два раза: вначале 4.950 и через три недели столько же. Также будет отдельная закрытая группа в Телеграм, куда выкладываются записи совместной онлайн работы. На случай, если Вы пропустите урок или захотите повторить материал. Программа курса Записаться и оплатить 4.950 р. Записаться и оплатить сразу за все 12 уроков 9.900 р.

Какое значение вернет SQL запрос? select count(1) from Pers where exists (select * from Phones where PersID = Pers.PersID)
Anonymous voting

Всем привет! Предлагаю небольшую задачку по SQL! В таблице Pers четыре записи: PersID Name 1 Иванов И. И. 2 Петров П. С. 3 Третьякова А. Б. 4 Грю Г. Я. В таблице Phones три записи: PhoneID PersonID PnoneNum 1 1 90977789 2 2 77890999 3 2 90898761

Здравствуйте, друзья! Сегодняшний пост немного грустный. К сожалению, сейчас не самое спокойное время. Несколько дней назад получил сообщение от одного из учеников: - "Привет, Илья! 10 лет назад учился у тебя на очном курсе по Oracle. И последние 10 лет зарабатываю на хлеб благодаря полученным от тебя знаниям. Спасибо за науку!) К сожалению на последнем месте работы попал под сокращение. Теперь активно ищу работу и прохожу собесы. ..." И после 10-ти лет работы в компании есть риск попасть под сокращение. Никто от такого не застрахован. Надеюсь, в целом у всех всё хорошо. Конечно, сложная ситуация и неприятная. Но она не означает, что теперь будет плохо, она означает, что теперь будет по-другому! Я верю, что Вадим справится, и, может быть, сможет устроить всё даже лучше, чем было! Всем терпения и немножечко везения! 🙏

Всем привет! Небольшая задачка по CROSS JOIN-ам (на примере PostgreSql)! Какой результат будет в результате следующего запроса: SELECT COUNT(1) FROM (SELECT 1 NN) CROSS JOIN (SELECT 1 NN)
Anonymous voting

Друзья, всем привет! Напоминаю, что завтра стартует онлайн курс SQL, PostgreSQL (обучение через Zoom). Следующая группа - в ноябре! Поэтому, не откладывайте! Еще есть пять мест. Пока 4 ученика. Группа маленькая. График: сб, вс (10:30 - 11:30); Всего онлайн уроков: 18; Всё включено: Д/З, индивидуальная проверка работ, сертификат, помощь в составлении резюме. Для удобства оплату можно разделить. Вначале 4.900 и через месяц 5.000. Программа курса Записаться и оплатить 4.900 р.

Шутка про Ларри Эллисона (основатель ORACLE) В чём разница между Ларри Эллисоном и Богом: - Бог не думает, что он Лари Эллисон ☺️ Ларри обогнал Маска по состоянию и занял его место самого богатого человека в мире. Подробнее тут.

Какой будет результат выполнения следующего запроса: SELECT DISTINCT COUNT(DISTINCT DOC_TYPE) FROM DOCS
Anonymous voting

В таблице DOCS четыре строки: ID DOC_TYPE DOC_NUM ID_CLIENT 1 паспорт 123456 1 2 права 123490 1 3 паспорт 789809 2 4 права 777890 2

Почему язык Go так популярен: - высокая производительность! Go компилируется в машинный код — это почти как C по скорости; - простота развёртывания. Один бинарник — и всё работает, легко деплоить даже на слабых VPS; - низкий порог входа — проще, чем Java, производительнее, чем Python. - хорошо читаемый код; - лёгкая масштабируемость! 🇷🇺 Примеры использования Go в России в больших компаниях: • Сбер (SberDevices, СберМаркет) — используют Go для микросервисов. • Яндекс — частично использует Go, особенно в проектах, где важна производительность (например, в облаке или инфраструктуре). • Ozon — активно использует Go, особенно для микросервисов. • Wildberries — часть систем на Go. • Тинькофф — микросервисы и высоконагруженные сервисы. • Авито — Go используется для части бэкенда и инфраструктуры. • VK (ex-Mail.ru) — в некоторых инфраструктурных сервисах. • Skyeng, Dodo Pizza, Самокат, Яндекс.Еда — используют Go в production. 🧑‍💻 Стартапы и продуктовые компании: • Go часто становится языком №1 в новых проектах, особенно если: • Нужны микросервисы. • Требуется высокая производительность без лишней сложности. • Команда небольшая, а нужны стабильность и читаемость.

Для начинающих программистов мы подготовили курс Go (Golang)-разработчик! Начальные знания: не требуются! Начало: 23 сентября. График обучения: Вт, Пт (19:30 - 20:30); Обучение через Zoom. Занятий онлайн: 12 + 12 самостоятельных практических работ. Менторство и ревью кода как всегда включено! Цена: 9.900 р. Обучение небольшими группами: 7 - 10 человек. Посмотреть программу курса и записаться можно здесь: https://prime-soft.biz/courses/go

Всем хорошего понедельника! Небольшая задача по SQL. В таблице CLIENTS всего 10 строк. Какой результат вернёт следующий запрос (на примере ORACLE или MySQL): SELECT * FROM CLIENTS WHERE EXISTS (SELECT NULL FROM DUAL)
Anonymous voting

Аудит - это хорошо! Особенно, когда он комплексный! На прошлой неделе для одной из компаний подмосковья, для которой мы пишем и сопровождаем программное обеспечение уже более 10ти лет, подготовили результат аудита нашего программного кода. Компания, которая подготавливала аудит, разумеется сторонняя, и должна была дать оценку нашей работе. На подготовку результатов аудита ушло около трёх недель. Интересно, наверное, узнать результаты? В целом код неплохой (уже хорошо), но местами, в рамках одного запроса, допущено дублирование фрагментов SQL-кода. В рамках кода хранимых процедур отсутствуют составные индексы. Начну с последнего: составные индексы у нас есть (интересно как они смотрели), иногда без последнего столбца в списке столбцов индекса, но на месте это не играло особой роли. Дублирование фрагментов SQL-кода в рамках одного запроса иногда делается намерено: получение одних данных по разным условиям из одних и тех же таблицы иногда лучше сделать через UNION, не используя сложные вычисления или оператор OR. Подходить к оценке кода, который отлаживался 10 лет нужно комплексно. Обязательно брать во внимание что и как используется. Даже собственную оценку нужно ставить под сомнения. Как резульат: нам пришлось давать свои комментарии заказчику по пунктам аудита🙂 Принимаем во внимание , что и за три недели очень сложно комплексно оценить программный код, который писался, дополнялся в течение 10ти лет.

Всем привет и хороших выходных! Сегодня утром провёл очередной урок онлайн-обучения SQL, PostgreSQL через Zoom. У нас пятый уроки из 18ти и мы уже учимся группировать данные. Если кому-то пока сложно даются группировки, сложно понять какое поле указывать в блоке SELECT, какое в блоке GROUP BY, то вот мини правило (это если пока сложно даются группировки, то можно пока просто запомнить его): все столбцы, которые мы хотим показать в блоке SELECT без агрегатных функций, должны быть и в блоке GROUP BY (например если мы группируем данные по PersonID и хотим вывести в блоке SELECT не только PersonID, но и FIO, то FIO также следует поместить в блок GROUP BY), но столбцы, которые есть в блоке GROUP BY, не обязательно выводить в блоке SELECT (по желанию). Возможно, его лучше прочитать два раза ☺️ Кстати, новая группа выходного дня онлайн обучения начинается уже на следующих выходных. Будем учиться по субботам и воскресеньям с 10:30 до 11:30. У нас уже 4 человека. Посмотреть программу курса и записаться можно здесь.

Друзья, до вторника (09.09.2025) продлеваем летние скидки на обучение SQL и обучение программированию в PL/SQL (ORACLE)! 🎁 Весь курс SQL и базам данных за 8.900 программа обучения записаться и оплатить Весь курс Программирования в PL/SQL (ORACLE) за 14.500 программа обучения записаться и оплатить Курс SQL + Программирование в PL/SQL (ORACLE) за 16.900 записаться и оплатить Всё обучение индивидуальное! Начать можем сразу после оплаты! Время на обучение не ограниченно (но желательно проходить не менее 1-2 урока в неделю). Буду рад дополнительным вопросам на почту info@prime-soft.biz или под постом.

image_2025-09-05_11-01-17.png0.48 KB

Все задачи по базам данных можно решить множеством способов. Из составленных решений выбирается наиболее эффективное и простое в написании. Спасибо Вам за активность по этой задаче! Понравилось, как просто решил задачу @Skiffrusspb. К сотрудникам можно присоединить занимаемые позиции по идентификатору сотрудника с дополнительным условием, что дата, на которую формируют запрос, входит в период занимаемой должности. Должна присоединиться максимум одна запись из таблицы истории занимаемых должностей. В один и тот же день сотрудник ведь может работать только на одной должности, поэтому только одна строчка из PersPositions для каждого сотрудника может найтись, или ни одна вообще, если сотрудник уже уволился к указанной дате. Александр, я добавил COALESCE при сравнении с датой окончания. Если дата окончания не указана, то будет подставляться текущий день, в результате еще немного упростил код:
SELECT p.*,
       pp.dt_start, pp.dt_end,
       po.name  POS_NAME
  FROM Pers p
  JOIN PersPositions pp
    ON pp.ID_PERS = p.ID
   AND '2022-01-01' BETWEEN pp.DT_START AND COALESCE(pp.DT_END, CURRENT_DATE)
  JOIN Positions po
    ON po.ID = pp.id_pos

Доброе утро, друзья! Спасибо за активное участие в решении предыдущей задачи! Я тоже подготовил небольшое видео разбора её решения: https://rutube.ru/video/654cce66166fd0ea16af5b7d63f18746/