Своё намерение выйти на рынок дискретной графики Intel озвучила ещё два месяца назад. И в ходе ежегодной конференции SIGGRAPH 2018 компания подтвердила амбициозные планы, продемонстрировав промо-ролик грядущей линейки видеокарт собственного производства. Также стало известно, когда новые GPU под «синим» лейблом появятся на прилавках — впервые после многолетнего перерыва.
 
После долгого информационного молчания NVIDIA официально представила новую архитектуру видеокарт, положив конец многочисленным слухам. В ходе ежегодной конференции по вопросам компьютерной графики SIGGRAPH 2018 компания раскрыла кодовое имя нового поколения GPU, а также продемонстрировала вычислительные возможности новинок.

T-SQL поддерживает функциональность подзапросов (subquery), то есть таких запросов, которые могут встроены в другие запросы.

Например, создадим таблицы для товаров, покупателей и заказов:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
USE productsdb;

CREATE TABLE Products
(
   Id INT,
   IDENTITY PRIMARY KEY ,
   ProductName NVARCHAR(30) NOT NULL ,
   Manufacturer NVARCHAR(20) NOT NULL ,
   ProductCount INT DEFAULT 0,
   Price MONEY NOT NULL
);
CREATE TABLE Customers
(
   Id INT IDENTITY PRIMARY KEY ,
   FirstName NVARCHAR(30) NOT NULL
);
CREATE TABLE Orders
(
   Id INT IDENTITY PRIMARY KEY ,
   ProductId INT NOT NULL REFERENCES Products(Id) ON DELETE CASCADE ,
   CustomerId INT NOT NULL REFERENCES Customers(Id) ON DELETE CASCADE ,
   CreatedAt DATE NOT NULL ,
   ProductCount INT DEFAULT 1,
   Price MONEY NOT NULL
);


Дополнительно к стандартным операторам GROUP BY и HAVING SQL Server поддерживает еще четыре специальных расширения для группировки данных: ROLLUP, CUBE, GROUPING SETS и OVER.

ROLLUP

Оператор ROLLUP добавляет суммирующую строку в результирующий набор:

1
2
3
SELECT Manufacturer, COUNT (*) AS Models, SUM (ProductCount) AS Units
FROM Products
GROUP BY Manufacturer WITH ROLLUP

Для группировки данных в T-SQL применяются операторы GROUP BY и HAVING, для использования которых применяется следующий формальный синтаксис:

1
2
3
4
5
6
SELECT столбцы
FROM таблица
[ WHERE условие_фильтрации_строк]
[ GROUP BY столбцы_для_группировки]
[ HAVING условие_фильтрации_групп]
[ ORDER BY столбцы_для_сортировки]
Агрегатные функции выполняют вычисления над значениями в наборе строк. В T-SQL имеются следующие агрегатные функции:
  • AVG: находит среднее значение

  • SUM: находит сумму значений

  • MIN: находит наименьшее значение

  • MAX: находит наибольшее значение

  • COUNT: находит количество строк в запросе

В качестве аргумента все агрегатные функции принимают выражение, которое представляет критерий дя определения значений. Зачастую, в качестве выражения выступает название столбца, над значениями которого надо проводить вычисления.

Выражения в функциях AVG и SUM должно представлять числовое значение. Выражение в функциях MIN, MAX и COUNT может представлять числовое или строковое значение или дату.

Все агрегатные функции за исключением COUNT(*) игнорируют значения NULL.

Для изменения уже имеющихся строк в таблице применяется команда UPDATE. Она имеет следующий формальный синтаксис:

1
2
3
4
UPDATE имя_таблицы
SET столбец1 = значение1, столбец2 = значение2, ... столбецN = значениеN
[ FROM выборка AS псевдоним_выборки]
[ WHERE условие_обновления]

Например, увеличим у всех товаров цену на 5000:

1
2
UPDATE Products
SET Price = Price + 5000

Оператор IN

Оператор IN позволяет определить набор значений, которые должны иметь столбцы:

1WHERE выражение [ NOT ] IN (выражение)

Выражение в скобках после IN определяет набор значений. Этот набор может вычисляться динамически на основании, например, еще одного запроса, либо это могут быть константные значения.

Например, выберем товары, у которых производитель либо Samsung, либо Xiaomi, либо Huawei:

1
2
SELECT * FROM Products
WHERE Manufacturer IN ( 'Samsung', 'Xiaomi' , 'Huawei' )

Для фильтрации в команде SELECT применяется оператор WHERE. После этого оператора ставится условие, которому должна соответствовать строка:

1WHERE условие

Если условие истинно, то строка попадает в результирующую выборку. В качестве можно использовать операции сравнения. Эти операции сравнивают два выражения. В T-SQL можно применять следующие операции сравнения:

  • = сравнение на равенство (в отличие от си-подобных языков в T-SQL для сравнения на равенство используется один знак равно)

  • <> сравнение на неравенство

  • < меньше чем

  • > больше чем

  • !< не меньше чем

  • !> не больше чем

  • <= меньше чем или равно

  • >= больше чем или равно

Популярные новости

Опрос

Какие языки программирования вы хотите видеть на сайте

Другие опросы...