
Метод указания AIS
.pdf
Методические указания 1) Просмотрите все строки в таблице
В Enterprise Manager перейдите к папке Table базы данных Student. SQL Server отобразит список таблиц в рабочей панели Details Pane.
Щелкните правой кнопкой мыши на таблице kontengent, откройте меню Open Table (Открытие таблицы) и выберите Return All Rows (Показать все строки). SQL Server откроет конструктор запросов Query Designer с отображением всех строк в таблице (рисунок 77).
КАТУ ИМ.С.СЕЙФУЛЛИНА
Рисунок 77
2) Ограничьте количество отображаемых строк
К.ТЗакройте.Нконструктор. ОМАРБЕКОВАзапросов Query Designer. А.С.Щелкните правой кнопкой мыши на таблице kontengent в рабочей панели Details Pane, откройте
меню Open Table (Открытие таблицы) и выберите Return Top (Показать первые). SQL Server отобразит диалоговое окно, запрашивающее, сколько строк вы хотите извлечь.
Введите 5 в качествеСУБДмаксимального количества извлекаемых строк.
Нажмите ОК. Конструктор запросов Query Designer отобразит первые пять строк в таблице (рисунок 78).
Рисунок 78
Закройте окно конструктора запросов Query Designer.
3) Отредактируйте строку в конструкторе запросов Query Designer
Щелкните правой кнопкой мыши на таблице kontengent в рабочей панели Details Pane, откройте меню Open Table (Открытие таблицы), а затем выберите Return All Rows (Показать все строки), чтобы открыть конструктор запросов Query Designer для таблицы PlantParts.
71
Измените столбец таблицы kontengent для строки со значением PIN, равным 1. Конструктор запросов добавит значок Edit (Правка) к селектору строки, который указывает, что запись отредактирована, но изменения еще не сохранены.
Щелкните на любой другой строке. Конструктор запросов сохранит изменение и удалит значок правки Edit.
4) Добавьте новую строку в конструкторе запросов Query Designer
В конструкторе запросов Query Designer щелкните на столбце PIN в последней строке [отмеченной значком New (Новая)].
Введите 7777. Конструктор запросов пометит строку значком Edit (Правка) и добавит новую строку в конце таблицы.
Щелкните на любой другой строке в таблице. Конструктор запросов присвоит значение PIN новой строке и сохранит ее в таблице.
Контрольные вопросы
1.Какая панель предназначена для ввода операторов T-SQL?
2.Как ограничить количество отображаемых строк?
3.Как добавить новую строку в Query Designer?
КАТУ ИМ.С.СЕЙФУЛЛИНА
К.Т.Н. ОМАРБЕКОВА А.С.
СУБД
72

