fa
Feedback
Пишем на SQL

Пишем на SQL

رفتن به کانال در Telegram

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

نمایش بیشتر
1 891
مشترکین
+124 ساعت
-47 روز
-630 روز
آرشیو پست ها
Здравствуйте, друзья! Сегодня на просторах интернета нашёл ещё один интересный тестовый вопрос к собеседованию. Предлагаю его Вашему вниманию.

Доброе утро, друзья! Меня сегодня поздравили так! ☺️ Я думаю, что это применимо ко всем нам! Всех с праздником!
Доброе утро, друзья! Меня сегодня поздравили так! ☺️ Я думаю, что это применимо ко всем нам! Всех с праздником!

Правильно ли составлен приведённый выше SQL запрос?
Anonymous voting

Всем доброго понедельника и отличного старта учебной (рабочей) недели! Готовы рассмотреть ещё один SQL-запрос и определить, есть ли в нём ошибка? Названия таблиц и столбцов, используемых в запросе, написаны без опечаток. Запрос должен показать филиалы, их адреса и количество работающих в них сотрудников. SELECT f.FILIAL_NAME, f.ADDRESS, COUNT(p.PERSON_ID) AS PERS_COUNT FROM FILIALS f LEFT JOIN PERSONS p ON p.FILIAL_ID = f.FILIAL_ID GROUP BY f.FILIAL_NAME

Всем доброй пятницы, дорогие друзья! Давно не публиковал в конце недели it юмор. Сегодня нашёл такую вот фотографию 🙂 На сле
Всем доброй пятницы, дорогие друзья! Давно не публиковал в конце недели it юмор. Сегодня нашёл такую вот фотографию 🙂 На следующей неделе продолжим работать над ошибками в SQL коде, а также подготовлю небольшое новое видео на наш YouTube канал! Ссылку на видео опубликую здесь!

На прошлой неделе мы получили ещё одну благодарность от ученика нашего курса по SQL и базам данных! 🤗 Шолпан, спасибо Вам большое за такой развёрнутый и приятный отзыв! Приятно им поделиться! 🙏 Я закончила курс "SQL. Базы данных. ORACLE" и хочу оставить свой отзыв, чтобы привлечь больше людей к вашему обучению, чтобы они могли получить знания и применить их в крупных IT компаниях. Почему я выбрала именно вас: 1. На просторах интернета много курсов по SQL. Но когда я нашла ваш сайт, мне очень понравилось подробное описание программы обучения, указаны основные темы, подтемы и то, что мы будем изучать. Это создало у меня ясное представление о том, кем я буду и что я буду знать. 2. С первого же занятия я получила доступ к личной тестовой базе данных с собственным логином и паролем, а также программой PL/SQL Developer, которой я пользовалась для выполнения домашних заданий на своем домашнем компьютере в любое удобное для меня время. 3. Клиенториентированность. Очень вежливый и отзывчивый персонал. Помогут, подскажут, если проблемы, например, с настройками подключения к тестовой базе данных, подключатся к Вам удаленно к вашему компьютеру и исправят ошибки. Нет равнодушия со стороны сотрудников. На протяжении всего курса, лично я, себя чувствовала “нужной”, для меня это очень важно. 4. Грамотно организованы лекции. Преподаватель ясно и доступно объясняет темы. Много практических заданий, которые заставляли мой мозг работать на полную мощность. Но когда я достигала результата, я чувствовала такое волнение и счастье, потому что я справилась! Шаг за шагом я познавала весь курс и ощущала прогресс. 5. Мне открыть новые возможности в трудоустройстве. Обладание знаниями SQL и баз данных открывает двери во многих сферах IT. От крупных IT-компаний до стартапов, многие организации нуждаются в специалистах, которые эффективно управляют данными. Спасибо Вам за потрясающий курс и Вашу заботу!

Друзья, спасибо за активное участие! Вижу, что не мало получилось неправильных ответов. Я сделаю небольшое разъясняющее видео по этой последней задаче! 👌 Постараюсь объяснить!

Есть ли ошибка?
Anonymous voting

Всем хорошего понедельника! Пока едете на работу (если Вы не за рулём)  предлагаю решить ещё одну задачу на поиск ошибки в SQL-запросе. Запрос ниже должен вывести список клиентов (без дублирующихся строчек), которым ни разу не выставляли счёт. SELECT c.CLIENT_ID,                c.CLIENT_NAME,                c.CLIENT_INN   FROM CLIENTS c    LEFT JOIN INVOICES i       ON c.CLIENT_ID = i.CLIENT_ID WHERE i.CLIENT_ID IS NULL

Друзья, поздравляем всех с праздником, с первым сентября! Успехов в постижении новых нужных знаний и совершенствовании умений! Поздравления не только для школьников и студентов, но и для нас! Мы тоже учимся! И это правильный путь!

Дорогие друзья, спасибо Вам за приятные отзывы, которые Вы оставляете нам после прохождения курса 🙏 Конечно, обучение - это
Дорогие друзья, спасибо Вам за приятные отзывы, которые Вы оставляете нам после прохождения курса 🙏 Конечно, обучение - это трудоёмкий процесс и Вам требуется много времени и сил! Спасибо за Вашу целеустремлённость, стремление и за такую обратную связь!

