Настало время перейти от теории к практике. Для дальнейшего изучения SQL Server создадим маленькую БД. Для создания БД Вам необходимо скачать с проект для шага с файлом SQLByStep.sql.
Этот скрипт содержит команды Transact SQL для создания БД с именем SQLByStep, трех таблиц в ней и заполнения их информацией. Для создания учебной БД Вам надо:
Ok, учебная БД создана и данные в нее внесены. Далее будет постоянно использоватья Query Analyzer для выполнения разнообразных запросов. Query Analyzer - инструмент для настоящих программистов :-) БД представляет собой фрагмент системы, использующей SQL для слежения за продажами. В БД имеется три таблицы Salespeople (Торговые агенты), Customers (Заказчики) и Orders (Заказы).
Таблица Salespeople (Торговые агенты):
Поле | Содержание |
---|---|
SNUM | уникальный код, назначенный каждому торговому агенту |
SNAME | имя торгового агента |
CITY | расположение агента (город) |
COMM | комиссионные продавца |
Таблица Customers (Заказчики)
Поле | Содержание |
---|---|
CNUM | уникальный номер, назначенный каждому заказчику |
CNAME | имя заказчика |
CITY | расположение заказчика (город) |
RATING | код, указывающий уровень предпочтения данного заказчика перед другими, более высокий уровень указывает на большее предпочтение |
SNUM | код агента, назначенного этому заказчику (из таблицы Salespeople |
Таблица Orders (Заказы):
Поле | Содержание |
---|---|
ONUM | уникальный номер каждого заказа |
AMT | сумма заказа (в условных единицах конечно же :-) |
ODATE | дата заказа |
CNUM | номер заказчика, делающего заказ (из таблицы Customers) |
SNUM | номер агента, принявшего заказ (из таблицы Salespeople) |
Теперь можно продемонстрировать как с помощью Transact-SQL извлекать информацию из таблиц.
Все запросы выполняются одной командой SELECT. В самой простой форме команда SELECT просто инструктирует БД, чтобы извлесь информацию из таблицы. Например, чтобы вывести содержимое таблицы Агентов (Salespeople) надо ввести следующее:
SELECT snum, sname, city, comm FROM Salespeople
Эта команда просто выводит все данные из таблицы. Вывод для этого запроса приведен ниже:
snum sname city comm ----- -------- ----------- ----- 1001 Иванов Москва 12 1002 Петров Хабаровск 13 1003 Егоров Караганда 10 1004 Сидоров Сочи 11 1007 Шилин Красноярск 15
В этой команде:
Если вы хотите видеть все столбцы таблицы используйте специальное сокращение:
SELECT * FROM Salespeople
Выведена информация будет также как и в преыдущем случае.
В общем случае команда SELECT начинается с ключевого слова SELECT, за ним идет список имен столбцов, которые Вы хотите видеть, или *(звездочка) если Вы хотите видеть все столбцы. За тем идет ключевое слово FROM, далее имя таблицы, к которой делается запрос.
Что будет дальше? Дальше предлагается углубится в команду SELECT: сортировка данных, сложные логические выражения и специальные операторы.