Навигация
⇒ SQL\T-SQL ⇐ CISCO Voice(Asterisk\Cisco) Microsoft Powershell Python FreeBSD and Nix 1С Общая WEB Разработка ORACLE SQL \ JAVA Мото Стрельба, пневматика, оружие Саморазвитие и психология
|
T-SQL: Join2 - 2я часть.sql
USE Sbase
--CREATE TABLE Course
--(
-- CourseID INT
-- ,Name NVARCHAR(50)
-- ,Duration INT
-- ,Price MONEY
-- ,BranchID INT
--)
--CREATE TABLE Branch
--(
-- BranchID INT
-- ,Name NVARCHAR(50)
-- ,TopBranchID INT
--)
--INSERT Sbase.dbo.Branch VALUES
--(1, 'Courses', NULL)
--,(2, 'DataBases', 1)
--,(3, 'AppDev', 1)
--,(4, 'SysAdm', 1)
--,(5, 'Users', 1)
--,(6, 'MS SQL Server 2008', 2)
--,(7, 'MySQL', 2)
--,(8, 'Oracle DB', 2)
--,(9, '1C', 3)
--,(10, 'Windows Server 2008', 4)
--,(11, 'MS Excel', 5)
--SELECT * FROM Sbase.dbo.Branch
--INSERT Sbase.dbo.Course VALUES
--(1, 'T-SQL 2778', 24, 15000, 6)
--,(2, 'Maintain 6231', 40, 15000, 6)
--,(3, 'Maintain 6232', 40, 15000, 6)
--,(4, 'PL/SQL', 40, 15000, 8)
--,(5, 'MySQL Dev', 40, 16000, 7)
--,(6, N'Язык запросов 1С', 8, 5000, 9)
--,(7, 'English for IT', 24, 10000, NULL)
--,(8, N'Вышивка', 100, 10000, 1000)
--SELECT * FROM Sbase.dbo.Course
--Подвох в переменную заносится только одно значение
--DECLARE @BID INT
----1.
--SELECT @BID = BranchID
--FROM Sbase.dbo.Branch
--WHERE Name LIKE '%SQL%'
----2.
--SELECT Name
--FROM Sbase.dbo.Course
--WHERE BranchID = @BID
--Что, откуда, по какому условию
SELECT C.Name
FROM
Branch AS B
INNER JOIN
Course AS C
ON B.BranchID = C.BranchID
WHERE B.Name LIKE '%SQL%'
SELECT C.Name AS [Course Name], B.Name AS [Branch Name]
FROM
Course AS C
LEFT OUTER JOIN
Branch AS B
ON B.BranchID = C.BranchID
SELECT C.Name AS [Course Name], B.Name AS [Branch Name]
FROM
Course AS C
RIGHT OUTER JOIN
Branch AS B
ON B.BranchID = C.BranchID
SELECT C.Name AS [Course Name], B.Name AS [Branch Name]
FROM
Course AS C
FULL OUTER JOIN
Branch AS B
ON B.BranchID = C.BranchID
--Создает таблицу и вносит в нее данные запроса
SELECT C1.*
INTO Sbase.dbo.TestCross
FROM
Course AS C1
CROSS JOIN
Course AS C2
DECLARE @NODE INT = 1
SELECT B1.BranchID, B1.Name
FROM
Branch AS B1
INNER JOIN
Branch AS B2
ON B1.TopBranchID = B2.BranchID
WHERE B2.BranchID = @NODE
Видео на YouTube: http://www.youtube.com/watch?v=54tLfod8OQU
Комментарии пользователей
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!
|