MS SQL-Server 2000. Сивохин А.В. - 42 стр.

UptoLike

Составители: 

EXEC sp_dboption ‘InsertDB’, ‘select into/bulkCopy’, ‘on’
SELECT Col1 AS Счетчик, Col2 AS Имя,
Col3 AS Версия, Col5 AS Номер
Into Новая_TabF
From TabF
J)Выборка начальных строк таблицы:
USE Northwind
Select Top 7 * From Territories --различные
Select Top 10 Percent * From Territories --различные упорядоченные по TerritoryID
Select Order By TerritoryID With Ties * From Territories --все 7
Select All * From Territories --все строки таблицы
Select Distinct * From Territories -- все без дублирующих
K)Использование псевдонимов в запросе:
USE Pubs
Select Top 10 au_id, au_fname AS [Фамилия], au_lname
From Authors --имя 2-го столбца изменено
L)Включение в результат дополнительного столбца-выражения:
Select Top 7 NewID() AS Глобальный_уникальный_номер, '--', au_id, DatePart
(ms,GetDate())
From Authors --три колонки являются выражениями,из них две-безыменные
M)Использование подзапроса,возвращающего одну строку:
Select Top 5 (Select au_fname From authors --значение подзапроса
определяется
Where au_id='527-72-3246') AS Подзапрос, --заново для каждой строки
title_id
From Titles
N)Включение столбца-счетчика:
Select Top 50 Percent jobs.IDENTITYCOL AS Number,
job_id, job_desc From jobs
-- для одной таблицы задание ее имени для счетчика необязательно, т.е.jobs
необязательно
O)Использование ключевых слов CROSS JOIN для связывания двух таблиц:
USE Pubs
SELECT discounts.stor_id, discounts. discounttype,
stores.stor_name
FROM discounts CROSS JOIN stores --3*6=18 строк
-- убедиться, что CROSS JOIN можно заменить запятой
P)Использование ключевых слов INNER JOIN для связывания двух таблиц:
SELECT authors.au_lname, authors.au_fname, titleauthor.au_ord, titleauthor.royaltyper
FROM authors INEER JOIN titleauthor
ON authors.au_id = titleauthor.au_id
WHERE authors.sate = 'CA'
-- убедиться, что можно INNER JOIN заменить пробелом
Q)Использование ключевых слов LEFT OUTER JOIN для связывания двух таблиц:
SELECT authors.au_lname, authors.au_fname, titleauthor.royaltyper
FROM authors LEFT OUTER JOIN titleauthor
ON authors.au_id = titleauthor.au_id
WHERE (authors.state = 'CA') --19 строк
      EXEC sp_dboption ‘InsertDB’, ‘select into/bulkCopy’, ‘on’
      SELECT Col1 AS Счетчик, Col2 AS Имя,
                Col3 AS Версия, Col5 AS Номер
      Into Новая_TabF
      From TabF

      J)Выборка начальных строк таблицы:
      USE Northwind
      Select Top 7 * From Territories        --различные
             Select Top 10 Percent * From Territories --различные упорядоченные по TerritoryID
      Select Order By TerritoryID With Ties * From Territories --все 7
      Select All * From Territories            --все строки таблицы
      Select Distinct * From Territories       -- все без дублирующих

      K)Использование псевдонимов в запросе:
      USE Pubs
      Select Top 10 au_id, au_fname AS [Фамилия], au_lname
       From Authors --имя 2-го столбца изменено

      L)Включение в результат дополнительного столбца-выражения:
      Select Top 7 NewID() AS Глобальный_уникальный_номер,            '--', au_id, DatePart
      (ms,GetDate())
      From Authors --три колонки являются выражениями,из них две-безыменные

      M)Использование подзапроса,возвращающего одну строку:
           Select Top 5 (Select au_fname From authors                 --значение подзапроса
           определяется
                    Where au_id='527-72-3246') AS Подзапрос, --заново для каждой строки
                    title_id
            From Titles

      N)Включение столбца-счетчика:
      Select Top 50 Percent jobs.IDENTITYCOL AS Number,
                   job_id, job_desc From jobs
      --      для одной таблицы задание ее имени для счетчика необязательно, т.е.jobs
необязательно

      O)Использование ключевых слов CROSS JOIN для связывания двух таблиц:
      USE Pubs
      SELECT discounts.stor_id, discounts. discounttype,
                stores.stor_name
          FROM discounts CROSS JOIN stores --3*6=18 строк
      -- убедиться, что CROSS JOIN можно заменить запятой

      P)Использование ключевых слов INNER JOIN для связывания двух таблиц:
      SELECT authors.au_lname, authors.au_fname, titleauthor.au_ord, titleauthor.royaltyper
      FROM authors INEER JOIN titleauthor
      ON authors.au_id = titleauthor.au_id
      WHERE authors.sate = 'CA'
      -- убедиться, что можно INNER JOIN заменить пробелом

      Q)Использование ключевых слов LEFT OUTER JOIN для связывания двух таблиц:
      SELECT authors.au_lname, authors.au_fname, titleauthor.royaltyper
      FROM authors LEFT OUTER JOIN titleauthor
      ON authors.au_id = titleauthor.au_id
      WHERE (authors.state = 'CA')                  --19 строк