11 Оператор SELECT
В основе всех действий по выборке данных в окружении Microsoft SQL Server лежит один оператор Transact-SQL, оператор SELECT. В этом уроке вы познакомитесь с наиболее важными компонентами оператора SELECT, а также со способами использования конструктора запросов Query Designer для автоматического построения оператора для вас.
Воспользовавшись конструктором запросов Query Designer SQL Server, вы можете ввести оператор SELECT непосредственно в панели SQL Pane, либо заставить конструктор запросов сделать это для вас, воспользовавшись панелями диаграмм Diagram Pane или сетки Grid Pane. Одна возможность не исключает другую. Вы можете начать построение запроса путем добавления таблиц в панели диаграмм Diagram Pane, переименовать столбцы в панели сетки Grid Pane и указать порядок, в котором должны располагаться строки, введя фразу ORDER BY непосредственно в панели SQL Pane.
Использование оператора SELECT
Синтаксис оператора SELECT очень сложен и состоит из множества фраз и ключевых слов, но базовая его структура достаточно проста:
SELECT [TOP n [PERCENT]] список_столбцов
FROM список_источников [WHERE условие_поиска] [ORDER BY выражение]
Обязательными являются только первая и вторая фразы (разделы) оператора SELECT. Первая
КАТУфраза, SELECT списокИМстолбцов., Сзадает.столбцыСЕЙФУЛЛИНА, которые будут возвращены запросом. Список столбцов может содержать реальные столбцы из таблицы и представления (виды), на которых
основывается запрос, либо содержать вычисляемые столбцы, получаемые из оригинальных столбцов. Вторая фраза, FROM список_источников, задает таблицы и представления, на которых основывается запрос.
Выборка всех столбцов
К.ТПростейшим.Нслучаем. ОМАРБЕКОВАиспользования оператора SELECT является выборка всех столбцовАиз.однойС. таблицы. Как большинство версий языка SQL, Transact-SQL позволяет вам использовать знак звездочки
(*), если вы хотите задать все столбцы, поэтому в этом простом случае оператор будет иметь
следующую форму:
FROM имя_таблицы
SELECT * СУБД
Выборка подмножества столбцов
Хотя синтаксис SELECT * чрезвычайно прост в использовании, вам часто требуется, чтобы ваш запрос возвращал только избранные столбцы. Для этого следует указать столбцы в перечне список_столбцов оператора SELECT.
Создание псевдонимов столбцов
По умолчанию столбец в запросе носит то же имя, которое он имел в исходной таблице или строке. Однако полезно иметь возможность изменять имя, либо по причине слишком большой его длины ("MyLongColumnNameWithNoSpaces"), либо просто потому, что оно слишком непривычно для его отображения пользователю ("pk_varchar_50_col32713"). Оператор SELECT позволяет переименовывать столбцы в запросе путем создания псевдонимов. Псевдоним изменяет имя столбца в запросе, но не в таблице.
Создание вычисляемых столбцов
В дополнение к столбцам, которые просто отображают информацию из исходных таблиц и представлений, ваш запрос может также содержать столбцы, которые вычисляются на основе исходных данных, функций SQL Server или любой их комбинации. Вычисляемый столбец создается путем задания выражения в качестве столбца.
Использование фразы TOP n
Когда вы выбираете команду Return Top (Показать первые) из контекстного меню таблицы, SQL Server использует фразу TOP n, чтобы создать отображение в конструкторе запросов Query Designer. Помимо задания определенного количества строк, вы также можете отобразить часть строк в процентах
73

от общего их количества, воспользовавшись фразой TOP n PERCENT, которая, как можно ожидать, возвращает указанный процент строк.
Задания:
1)выберите все столбцы;
2)выполните отбор столбцов с использованием панели SQL Pane;
3)выполните отбор столбцов с помощью панели диаграмм Diagram Pane;
4)создайте псевдоним столбца с использованием панели сетки Grid Pane;
5)создайте псевдоним столбца с использованием панели SQL Pane;
6)создайте вычисляемый столбец с использованием панели сетки Grid Pane;
7)создайте вычисляемый столбец с использованием панели SQL Pane;
8)отобразите первые 5 строк;
9)отобразите первые 5 процентов строк.
Методические указания 1) Выберите все столбцы
Откройте конструктор запросов Query Designer для таблицы Properties, щелкнув правой кнопкой мыши на ее имени в рабочей панели Details Pane Enterprise Manager, открыв меню Open Table (Открытие таблицы) и выбрав Return All Rows (Показать все строки). SQL Server откроет конструктор запросов Query Designer для таблицы.
КАТУВключите панельИМSQL Pane,.Сщелкнув.СЕЙФУЛЛИНАна кнопке SQL Pane (Панель SQL) в панели инструментов конструктора запросов. Конструктор запросов отобразит панель SQL Pane.
Измените оператор SQL, чтобы отобразить все столбцы из таблицы kontengent.
Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы
выполнить запрос. Конструктор запросов отобразит все записи из таблицы kontengent (рисунок 79).
К.Т.Н. ОМАРБЕКОВА А.С.
Рисунок 79
Совет. Вы можете отобразить большее количество строк в панели результатов Results Pane, перетащив разделительную линию между двумя панелями.
2) Выполните отбор столбцов с использованием панели SQL Pane
Замените * в операторе SELECT на имя столбца FIO.
Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов отобразит только столбец FIO (рисунок 80).
74