Здравствуйте, друзья! Есть запрос, который должен выводить список товаров, их цену и 18%-ное значение от стоимости. Есть ли ошибка в этом запросе? SELECT t.GOOD_NAME, t.PRICE, t.PRICE * 0,18 AS NDS FROM GOODS t
Anonymous voting

Спасибо за активное участие в поиске возможной ошибки! Как вы уже поняли, она всё же есть. И ошибки такого вида, к сожалению, иногда допускают и действующие SQL-специалисты. Проблема заключается в том, что для выполнения этого запроса, Ораклу придётся выполнить неявное преобразование. Функция SYSDATE возвращает дату (со временем), функция to_date служит, чтобы ИЗ ТЕКСТА, согласно указанной маске, получать дату. Но ведь SYSDATE итак дата (хоть и со временем), а не текст! Значит, чтобы функция to_date отработала, значение SYSDATE должно быть вначале преобразовано в текст из даты (чтобы to_date сделала из текста опять дату). Терерь не запутаться🙂: вот из текста в дату to_date преобразовывает по маске 'dd.mm.yyyy', а дата в текст в нашем примере преобазовывается Ораклом неявно и без маски. Подробнее как раз этот случай и способ его решения описал здесь: https://dzen.ru/a/Y1qCKnSWlzaLrq1C Посмотрите, пожалуйста, этот мой небольшой пост!😌 Ошибки неявного преобразования тем и опасны, что один и тот же SQL-код у кого-то правильно работает, а у другого - может возвращать неверные данные и даже на основе них могут приниматься важные решения! Хорошо ещё если выскочит SQL-ошибка, благодаря чему можно будет найти проблему неявного преобразования. Хуже, если они такие ошибки остаются незамеченным. ORACLE принимает решения как по-умолчанию представлять дату (если не указан формат преобразования), опираясь на NLS параметры, которые определяются при создании подключения к базе данных. И из-за этого автоматическое и без ведома преобразование даты может делаться по-разному. Преобразование даты в текст или текста в дату должно делаться всегда согласно указываемому формату. И никогда неявно. В среду будем разбирать ещё один SQL-код! 😀

SELECT * FROM GOODS WHERE EXPIRE_DATE = TO_DATE(SYSDATE, 'dd.mm.yyyy')
Anonymous voting

Всем доброго понедельника! В следующей задаче предположите, пожалуйста, есть ли ошибка в SQL-запросе. Приводимый ниже запрос должен показывать товары из таблицы GOODS, срок годности которых истекает сегодня. Поле EXPIRE_DATE таблицы GOODS имеет тип DATE и хранит в себе дату срока годности (без времени).

Здравствуйте, друзья! Продолжаем разбирать ошибки SQL. Следующий запрос даст ошибку. Почему? SELECT OLD_PRICE - NEW_PRICE AS DIFF FROM GOODS WHERE DIFF >= 100
Anonymous voting

Всем доброй пятницы и хороших выходных! Давайте разбирать какой из ответов в предыдущей задаче был правильный! Вначале, конечно, должен сообщить, что для решения задачи требовалось знание подзапросов. Если Вы ещё не знакомы с этой темой, то лучше вначале изучить её и затем снова вернуться к этой задаче. Итак, нам нужно было вывести филиалы, в которых есть хотя бы один менеджер. Поэтому для каждого филиала подзапоосом и проверяется наличие (существование) менеджера с его FILIAL_ID. Проблема в том, что подзапрос не связан с внешним запросом. Была допущена ошибка, которую часто совершают начинающие SQL-специалисты. Тут я подробнее об этом написал: https://dzen.ru/a/YrdWwBahoEyqTK_S Когда Вы разберёте эту ошибку, то с большей вероятностью не допустите её при написании SQL кода! Учимся на чужих ошибках! Будьте как SQL-антивирус:) Находите баги и в чужих SQL-запросах.

SELECT *   FROM FILIALS F WHERE EXISTS (SELECT * FROM MANAGERS M WHERE M.FILIAL_ID = FILIAL_ID)
Anonymous voting

Добрый день, друзья! Все знаем, что с опытом не только начинаешь меньше делать ошибок при написании SQL-запросов, но и приобретаешь навык быстро находить ошибки в чужом SQL-коде. Следующих несколько задач предлагаю посвятить поиску ошибок в запросах, написанных другими специалистами. Задача первая: В базе данных есть таблица FILIALS, имеющая столбцы FILIAL_ID и FILIAL_NAME, и имеющая три записи. Также есть таблица менеджеров MANAGERS, в которой есть внешний ключ - столбец FILIAL_ID, ссылающийся на таблицу филиалов. Известно, что в таблице филиалов точно есть один филиал, для которого нет ни одного менеджера в таблице MANAGERS. Филиал новый и туда не успели ещё найти сотрудников, но запись в таблице уже есть. Написанный запрос ниже должен показывать список филиалов, в которых есть хотя бы один сотрудник. Почему запрос показывает все три филиала, хотя должен показывать два?

Здравствуйте, друзья! Очень приятно Ваше активное участие в решении присланной задачи! Все Ваши работы проверил и отметил лайком 👍 те, которые счёл правильными. Из 11 присланных работ 9 будут правильно выдавать номера заказов с некорректной нумерацией коробок и 2 работы было бы здорово немного доработать. Ещё раз спасибо за активное участие и хороших выходных!🙂💪