Одно упражнение, которое вы можете попробовать, это:
Возьмите часть вашего существующего кода отчетности с уровня приложения, предпочтительно тот, который создает единый табличный набор данных. Начиная с самых основных элементов, перенесите его в представление SQL.
Возьмите все столбцы, извлеченные из одной таблицы, и напишите оператор SQL, чтобы выбрать эти данные. Затем присоединяйтесь к одной таблице за раз и начинайте выяснять подходящие условия и логику для вашего вывода.
Вы можете столкнуться с какой-то конкретной задачей, которая на первый взгляд кажется невозможной в SQL, но в зависимости от реализации, с которой вы программируете, почти всегда есть способ получить искомый результат. Проверьте документацию по реализации SQL или попробуйте Google.
Преимущество этого упражнения заключается в предоставлении вам исходного отчета для проверки, чтобы вы знали, получаете ли вы ожидаемый результат.
Несколько вещей, на которые стоит обратить внимание:
- Рекурсия и графики - довольно продвинутые техники; Вы можете начать с чего-то проще. (У Джо Селко хорошая книга на эту тему, если вам интересно.)
- Часто существует большая разница между
BIT
и C-style bool
. По крайней мере, вам, возможно, придется явно привести ваш вывод с INT
к BIT
.
OUTER JOIN
s полезны, когда часть данных может быть пустой, но старайтесь не злоупотреблять ими.