Все манипуляции представлены в виде кода команды и результата ее выполнения. Исходные состояния таблиц приведены в предыдущем разделе.

Перед каждой демонстрацией состояние базы данных сбрасывается к исходному!

Выборка с сортировкой двух полей в противоположных направлениях:

SELECT * FROM dbo.Question ORDER BY Id_Test ASC, Name DESC

SELECT * FROM dbo.Session ORDER BY Id_Test DESC, Start_Time ASC

SELECT * FROM dbo.TestCase ORDER BY Id_Creator DESC, Creation_Date ASC


Выборка по шаблону с использованием LIKE:

SELECT * FROM dbo.TestCase WHERE Description LIKE 'Общие%'

SELECT * FROM dbo.Type WHERE Description LIKE '___''t%' -- can't

SELECT * FROM dbo.Question WHERE Name LIKE '[КВ]%'

Выборка с использованием принадлежности (BETWEEN, IN, IS NULL):

SELECT * FROM dbo.TestCase WHERE Id BETWEEN 1 AND 4

SELECT * FROM dbo.Session WHERE Id_Test IN (3,5)

SELECT * FROM dbo.Session WHERE Passed_Questions IS NOT NULL


Выборка с использованием агрегативных функций:

SELECT SUM(Questions_Amount) FROM dbo.TestCase

SELECT Id_Creator, SUM(Questions_Amount) FROM dbo.TestCase GROUP BY Id_Creator -- ho how many questions have created

SELECT Id_Creator, SUM(Questions_Amount) FROM dbo.TestCase GROUP BY Id_Creator HAVING Id_Creator < 2