четверг, 21 марта 2013 г.

Почему реляционные методы предпочтительней (joins)

(!) Выполните подготовку по ссылке 


-- Почему соединения важны?
-- Почему реляционные методы предпочтительней?

-- 
-- Давайте решим задачу:
-- Найти курсы, у которых направление обучения содержит 'SQL'.
-- Решим задачу "в лоб" без соединений

-- 1. Найдем номер направления обучения

DECLARE @BranchID INT

SELECT   @BranchID = BranchID
FROM Specialist.dbo.Branch
WHERE    Name LIKE '%SQL%'

-- 2. Найдем курсы соответствующие номеру направления обучения

SELECT   Name
FROM Specialist.dbo.Course
WHERE    BranchID = @BranchID

-- Проанализируйте результат
--
USE Specialist
-- Решим задачу с соединениями на основе реляционных методов

SELECT
    Course.Name
    ,Branch.Name
FROM Course
         INNER JOIN
    Branch
    ON Course.BranchID = Branch.BranchID
WHERE Branch.Name LIKE '%SQL%'

-- Почувствуйте разницу