uz
Feedback
Пишем на SQL

Пишем на SQL

Kanalga Telegram’da o‘tish

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

Ko'proq ko'rsatish
1 900
Obunachilar
Ma'lumot yo'q24 soatlar
+27 kunlar
+130 kunlar
Postlar arxiv
Всем привет! Ещё интересная задача с собеседования айтишника (вообще не про 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/