# 5 сайтов для оттачивания навыков

##

Одним из ключевых навыков при работе с базами данных является умение писать sql-запросы. Мы отобрали 5 лучших сайтов для оттачивания этого навыка.

## 1. [sql-ex](http://sql-ex.ru/) и [sql-tutorial](http://sql-tutorial.ru/sqlbook/ru)

Два сайта указаны вместе, так как представляют собой один ресурс. [sql-tutorial](http://sql-tutorial.ru/sqlbook/ru) - это интерактивный онлайн-учебник по изучению SQL, где подробно и структурировано расписана вся необходимая теория, а в конце каждой главы прилагаются уже разобранные упражнения по данной теме с описанием типичных ошибок и способов решения. [sql-ex](http://sql-ex.ru/) полностью ориентирован на задачи по базам данных. Также стоит отметить возможность приобретения сертификата (платно) и то, что весь материал изложен на русском языке.

## 2. [pgexercises](https://www.pgexercises.com/)

Как следует из названия, этот сайт является задачником по написанию запросов, используя синтаксис Postgre DB. Упражнения делятся по тематикам. Рассматриваются такие вещи, как рекурсия, строки, использование aggregate функций и join’ов, работа с датами и подзапросами. Для желающих предоставляем ссылку на [документацию](https://www.postgresql.org/docs/9.3/static/index.html).

![sql](https://camo.githubusercontent.com/0ea505d71fdef144bc29ef480386866265de7ffa3e9ef5c30df5e241e410185c/68747470733a2f2f6d656469612e70726f676c69622e696f2f77702d75706c6f6164732f323031372f30362f53637265656e2d53686f742d323031372d30362d32392d61742d31302e32392e30342d414d2e706e67)

## 3. [SQLBolt](https://sqlbolt.com/)

Интерактивный туториал по изучению SQL. Рекомендуется для новичков и тех, кто желает освежить свои знания. Здесь нет типичного деления на практику и теорию, информация подаётся в формате уроков. Уроки состоят из необходимой теории с примерами, а в конце предлагается несколько задач по только что прочитанному материалу. Вводных уроков 18, разбираются такие темы, как ограничения, join'ы, выражения, агрегаты и действия с таблицами и со строками. Однако если вы уже прилично разбираетесь в написании запросов, то, возможно, вам стоит обратить внимание на более "продвинутые" источники.

![sql](https://camo.githubusercontent.com/076d837406526ca6e7adb6a1e299299b0348ba4180499d2937136b7c259fc5d5/68747470733a2f2f6d656469612e70726f676c69622e696f2f77702d75706c6f6164732f323031372f30362f53637265656e2d53686f742d323031372d30362d32392d61742d31302e32392e35302d414d2e706e67)

## 4. [sqlzoo](https://sqlzoo.net/)

Указанный ресурс отлично подойдёт для программистов любого уровня. Здесь есть простенькие задачи, разбитые по темам, теоретическая справка по каждому пункту и викторина по выбранной теме. Вся информация излагается лаконично и в доступной форме.

![sql](https://camo.githubusercontent.com/6be5f0fa667e3475898c8949710d0c3167db3385bed461fa0b973a4e09d54330/68747470733a2f2f6d656469612e70726f676c69622e696f2f77702d75706c6f6164732f323031372f30362f53637265656e2d53686f742d323031372d30362d32392d61742d31302e33312e30312d414d2e706e67)

## 5. [hackerrank](https://www.hackerrank.com/domains/sql/select)

Сайт, который исповедует принцип соревновательного программирования. Справки нет, упражнения делятся по темам, сложности и максимальному количеству баллов за безупречное решение задачи. Ресурс всемирный, и предоставляет возможность также посоревноваться в решении задач на C++, Python, [Java](https://proglib.io/p/java-web-developer-roadmap/) и PHP. Рекомендуется тем, кто уже неплохо разбирается в базах данных.

![sql](https://camo.githubusercontent.com/d47229b6a5c0007af0346a32cdab1751216e49b2d2776e22ff3dec5989803a71/68747470733a2f2f6d656469612e70726f676c69622e696f2f77702d75706c6f6164732f323031372f30362f53637265656e2d53686f742d323031372d30362d32392d61742d31302e33312e34322d414d2e706e67)

##
