Задача по SQL про удаление записей из таблицы
Здравствуйте, друзья! Недавно в своём Telegram-канале выложил очередную задачу по SQL (см. изображение). Получился очень интересный разброс голосов за правильный ответ.
Более половины подписчиков ответили правильно! 💪 Из перечисленных в опросе команд SQL только последней удастся очистить таблицу Persons от всех строк в ней (см. задачу на изображении). Команда TRUNCATE TABLE Persons разом опустошит таблицу, она останется совсем без записей.
Команда DELETE написана так, что согласно условию WHERE не найдётся ни одной подходящей записи для удаления. Ни для одной строки не выполнится условие, указанное во WHERE. Результат сравнения с NULL всегда будет отрицательным. Для проверки на NULL можно использовать только IS и IS NOT.
Команда UPDATE не удаляет строки из таблицы. В нашем примере она заменяет существующее значение в столбце NAME на NULL для всех строк (WHERE-то нет).
А команда DROP вообще удаляет саму таблицу из базы данных😌 вместе с данными конечно. И селектить больше будет неоткуда. Таблицы больше не будет в базе данных🙈
Если у тебя есть Телеграмм, буду рад твоей подписке: https://t.me/sql_oracle_databases
Подборка SQL тренажёров
1. Интерактивный тренажер по SQL – Stepik
В курсе большинство шагов — это практические задания на создание SQL-запросов. Каждый шаг включает минимальные теоретические аспекты по базам данных или языку SQL, примеры похожих запросов и пояснение к реализации.
2. SQL Тренажер. Бесконечное приключение 00. Интро. – Stepik
Короткий тренажер, с интересным сценарием уроков.
В игровой форме закрепляются знания SQL. Необычные задачи от простого к сложному. Планируется целый цикл интересных историй, где каждое задание это необычный квест. Сейчас пока самые простые азы.
3. SQL Academy: онлайн курс SQL и тренажёр c упражнениями (sql-academy.org)
Всесторонний курс по SQL, спроектированный так, чтобы навсегда изменить твоё отношение к SQL. Мы вместе пройдём путь, чтобы понять как этот язык работает, и получим все необходимые навыки для эффективного применения его на работе.
4. Упражнения по SQL (sql-ex.ru)
Сайт поможет каждому, кто хочет приобрести или повысить свои навыки в написании операторов манипуляции данными языка SQL. Суть обучения состоит в том, что вы сами пишете операторы, которые должны вернуть или изменить данные, требуемые заданием.
5. Задачи по Python, SQL, программированию и Data Science | IT Resume
Сайт с платным доступом, но часть задач беспалтные.
Например Задача:
[Тестовое Альфа-банк] Покупки телефонов в Туле по месяцам | IT Resume
6. Master Coding for Data Science - StrataScratch
Зарубежный сайт, напоминающий leetCode, есть бесплатная версия использования
Материал подготовлен участниками чата
Является ли внешний ключ индексом? Конечно нет. Вот почему!
В этом видео расскажем создает ли определение внешнего ключа на таблице (foreign key) автоматически еще и индекс. Конечно не создает. Внешний ключ - это просто одна из разновидностей ограничений для таблиц (constraint). Если нужен еще и индекс по этому полю, то его нужно создавать дополнительно!
Как найти в себе силы и овладеть SQL
"У каждого взрослого человека всегда много дел". Дмитрий Петров, лингвист, полиглот.
"Aller Anfang ist schwer" (любое начинание сложно). Немецкая поговорка.
Всегда трудно начинать что-то новое. Переживания из-за невладения навыком работы с базами данных и незнания языка SQL могут усугубляться страхом его изучения. Как это всё выучить? И не просто выучить, а ещё и начать хорошо разбираться в этом? А вдруг я не смогу найти работу, ведь везде требуются сотрудники уже с опытом работы? Эти и другие страхи возникают постоянно. Но бояться не надо! Язык SQL не сложный!
- "Конечно, тебе легко говорить". - Скажешь ты. - "Ведь ты его знаешь".
- "Да, знаю. И так же как и ты, когда то впервые его увидел". А ещё я практически сразу понял насколько он прост и лёгок в понимании! Итак, языку SQL и существенным навыкам работы с базами данных можно обучиться за довольно короткое время! А качественное обучение (или самообучение) с обязательной практикой может дать хороший результат! А чтобы начать совсем хорошо в нём разбираться, нужно прорешать множество типичных и каверзных задач. Здесь, конечно, нужен или опыт или нужны хорошие курсы. В своём курсе по SQL и базам данных на простых примерах я проведу тебя через многие практические сложности! Мы научимся решать любые задачи на языке SQL. Научимся видеть потенциальные ошибки в существующем коде и оптимизировать его. Можно реально примерно за месяц (если учиться не торопясь, уделяя час в день) "прокачать" знания языка SQL и навыки работы с базами данных с нуля до уровня специалиста с трёхлетним стажем! Вот так!
Я совсем не уговариваю тебя придти ко мне на курс, но был бы тебе очень рад! Мне уже повезло, что ты читаешь этот пост и я могу ещё кое что тебе рассказать!
Итак, язык SQL очень прост. Ты можешь ему научиться. Это аксиома (не требует доказательств).
"Я знаю. Ты можешь"! Ицхак Пинтосевич. Автор множества книг по развитию личности.
Итак, SQL тебе под силу! Теперь осталось разобраться как найти на него время и силы. У тебя, возможно, есть семья, дети. Есть работа, которая отнимает основное продуктивное время, есть друзья, которым хоть пол часа в день времени, но уделить нужно (вотсап, вконтакте, одноклассники,..). Вобщем - день занят. И так каждый день! А в выходные надо отдохнуть, ведь всю неделю ты работал как мог!
- "У меня есть максимум час в неделю!" - скажешь ты.
- "Отлично! С этого и давай начинать!" Час в неделю это лучше, чем ничего.
"Большого слона можно съесть по кусочкам". Народная мудрость.
Итак, если у нас есть час в день, то считай, что SQL мы выучим! Да, да! Тратя по-немногу времени на нужный навык, ты, в конце концов, его освоишь! И даже это не растянется на очень долго! Изучай и практикуй! Начни хоть с часу в неделю, ты заметишь, что ты начнёшь в этом разбираться, а через некоторое время тебе это понравится и ты сможешь находить на это больше времени! Незаметно для себя ты овладеешь SQL и обучишься навыкам работы с базами данных!
Буду рад, если поделишься своей историей как ты смог найти время и силы на язык SQL!
База данных характеристик авто с фотографиями
Дорогие пикабушники, доброго вам дня. Привет моим подписчикам. Сегодня я решил порадовать вас свежей базой данных характеристик авто с фото. База актуальна примерно на 06.2023 г.
Базу решил выложить бесплатно. Думаю многим разработчикам пригодится.
Планирую также выложить базы данных с рецептами блюд, характеристиками вело/мото техники и характеристиками планшетов и смартфонов. Буду рад вашим предложениям, какие ещё базы данных вы хотели бы видеть? Буду признателен за источники с открытой информацией о чем либо, различные справочники.
Также есть базы данных с характеристиками различной техники (телевизоры, комплектующие для ПК, различная бытовая техника и т.п.), все с фото, правда ещё не обработаны. Если вам будет интересно, возможно выложу.
Со мной можно связать по почтовому ящику amsterdamnavi@yandex.ru или AmsterBD@yandex.com
Итак, немного о самой базе:
+ Брендов около 240.
+ Моделей более 3200.
+ Генераций в районе 10 000.
+ Модификаций более 83 000.
+ Более 70 000 фотографий.
- Не под все генерации есть фото, около двух десятков без фото.
- Не все характеристики у пары десятков модификаций.
- К сожалению не нашел источника с описанием комплектаций авто (если кто подскажет, буду благодарен).
Где её можно использовать:
Сайт с характеристиками автомобилей.
Интернет-магазин автозапчастей и аксессуаров для авто.
Доска объявлений по продаже авто и запчастей к ним.
Сайт с дневниками автолюбителей.
Сайт трейд-ин автосалонов и автохаусов.
Прочие сферы связанные с авто и характеристиками авто.
UPD Фотографии не рекомендуется использовать в коммерческих проектах.
Какая структура у базы?
1) Таблица с марками авто.
2) Таблица с моделями авто.
Столбец с годом начала производства и столбец с годом окончания производства модели. Если в столбце окончания указан 0, значит модель производится по сей день.
Привязка к brand_id таблицы брендов авто.
3) Таблица с генерациями моделей авто.
Столбец с указанием типа кузова.
Столбец с годом начала производства и столбец с годом окончания производства генерации. Если в столбце окончания указан 0, значит генерация производится по сей день.
Привязка к model_id таблицы моделей авто.
4) Таблица со всеми модификациями генераций авто.
Столбец с мощностью модификации в л.с.
Столбец с указанием типа привода модификации.
Столбец с годом начала производства и столбец с годом окончания производства модификации. Если в столбце окончания указан 0, значит модификация производится по сей день.
Привязка к generation_id таблицы генераций авто.
5) Непосредственно сама таблица с характеристиками авто.
Характеристики разделены по группам.
Привязка к таблице модификаций к столбцу modification_id.
6) Архив с фотографиями автомобилей и таблица с фото по генерациям.
Связь фото по id фото в таблице.
Файл с базой:
Формат: .sql
Размер: 410 Mb
Ссылка: https://drive.google.com/file/d/1d3gFfa5ZJb6j2OFl7w2a1IvUbfsBvcLs/view?usp=sharing
Сами фотографии в формате .jpg
Формат: .zip
Размер: 11,21 Gb
Ссылка: https://drive.google.com/file/d/1Mhmts_IRAa53oImDLQPJmM6-7stRnm7a/view?usp=sharing
Всем удачи, всем успехов.
P.S. Вопрос к администрации Пикабу. Почему запрещены к размещению ссылки с mega?
Погружение в SQL дебри
Имею опыт в веб разработке около 5 лет, но так и не сталкивался с по настоящему сложными задачами с sql запросами и оптимизацией запросов. Может кто знает хороший курс для повышения квалификации не новичков, помогающий разобраться в тонкостях работы баз данных.
P.S. Вполне подойдут в том числе платные курсы. Компания оплачивает до 120 тыс на обучение вроде в год))
Топ полезных сервисов для программистов
Программирование - это сложное и творческое занятие, и программисты всегда ищут способы повысить свою производительность и улучшить свой рабочий процесс. В этом посте мы представим вам топ полезных сервисов, которые помогут программистам стать более эффективными и улучшить свою работу.
GitHub - это платформа для хранения и совместной работы над проектами с использованием системы контроля версий Git. GitHub предоставляет программистам возможность сохранять свой код в удаленном репозитории, совместно работать с другими разработчиками, отслеживать изменения и управлять проектами. Этот сервис является неотъемлемым инструментом для коллаборации и управления кодом.
Stack Overflow - это вопросно-ответный сайт, где программисты могут задавать вопросы, получать ответы и обмениваться знаниями. Здесь вы можете найти решения для различных проблем, столкнуться с новыми идеями и обсудить сложности, с которыми вы сталкиваетесь в процессе программирования. Stack Overflow - это отличный ресурс для изучения и общения с сообществом разработчиков.
VS Code - это легкий и мощный текстовый редактор, разработанный Microsoft. Он предлагает широкий набор функций и расширений, которые помогут вам ускорить разработку и повысить производительность. VS Code поддерживает множество языков программирования и обладает интегрированной системой отладки, автодополнения и другими полезными возможностями.
Docker - это платформа для разработки, доставки и запуска приложений в контейнерах. Docker позволяет разработчикам создавать независимые контейнеры, которые включают в себя все необходимое для работы приложения, включая зависимости и конфигурации. Это значительно упрощает развертывание и тестирование приложений на разных платформах и окружениях.
Jira - это мощная система управления проектами и задачами. Она предоставляет возможность планировать, отслеживать и организовывать работу над проектами, а также управлять задачами и сроками выполнения. Jira позволяет программистам и командам эффективно организовывать свою работу и улучшать процесс разработки.
Это всего лишь несколько примеров полезных сервисов для программистов. Каждый программист может выбрать те инструменты и сервисы, которые лучше всего соответствуют его потребностям и стилю работы.
Большая подборка бесплатных книг по программированию тут, подписывайся!