Обучение sql с нуля: 25 самых лучших курсов для начинающих (2020, онлайн, бесплатно) + 7 онлайн-уроков

Practical skills of SQL language

This site will help everyone to gain or improve skills in building SQL Data Manipulation Language statements. To train You will have to build yourself the SQL statements for retrieval or modification of specific data required in the exercises. When Your query is incorrect, You will be able to see rows returned by the correct query along with that returned by Your query. Furthermore, you may execute arbitrary DML statements on available databases by setting the «Without checking» option. There are five levels of difficulty (from 1 to 5), You may see it in second column of exercises list. We propose the exercises on retrieving data (SELECT statement) and the exercises on modifying data (INSERT, UPDATE, DELETE, and MERGE statements). Your success in the solving the exercises are shown by a rating of participants. As this takes place, there are three stages: the first one (first 6 exercises) is performed without time control for an individual exercise, the second one (begins with the exercise #7) controls time for completion of each task. At the third stage which refers to optimizing and begins with exercise #139, it is required not only to solve an exercise correctly, but also time of execution of inquiry should be commensurable with time of execution of the author’s solution. Exercises of the first stage are available without registration and may be solved in any order You like. The solution of the rest of exercises requires registration. REGISTRATION IS FREE as this for all other services of the site. In the third column of exercises list You will be able to see («OK») notes with the numbers of done exercises, but that is available only to the registered users. In fact, that is the main reason for registration. If You would like to visit our web site again, You won’t have to recollect which exercises You have done already and which You haven’t. If You don’t want to register, You may enter as a guest, but in that case Your results won’t be traced by the system. Registered users also may discuss the solutions to exercises in our forum.

NOTE: The query stated incorrectly may return the «correct» data on a current state of database. For this reason You should not be surprised if the results of incorrect query are coincide with the results of right one with Your query is estimated as incorrect by the Verifying system.

NOTE: Your browser should support Cookies and Javascript to provide correct usage of this site. If you use content filter, it should allow opening child windows to explore help pages.


Оператор insert into: добавление записи в таблицу

Начнём с добавления новых данных в таблицу. Для добавления записи используется следующий синтаксис:

В начале добавим город в таблицу городов:

При добавлении записи не обязательно указывать значения для всех полей. Многие из полей имеют значения по умолчанию, которые сами заполняются при сохранении.

Теперь создадим запись о погоде за сегодняшний день. При определении таблицы weather_log мы решили ссылаться на город, путём записи в поле city_id идентификатора города из таблицы cities. Так как мы только что добавили новый город, ничего не мешает использовать его идентификатор в записи о погоде. Идентификатором города будет первичный ключ, который также был определён в качестве первого поля таблицы. Нумерация этого поля начинается с единицы, значит первая добавленная запись имеет идентификатор . Зная это, запрос на добавление записи о погоде в Санкт-Петербурге за третье сентября 2017 года выглядит так:

Skillbox

Онлайн-курс SQL для анализа данных

Курс для тех, кому нужно работать с базами данных. Вы освоите язык запросов SQL — и с его помощью сможете самостоятельно получать нужные данные, сопоставлять и анализировать их.

Чему вы научитесь

  • Пользоваться популярными СУБД Узнаете особенности работы в MySQL, PostgreSQL, MS SQL.
  • Писать запросы к базам данных Освоите основные операторы SQL: SELECT, INSERT, UPDATE, DELETE — и сможете запрашивать, загружать, обновлять и удалять данные.
  • Выполнять операции над данными Научитесь фильтровать, сортировать, группировать и объединять данные из разных таблиц, а также применять функции SQL.
  • Готовить данные для Excel Научитесь подготавливать данные для сводных таблиц и графиков в Excel.

Вас ждут онлайн-лекции и практические задания на основе реальных данных.

Программа

  • Анализ данных и SQL
  • Оператор SELECT — выбор колонок
  • Оператор SELECT — фильтрация строк
  • Сортировка и функции
  • Агрегатные функции и группировка
  • Объединение
  • Модификация таблиц
  • Подготовка данных для Excel
  • Оконные функции

SQL syntax used

User’s queries are executed by SQL server that brings some limitations to the syntax of SQL statements. Now we use Microsoft SQL Server 2019 (15.0) on the rating stages, and MariaDB-10.4 (compatible with MySQL 8), PostgreSQL 12.3, and Oracle Database 11g on the learn stage in addition. That is why You should follow the syntax of these realizations when building queries. It should be noted that SQL syntax, implemented in Microsoft SQL Server, is close to that of SQL-92 standard. But there are some distinctions, among them is absence of NATURAL JOIN of tables. Supplied help on SQL Data Manipulation Language is held in accordance with SQL-92 standard and contains information necessary for solving the exercises. In the same place it is possible to find features of used realization (SQL Server 2005).

Э. Гамма, Р. Хелм, Р. Джонсон, Д. Влиссидес «Паттерны проектирования»


Проектирование объектно-ориентированных программ — нелегкое дело, а если их нужно использовать повторно, то все становится еще сложнее.

Э. Гамма

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

Очень часто начинающий разработчик самостоятельно берется за решение уже более тысячи раз решенной до него задачи проектирования и изобретает очередную разновидность пятиколесного велосипеда, истинно гордясь своим «новшеством». Владение языком паттернов позволяет решить множество задач проектирования наиболее оптимальным способом, затрачивая при этом минимум усилий. Всего двадцать описанных в книге паттернов предоставляют инструментарий для решения огромного спектра задач проектирования ПО. Материал книги довольно сложен и требует от читателя определенных знаний в области объектно-ориентированного проектировании. Для освоения паттернов недостаточно просто прочитать книгу, необходимо основательно над ней «попотеть». Впрочем, твои усилия не пройдут даром. Книга содержит 350 страниц и состоит из двух частей. В первой части дается общее понятие паттернов проектирования, описывается их практическое применение на примере создания визуального редактора документов Lexi. Вторая часть книги содержит каталог паттернов с подробным описанием назначения, структуры, особенностей реализации и примерами применения каждого паттерна.

Коллектив авторов известен как Gang of Four («Банда четырех»), поэтому представленные в книге паттерны называют GoF. Авторы разбивают все множество представленных паттернов на три группы: порождающие паттерны, структурные паттерны и паттерны поведения. Порождающие паттерны решают задачу инстанцирования (создание экземпляров) классов. К самым популярным паттернам в данной группе можно отнести AbstractFactory (абстрактная фабрика), FactoryMethod (фабричный метод) и Singleton (одиночка).

Структурные паттерны предназначены для решения вопросов компоновки системы на основе классов и объектов. К ним относятся такие важнейшие паттерны, как Adapter (адаптер), Bridge (мост), Composite (компоновщик), Proxy (заместитель) и Façade (фасад). Паттерны поведения связаны с алгоритмами и вопросами распределения обязанностей между классами. Здесь необходимо упомянуть Strategy (стратегия), TemplateMethod (шаблонный метод), Observer (наблюдатель), Command (команда) и Iterator (итератор).

Единственное, что может смутить читателя, — некоторые примеры в книге написаны на малоизвестном на сегодняшний день языке программирования Smalltalk, а для изображения диаграмм классов вместо привычного UML используется OMT (Object Modeling Technique).

Гуру ООАиП Мартин Фаулер пишет: «Паттерны GoF — это лучшая из когда-либо изданных книг по объектно-ориентированному проектированию. Эта книга чрезвычайно влиятельна в индустрии программного обеспечения — только посмотрите на библиотеки Java и .NET, которые буквально кишат паттернами GoF». Не существует специалиста в области объектно-ориентированного проектирования, незнакомого с паттернами GoF, а если такой и есть, то в этом случае его, скорее всего, нельзя назвать специалистом.

Операции над множествами

Реляционная алгебра является расширением классического набора операторов над множествами (отношение — это множество упорядоченных кортежей; заметьте, что это совсем не равно упорядоченному множеству кортежей). Пусть у нас есть таблица StudentMark(Name, Mark, Subject, Date) – тогда кортеж (Вася, 5, Информатика, 05.10.2010) является упорядоченным – сначала строка Name на первой (ок, или нулевой) позиции, целое число на второй, строка на третьей и дата на четвертой. При этом сами упорядоченные кортежи (Name, Mark, Subject, Date) не упорядочены «внутри» отношения.


— объединение всех строк в A и B, ограничение — одинаковые аттрибуты

— пересечение строк, такое же ограничение

— B минус A, все строки, что присутствуют в B, но не присутствуют в A, такое же ограничение

(B\A; A — слева, B — справа)

Вспомогательные операторы

— join (соединение); join соединяет две записи таблиц A и B, при условии, что для этих двух записей выполнено условие φ.

Фоксфорд

  • Предметы: математика, русский язык, физика, информатика, обществознание, биология, английский язык, химия, история, литература, география.
  • Формат: индивидуальные онлайн занятия или групповые  онлайн занятия
  • Стоимость: от 175 руб./ак.час (групповые), от 854 руб./урок (индивидуально)

В онлайн-школе Фоксфорд школьников готовят к ЕГЭ на специальных профильных курсах или индивидуальных занятиях с экспертными преподавателями. Образовательная деятельность Фоксфорда лицензирована с 2016 г. Проект является членом «Нетологии-групп» и резидентом «Сколково».

Программы курсов разработаны экспертами в области ЕГЭ, составителями олимпиадных и экзаменационных заданий. Обучение в онлайн-школе Фоксфорд ведут преподаватели сильнейших вузов страны, таких как МГУ, ВШЭ, МФТИ.

Занятия проходят на платформе Фоксфорд.Класс, которая доступна на компьютере и мобильных устройствах. Помимо прохождения урока в онлайне вместе с преподавателем, ученик может просмотреть его в записи. По всем темам предоставляется теоретический материал и домашние задания, которые индивидуально корректируются под результат ученика и его успеваемость.

Есть варианты суперинтенсивов (1 месяц), экспресс-подготовки (3 месяца),  безлимитного доступа к занятиям по всем предметам на год и другие удобные форматы занятий и оплаты.

Результаты учеников Фокфсорда согласно опубликованному исследованию на сайте школы: • показатели по ЕГЭ на 20-25 баллов выше, чем средний балл у выпускников по России; • результат более 80 баллов у 55% учащихся Фоксфорда; • поступление более 280 тысяч выпускников школы в МГУ, МГТУ им Н.Э.Баумана, НИУ ВШЭ.


Образовательный проект высоко оценивают и рекомендуют ректоры ведущих вузов страны.

Tutor Online

  • Предметы: все
  • Формат: индивидуальные онлайн занятия
  • Бесплатный пробный урок: да (записаться)
  • Стоимость: от 490 руб./ак.час.

В образовательном проекте Tutor Online около 600 преподавателей готовят школьников к сдаче ЕГЭ. С 2011 г. в онлайн-школе было проведено более 500 тысяч уроков, а количество выпускников достигло почти 30 тысяч человек.

Занятия проходят в виртуальном классе на собственной платформе или по Skype. Преимущества школы Tutor Online для своих учеников: • Удобная виртуальная платформа; • Возможность выстроить собственное расписание и распланировать график уроков по разным предметам; • Занятия возможны 24 часа в сутки ежедневно; • Обучение проводится по индивидуальным авторским методикам.

Все материалы уроков и видео доступны в личном кабинете ученика. Начать подготовку на Tutor Online можно в любой момент – для тех, кто присоединился после старта обучения предоставляется доступ к записи пройденных уроков, конспектов и заданий.

Учителя образовательного портала являются экспертами ЕГЭ, составителями задач и членами экзаменационных комиссий. Кандидаты школы Tutor Online проходят строгий отбор, тестирование и подтверждают свою квалификацию документально.

О качестве образования говорят высокие оценки учеников. 98% выпускников довольны обучением и оценивают работу репетиторов школы Tutor Online на отлично.

Первый тур, отборочный. Декабрь 2016

Тут я конечно воспользовался наработками своих коллег от того же самого конкурса, но в предыдущем году, за что им отдельное спасибо. У IT-Планеты есть специальный движок, который проводит тестирование. Была собрана база из сотни с лишним вопросов с вариантами ответов, которые требуется выбрать. Участнику выдаётся 30 вопросов. Даже если участник принимал участие в прошлом году, больше одного-двух вопросов вряд ли повторится. И особой погоды это никому не сделает.

Так что менять вопросы кардинально я не стал, перетряхнул имеющиеся, исправил несколько замеченных ошибок, кое-что наверняка оставил на развод последующим поколениям. Вопросы такие получились бодрые, уровня типичного прометриковского онлайн-теста. Плюс специально было сделано затруднение в том, что в каждом вопросе требовалось выбрать все правильные варианты, но сколько их там правильных не указывалось. При этом засчитывались только вопросы, на которые указаны все верные ответы. То есть просто потыкать мышкой и получить, как в некоторых тестах, среднестатистические 25% не выйдет ни разу. В результате я сам, пока выверял правильность загрузки вопросов/ответов, при полном прохождении всех вопросов регулярно отвечал неправильно на пару из них.

Ожидалось, что такое сито хорошо распределит участников по уровню знаний SQL вообще и Oracle SQL в частности, более знающие займут более высокую позицию. Тридцать вопросов на каждого участника статистически нивелируют «особенности» отдельных вопросов. Плюс терапевтический эффект для участников, что всё серьёзно и пощады не будет.

Практика подтвердила правильность ожиданий, действительно участники достаточно неплохо распределились по Пуассону(?) с семью правильно отвеченными вопросами в среднем. Один участник даже сумел все 30 вопросов правильно ответить (повезло, чего уж там!), 29 правильных ответов уже были у четверых участников. Шесть человек прошли чисто, не угадав ни разу. Короче, то что надо. Такой подход позволил выбрать подходящий проходной балл, чтобы сформировать нужное количество участников второго тура, отобрав лучших. По планам организаторов во второй тур должно было пройти около двух сотен участников с некоторыми вполне разумными ограничениями, максимизирующими разнообразие участников по странам и вузам.


С этим читают