Of course it is. Here's an example: - Copy and paste it into management studio to play round with it.
DECLARE @Employee TABLE (
[EmployeeID] INT
, [EmployeeName] VARCHAR(255)
)
INSERT @Employee ([EmployeeID], [EmployeeName])
VALUES (1, 'Fred')
, (2, 'Barney')
DECLARE @Departments TABLE (
[DepartmentID] INT
, [DepartmentName] VARCHAR(255)
)
INSERT @Departments ([DepartmentID], [DepartmentName])
VALUES (1, 'Sales')
, (2, 'Collections')
DECLARE @EmployeeDepartments TABLE (
[EmployeeID] INT
, [DepartmentID] INT
)
INSERT @EmployeeDepartments ([EmployeeID], [DepartmentID])
VALUES (1, 1)
, (2, 2)
-- Example Select
SELECT
e.[EmployeeName]
, d.[DepartmentName]
FROM
@Employee AS e
JOIN @EmployeeDepartments AS ed ON ed.[EmployeeID] = e.[EmployeeID]
JOIN @Departments AS d ON d.[DepartmentID] = ed.[DepartmentID]
Transact Charlie
Msg 3903.. The ROLLBACK TRANSACTION request has no corresponding BEGIN TRANSACTION.
http://nosqlsolution.blogspot.co.uk/