Рисунок 80
3) Выполните отбор столбцов с помощью панели диаграмм Diagram Pane
Скройте панель SQL Pane и отобразите панель диаграмм Diagram Pane
, щелкнув на кнопках в панели инструментов конструктора запросов.
Щелкните на поле NAME в панели диаграмм Diagram Pane. Конструктор запросов сделает панель результатов Results тусклой, указывая на то, что результаты больше не являются корректными.
КАТУНажмите кнопкуИМRun (Выполнить.С)., чтобыСЕЙФУЛЛИНАисполнить запрос. Конструктор запросов отобразит в панели результатов Results Pane как столбец FIO, так и столбец NAME (рисунок 81).
К.Т.Н. А.С.
Рисунок 81
4) Создайте псевдоним столбца с использованием панели сетки Grid Pane
Скройте панель диаграмм Diagram Pane и отобразите панель Grid Pane
, щелкнув на кнопках в панели инструментов конструктора запросов.
Создайте псевдоним для столбца PIN, введя ИДЕНТИФИКАЦИОННЫЙ НОМЕР в поле Alias (Псевдоним). Конструктор запросов автоматически добавит квадратные скобки вокруг псевдонима, поскольку псевдоним содержит пробел.
Примечание. Квадратные скобки не будут отображаться в результате выполнения запроса. Они просто указывают SQL Server интерпретировать текст "ИДЕНТИФИКАЦИОННЫЙ НОМЕР" как одно имя. Квадратные скобки обязательны только в том случае, если псевдоним содержит пробел, но они могут использоваться для любого имени столбца.
75

Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит имя в заголовке столбца с пробелом между словами (рисунок 82).
Рисунок 82
5) Создайте псевдоним столбца с использованием панели SQL Pane
КАТУСкройте панельИМсетки Grid.PaneС.иСЕЙФУЛЛИНАотобразите панель SQL Pane , щелкнув на кнопках в панели инструментов конструктора запросов Query Designer.
Добавьте ФАМИЛИЯ в качестве псевдонима для второго столбца.
Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы
исполнить запрос. Конструктор запросов отобразит имя в заголовке столбца с пробелом между двумя
Ксловами.Т.(рисунокН.83). ОМАРБЕКОВА А.С.
Рисунок 83
6) Создайте вычисляемый столбец с использованием панели сетки Grid Pane
|
Скройте панель SQL Pane |
и отобразите панель сетки Grid Pane, |
щелкнув на кнопках в |
панели инструментов конструктора запросов. |
|
||
|
Щелкните на пустой ячейке столбца в панели сетки Grid Pane и введите FIO + ' ' + NAME. |
Совет. Вы можете сделать ячейки в панели сетки Grid Pane шире, перетащив разделительные линии между заголовками столбцов.
Нажмите клавишу Tab. SQL Server предложит в качестве псевдонима столбца Expr1.
Измените псевдоним на Фамилия Имя.
76

Нажмите кнопку Run (Выполнить), чтобы повторно исполнить запрос. Конструктор запросов отобразит новый столбец в панели результатов Results Pane (рисунок 84).
Рисунок 84
КАТУ7) Создайте вычисляемыйИМстолбец.Сс использованием.СЕЙФУЛЛИНАпанели SQL Pane
Скройте панель сетки Grid Pane и отобразите панель SQL Pane , щелкнув на кнопках в панели инструментов конструктора запросов.
Добавьте GETDATE() AS [Сегодняшняя дата] в список столбцов оператора SELECT.
Совет. Не забудьте поставить запятую перед GETDATE! К.ТНажмите.Нкнопку. ОМАРБЕКОВАRun (Выполнить) в панели инструментов конструктора запросовА, .чтобыС.
повторно исполнить запрос. SQL Server отобразит текущие данные в каждой из строк (рисунок 85).
Рисунок 85
8) Отобразите первые 5 строк
Добавьте фразу TOP 5 перед первым словом в списке_столбцов оператора SELECT в панели SQL
Pane.
Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит только первые пять строк (рисунок 86).
77

Рисунок 86
9) Отобразите первые 5 процентов строк
Добавьте слово PERCENT после TOP 5 в панели SQL Pane.
Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы КАТУисполнить запрос. SQLИМServer отобразит.Столько.СЕЙФУЛЛИНАпервые пять процентов строк (рисунок 87).
К.Т.Н. А.С.
Рисунок 87
Контрольные вопросы
1.Какой вид будет иметь оператор SELECT для выбора всех столбцов таблицы?
2.Каково предназначение псевдонима?
3.Что позволяет определить функция GETDATE?
4.Использование фразы TOP n позволяет: задать определенное количество строк запроса в
процентах, задать определенное количество столбцов запроса или задать определенное количество строк запроса?
5. Что определяет данный сценарий?
SELECT TOP 30 PERCENT stdID AS [ID], stdName AS [STUDENT_NAME], clsName AS [STUDENT_CLASS], GETDATE() AS [TODAY]
FROM STUDENTS, CLASSES
WHERE STUDENTS.stdID = CLASSES.clsID
78

