Пишем на SQL
Open in Telegram
Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql Мой курс по SQL и базам данных: https://prime-soft.biz/courses/sql Связь со мной @iliahohlov
Show more1 891
Subscribers
+124 hours
-47 days
-630 days
Posts Archive
1 891
Как насчёт новой задачки по SQL посложнее? Готовы? Тогда задание следующее: в базе данных есть таблица ORDER_BOXES в которой определено по какому заказу сколько коробок оформлено в доставку, а также указано сколько в каждой коробке штук товара и прочая не относящаяся к задаче информация. Таблица имеет следующие интересующие нас поля:
ORDER_NUM (номер заказа)
BOX_NO (номер коробки заказа).
Напомню, что другие столбцы нам сейчас не нужны.
Итак, в таблице лежат данные вида:
ORDER_NUM BOX_NO
1 1
1 2
2 1
3 1
Данные выше означают, что по заказу с номером 1 есть коробка с номером 1 и есть коробка с номером 2, то есть всего две коробки. Заказы с номерами 2 и 3 имеют по одной коробки.
Чтобы проще понять суть и важность задачи приведу ошибочные данные этой таблицы:
ORDER_NUM BOX_NO
4 1
4 3
В примере выше в заказе под номером 4 есть номера коробок 1 и 3, но нет 2. То есть если есть коробка с номером 3, то точно должны быть предыдущие номера коробок этого заказа, начиная с одного. Если заказ под номером 4 должен быть доставлен двумя коробками (а не тремя), то правильным было бы в столбце BOX_NO иметь значения 1 и 2.
Ниже ещё один пример ошибочных данных:
ORDER_NUM BOX_NO
5 1
5 1
5 1
Заказ под номером 5 разбит на три коробки 📦. Правильно было бы иметь в столбце BOX_NO значения 1, 2 и 3.
И теперь, наконец, озвучку требования к задаче. На языке SQL требуется написать запрос, показывающий номера заказов с проблемной нумерацией коробок (с отсутствующими номерами коробок или с номерами дублями).
Описание решения выложу тут немного позже! С нетерпением буду ждать сначала Ваши предложения решения!
1 891
В таблице CLIENTS для одного из контрагентов нужно удалить DATE_CLOSE (дату завершения работы с контрагентом). Компания хочет снова вести работу с контрагентом. Какую команду необходимо выполнить?
1 891
Доброго понедельника, друзья!
Всем хорошего начала рабочей и учебной недели!
Сегодня с меня сразу две задачи по SQL: одна будет простая (для начинающих) и одна посложнее (для гуру)!
1 891
Доброй пятницы!
Спасибо всем, кто принял участие в разгадывании филворда по SQL.
Я дополнил свой пост, опубликовал решение.
1 891
КАК НАЙТИ В СЕБЕ СИЛЫ И УВЕРЕННО ОВЛАДЕТЬ SQL
"У каждого взрослого человека всегда много дел" Дмитрий Петров, лингвист, полиглот
Aller Anfang ist schwer (любое начинание сложно), немецкая поговорка
Всегда трудно начинать что-то новое. Переживания из-за невладения навыком работы с базами данных и незнания языка SQL могут усугубляться страхом его изучения. Как это всё выучить? И не просто выучить, а ещё и начать хорошо разбираться в этом? А вдруг я не смогу найти работу, ведь везде требуются сотрудники уже с опытом работы? Эти и другие страхи возникают постоянно. Но бояться не надо! Язык SQL не сложный!
- "Конечно, тебе легко говорить". - Скажешь ты. - "Ведь ты его знаешь".
- "Да, знаю. И так же как и ты, когда то впервые его увидел". А ещё я практически сразу понял насколько он прост и лёгок в понимании! Итак, языку SQL и существенным навыкам работы с базами данных можно обучиться за довольно короткое время! А качественное обучение (или самообучение) с обязательной практикой может дать хороший результат! А чтобы начать совсем хорошо в нём разбираться, нужно прорешать множество типичных и каверзных задач. Здесь, конечно, нужен или опыт или нужны хорошие курсы. В своём курсе по SQL и базам данных на простых примерах я проведу тебя через многие практические сложности! Мы научимся решать любые задачи на языке SQL. Научимся видеть потенциальные ошибки в существующем коде и оптимизировать его. Можно реально примерно за месяц (если учиться не торопясь, уделяя час в день) "прокачать" знания языка SQL и навыки работы с базами данных с нуля до уровня специалиста с трёхлетним стажем! Вот так!
Я совсем не уговариваю тебя придти ко мне на курс, но был бы тебе очень рад! Мне уже повезло, что ты читаешь этот пост и я могу ещё кое что тебе рассказать!
Итак, язык SQL очень прост. Ты можешь ему научиться. Это аксиома (не требует доказательств).
- Я знаю. Ты можешь! Ицхак Пинтосевич. Автор множества книг по развитию личности.
Итак, SQL тебе под силу! Теперь осталось разобраться как найти на него время и силы. У тебя, возможно, есть семья, дети. Есть работа, которая отнимает основное продуктивное время, есть друзья, которым хоть пол часа в день времени, но уделить нужно (вотсап, вконтакте, одноклассники,..). Вобщем - день занят. И так каждый день! А в выходные надо отдохнуть, ведь всю неделю ты работал как мог!
- "У меня есть максимум час в неделю!" - скажешь ты.
- "Отлично! С этого и давай начинать!" Час в неделю это лучше, чем ничего.
"Большого слона можно съесть по кусочкам", народная мудрость
Итак, если у нас есть час в день, то считай, что SQL мы выучим! Да, да! Тратя по-немногу времени на нужный навык, ты, в конце концов, его освоишь! И даже это не растянется на очень долго! Изучай и практикуй! Начни хоть с часу в неделю, ты заметишь, что ты начнёшь в этом разбираться, а через некоторое время тебе это понравится и ты сможешь находить на это больше времени! Незаметно для себя ты овладеешь SQL и обучишься навыкам работы с базами данных!
Буду рад, если поделишься своей историей как ты смог найти время и силы на язык SQL!
1 891
Всем хорошего понедельника!
Давайте немного повторим типы данных столбцов таблиц.
В чем разница между CHAR и VARCHAR. Оба типа предназначены для хранения алфавитно-цифровой информации. Основное отличие состоит в том, что тип данных CHAR имеет фиксированную длину для хранящихся в нём значений, в то время как VARCHAR поддерживает переменную длину. Если значение, сохраняемое в CHAR, имеет меньшую длину, то к нему справа будут добавлены пробелы. К значению, сохраняемому в тип VARCHAR, если оно меньше максимально установленного, пробелы справа добавлены не будут.
1 891
Всем доброе утро! И отличной рабочей (учебной) недели! И вот мини-вопрос на этот понедельник: Может ли в таблице не быть первичного ключа?
1 891
Каким будет результат следующей арифметической операции:
1 + NULL + 1
1 891
Здравствуйте, дорогие друзья!
Предлагаю начать неделю с небольшого теста по SQL. В одно время этот вопрос использовался в одной из Московских софтверных компаний, где я работал. Вопрос, думаю, будет для Вас совсем простым и, скорее всего, именно он станет лидером по количеству правильных ответов!
1 891
Всем доброго утра и отличного начала рабочей (учебной) недели!
Если у Вас сегодня собеседование, то помогу перед ним немного размяться 😉 В отличии от первичного ключа таблицы, уникальный ключ (найдите верное утверждение):
1 891
Здравствуйте, дорогие друзья! Очередной небольшой тест для подкованных :) Вопрос с англоязычного ресурса из цикла "найди лишнее":