12 Сортировка и выборка строк
Фраза ORDER BY
Фраза ORDER BY является необязательным компонентом оператора SELECT. Она позволяет вам задавать порядок, в котором строки будут возвращены. Можно задать несколько столбцов, а строки возвращать в порядке возрастания или убывания.
Сортировка строк
Простейшая форма фразы ORDER BY предоставляет имя одного столбца, который будет использоваться для сортировки строк, возвращенных запросом.
Сортировка по нескольким столбцам
Вы можете указывать в фразе ORDER BY несколько столбцов. Если указано несколько столбцов, порядок их следования определяет результат – SQL Server будет сортировать строки по первому столбцу, затем по второму столбцу и т.д.
Использование специальных операторов
В дополнение к стандартному формату фразы WHERE <столбец> <оператор> <значение> SQL Server также поддерживает три специальных оператора: LIKE, который позволяет вам указывать значения с использованием символов замещения, представленных в таблице 9 BETWEEN, который позволяет вам задавать диапазон значений; и IN, который позволяет вам задавать множество, в котором содержатся значения.
КАТУ_ |
ИМ.С.СЕЙФУЛЛИНА |
|||
|
Таблица 9 - Символы замещения |
|
|
|
|
Символ |
Значение |
Пример |
|
|
Любой одиночный символ |
Запрос: WHERE (NAME LIKE 'Мар__'). |
|
|
|
|
|
Результат: Марат, Мария, Марал. |
%Любая строка из нуля или более Запрос: NAME LIKE 'Мар%'.
|
|
символов |
Результат: Марина, Маржан, Марлен, Маргарита. |
|
|
[] |
Любой определенный символ |
Запрос: (NAME LIKE '[А-М]арина'). |
|
|
|
внутри области или множества |
Результат: Карина, Марина, Зарина. |
|
К.Т.Н. ОМАРБЕКОВА А.С. |
||||
|
[^] |
Любой определенный символ, не |
Запрос: (NAME LIKE '[^М]арина'). Результат: |
|
|
|
содержащийся в области или |
Карина, Зарина. |
|
|
|
множестве |
|
|
Объединение условийСУБДотбора
Помимо задания фразы WHERE с использованием одиночных выражений в формате <столбец> <оператор> <значение>, вы можете также объединять выражения с помощью логических операторов OR или AND. Условие WHERE в формате <выражение> OR <выражение> будет возвращать строки, которые отвечают одному из условий, в то время как условие WHERE в формате <выражение> AND <выражение> возвращает строки, отвечающие обоим условиям.
Задания:
1)отсортируйте строки с использованием панели сетки Grid Pane;
2)отсортируйте строки с использованием панели SQL Pane;
3)задайте условие WHERE с использованием панели сетки Grid Pane;
4)задайте условие WHERE с использованием панели SQL Pane;
5)задайте условие WHERE с использованием оператора LIKE;
6)задайте условие WHERE с использованием оператора BETWEEN;
7)задайте условие WHERE с использованием оператора IN;
8)задайте составное условие с использованием оператора OR.
79

Методические указания
1)Отсортируйте строки с использованием панели сетки Grid Pane.
Установите тип сортировки Sort Type для поля FIO Ascending (По возрастанию) (рисунок 88).
Рисунок 88
КАТУ2) ОтсортируйтеИМстроки с использованием.С.СЕЙФУЛЛИНАпанели SQL Pane
Добавьте DESC после фразы ORDER BY FIO (рисунок 89).
Примечание. Ключевое слово DESC предписывает SQL Server возвращать строки в порядке убывания. Ключевое слово ASC, которое является необязательным, возвращает строки в порядке
возрастания.
К.Т.Н. ОМАРБЕКОВА А.С.
Рисунок 89
3)Задайте условие WHERE с использованием панели сетки Grid Pane
Введите = 'Ахметова' в ячейку условия Criteria строки FIO в панели сетки Grid Pane.
Нажмите кнопку Run (Выполнить) в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server выведет список студентов с фамилией Ахметова (рисунок 90).
80