Программирование в Microsoft SQL Server 2000

Оператор SELECT

Разбить на страницы
Показывать лекцию целиком

Вы научитесь:

  • выбирать все столбцы в запросе;
  • выбирать подмножество столбцов в запросе;
  • переименовывать столбцы в запросе;
  • создавать вычисляемые столбцы в запросе;
  • возвращать первые n строк в запросе;
  • возвращать первые n процентов строк в запросе.
  • Использование оператора SELECT

    Синтаксис оператора SELECT очень сложен и состоит из множества фраз и ключевых слов, но базовая его структура достаточно проста:

    SELECT [TOP n [PERCENT]] список_столбцов
    FROM список_источников
    [WHERE условие_поиска]
    [ORDER BY выражение]

    Обязательными являются только первая и вторая фразы (разделы) оператора SELECT. Первая фраза, SELECT список_столбцов, задает столбцы, которые будут возвращены запросом. Список столбцов может содержать реальные столбцы из таблицы и представления (виды), на которых основывается запрос, либо содержать вычисляемые столбцы, получаемые из оригинальных столбцов. Вторая фраза, FROM список_источников, задает таблицы и представления, на которых основывается запрос.

    Выборка всех столбцов

    Простейшим случаем использования оператора SELECT является выборка всех столбцов из одной таблицы. Как большинство версий языка SQL, Transact-SQL позволяет вам использовать знак звездочки (*), если вы хотите задать все столбцы, поэтому в этом простом случае оператор будет иметь следующую форму:

    SELECT *
    FROM имя_таблицы

    Выберите все столбцы

  • Откройте конструктор запросов Query Designer для таблицы Properties, щелкнув правой кнопкой мыши на ее имени в рабочей панели Details Pane Enterprise Manager, открыв меню Open Table (Открытие таблицы) и выбрав Return All Rows (Показать все строки). SQL Server откроет конструктор запросов Query Designer для таблицы.
  • Включите панель SQL Pane, щелкнув на кнопке SQL Pane (Панель SQL)в панели инструментов конструктора запросов. Конструктор запросов отобразит панель SQL Pane.
  • Измените оператор SQL, чтобы отобразить все столбцы из таблицы Oils.
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы выполнить запрос. Конструктор запросов отобразит все записи из таблицы Oils.
  • Совет. Вы можете отобразить большее количество строк в панели результатов Results Pane, перетащив разделительную линию между двумя панелями.

    Выборка подмножества столбцов

    Хотя синтаксис SELECT * чрезвычайно прост в использовании, вам часто требуется, чтобы ваш запрос возвращал только избранные столбцы. Для этого следует указать столбцы в перечне список_столбцов оператора SELECT.

    Выполните отбор столбцов с использованием панели SQL Pane

  • Замените
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов отобразит только столбец OilName.
  • Выполните отбор столбцов с помощью панели диаграмм Diagram Pane

  • Скройте панель SQL Paneи отобразите панель диаграмм Diagram Pane, щелкнув на кнопках в панели инструментов конструктора запросов.
  • Щелкните на поле LatinName в панели диаграмм Diagram Pane. Конструктор запросов сделает панель результатов Results тусклой, указывая на то, что результаты больше не являются корректными.
  • Нажмите кнопку Run (Выполнить), чтобы исполнить запрос. Конструктор запросов отобразит в панели результатов Results Pane как столбец OilName, так и столбец LatinName.
  • Создание псевдонимов столбцов

    По умолчанию столбец в запросе носит то же имя, которое он имел в исходной таблице или строке. Однако полезно иметь возможность изменять имя, либо по причине слишком большой его длины ( "MyLongColumnNameWithNoSpaces" ), либо просто потому, что оно слишком непривычно для его отображения пользователю ("pk_varchar_50_col32713"). Оператор SELECT позволяет переименовывать столбцы в запросе путем создания псевдонимов. Псевдоним изменяет имя столбца в запросе, но не в таблице.

    Создайте псевдоним столбца с использованием панели сетки Grid Pane

  • Скройте панель диаграмм Diagram Paneи отобразите панель Grid Pane, щелкнув на кнопках в панели инструментов конструктора запросов.
  • Создайте псевдоним для столбца OilName, введя
  • Примечание. Квадратные скобки не будут отображаться в результате выполнения запроса. Они просто указывают SQL Server интерпретировать текст "Oil Name" как одно имя. Квадратные скобки обязательны только в том случае, если псевдоним содержит пробел, но они могут использоваться для любого имени столбца.

  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит имя в заголовке столбца с пробелом между словами.
  • Создайте псевдоним столбца с использованием панели SQL Pane

  • Скройте панель сетки Grid Paneи отобразите панель SQL Pane, щелкнув на кнопках в панели инструментов конструктора запросов Query Designer.
  • Добавьте [Latin Name] в качестве псевдонима для второго столбца.
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов отобразит имя в заголовке столбца с пробелом между двумя словами.
  • Создание вычисляемых столбцов

    В дополнение к столбцам, которые просто отображают информацию из исходных таблиц и представлений, ваш запрос может также содержать столбцы, которые вычисляются на основе исходных данных, функций SQL Server или любой их комбинации. Вычисляемый столбец создается путем задания выражения в качестве столбца. Подробнее с выражениями Transact-SQL мы познакомимся в уроке 21, поэтому в этом упражнении мы лишь используем пару простых выражений на основе оператора + конкатенации строк, который складывает две строки, а также функции GETDATE, возвращающей текущие системные дату и время.

    Создайте вычисляемый столбец с использованием панели сетки Grid Pane

  • Скройте панель SQL Paneи отобразите панель сетки Grid Pane,щелкнув на кнопках в панели инструментов конструктора запросов.
  • Щелкните на пустой ячейке столбца в панели сетки Grid Pane и введите OilName + ' - ' + LatinName.
  • Совет. Вы можете сделать ячейки в панели сетки Grid Pane шире, перетащив разделительные линии между заголовками столбцов.

  • Нажмите клавишу Tab. SQL Server предложит в качестве псевдонима столбца Expr1.
  • Измените псевдоним на Extended Name.
  • Нажмите кнопку Run (Выполнить), чтобы повторно исполнить запрос. Конструктор запросов отобразит новый столбец в панели результатов Results Pane.
  • Создайте вычисляемый столбец с использованием панели SQL Pane

  • Скройте панель сетки Grid Paneи отобразите панель SQL Pane, щелкнув на кнопках в панели инструментов конструктора запросов.
  • Добавьте
  • Совет. Не забудьте поставить запятую перед GETDATE!

  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит текущие данные в каждой из строк.
  • Использование фразы TOP n

    Когда вы выбираете команду Return Top (Показать первые) из контекстного меню таблицы, SQL Server использует фразу TOP n, чтобы создать отображение в конструкторе запросов Query Designer. Помимо задания определенного количества строк, вы также можете отобразить часть строк в процентах от общего их количества, воспользовавшись фразой TOP n PERCENT, которая, как можно ожидать, возвращает указанный процент строк.

    Отобразите первые 5 строк

  • Добавьте фразу
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит только первые пять строк.
  • Отобразите первые 5 процентов строк

  • Добавьте слово
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. SQL Server отобразит только первые пять процентов строк.
  • Краткое содержание

    Чтобы ...Синтаксис оператора SELECT
    Выбрать все строки в запросе SELECT * FROM <таблица>
    Выбрать подмножество столбцов в запросе SELECT <столбец>, <столбец>...
    Переименовать столбцы в запросе SELECT <столбец> AS <псевдоним>...
    Создать вычисляемые столбцы в запросе SELECT <выражение> AS <псевдоним>...
    Вернуть первые n строк в запросе SELECT TOP <количество строк>...
    Вернуть первые n процентов строк в запросе SELECT TOP <процент строк> PERCENT...
    Страницы:

    Вы научитесь:

  • выбирать все столбцы в запросе;
  • выбирать подмножество столбцов в запросе;
  • переименовывать столбцы в запросе;
  • создавать вычисляемые столбцы в запросе;
  • возвращать первые n строк в запросе;
  • возвращать первые n процентов строк в запросе.
  • Использование оператора SELECT

    Синтаксис оператора SELECT очень сложен и состоит из множества фраз и ключевых слов, но базовая его структура достаточно проста:

    SELECT [TOP n [PERCENT]] список_столбцов
    FROM список_источников
    [WHERE условие_поиска]
    [ORDER BY выражение]

    Обязательными являются только первая и вторая фразы (разделы) оператора SELECT. Первая фраза, SELECT список_столбцов, задает столбцы, которые будут возвращены запросом. Список столбцов может содержать реальные столбцы из таблицы и представления (виды), на которых основывается запрос, либо содержать вычисляемые столбцы, получаемые из оригинальных столбцов. Вторая фраза, FROM список_источников, задает таблицы и представления, на которых основывается запрос.

    Выборка всех столбцов

    Простейшим случаем использования оператора SELECT является выборка всех столбцов из одной таблицы. Как большинство версий языка SQL, Transact-SQL позволяет вам использовать знак звездочки (*), если вы хотите задать все столбцы, поэтому в этом простом случае оператор будет иметь следующую форму:

    SELECT *
    FROM имя_таблицы

    Выберите все столбцы

  • Откройте конструктор запросов Query Designer для таблицы Properties, щелкнув правой кнопкой мыши на ее имени в рабочей панели Details Pane Enterprise Manager, открыв меню Open Table (Открытие таблицы) и выбрав Return All Rows (Показать все строки). SQL Server откроет конструктор запросов Query Designer для таблицы.
  • Включите панель SQL Pane, щелкнув на кнопке SQL Pane (Панель SQL)в панели инструментов конструктора запросов. Конструктор запросов отобразит панель SQL Pane.
  • Измените оператор SQL, чтобы отобразить все столбцы из таблицы Oils.
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы выполнить запрос. Конструктор запросов отобразит все записи из таблицы Oils.
  • Совет. Вы можете отобразить большее количество строк в панели результатов Results Pane, перетащив разделительную линию между двумя панелями.

    Выборка подмножества столбцов

    Хотя синтаксис SELECT * чрезвычайно прост в использовании, вам часто требуется, чтобы ваш запрос возвращал только избранные столбцы. Для этого следует указать столбцы в перечне список_столбцов оператора SELECT.

    Выполните отбор столбцов с использованием панели SQL Pane

  • Замените
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов отобразит только столбец OilName.
  • Выполните отбор столбцов с помощью панели диаграмм Diagram Pane

  • Скройте панель SQL Paneи отобразите панель диаграмм Diagram Pane, щелкнув на кнопках в панели инструментов конструктора запросов.
  • Щелкните на поле LatinName в панели диаграмм Diagram Pane. Конструктор запросов сделает панель результатов Results тусклой, указывая на то, что результаты больше не являются корректными.
  • Нажмите кнопку Run (Выполнить), чтобы исполнить запрос. Конструктор запросов отобразит в панели результатов Results Pane как столбец OilName, так и столбец LatinName.
  • Создание псевдонимов столбцов

    По умолчанию столбец в запросе носит то же имя, которое он имел в исходной таблице или строке. Однако полезно иметь возможность изменять имя, либо по причине слишком большой его длины ( "MyLongColumnNameWithNoSpaces" ), либо просто потому, что оно слишком непривычно для его отображения пользователю ("pk_varchar_50_col32713"). Оператор SELECT позволяет переименовывать столбцы в запросе путем создания псевдонимов. Псевдоним изменяет имя столбца в запросе, но не в таблице.

    Создайте псевдоним столбца с использованием панели сетки Grid Pane

  • Скройте панель диаграмм Diagram Paneи отобразите панель Grid Pane, щелкнув на кнопках в панели инструментов конструктора запросов.
  • Создайте псевдоним для столбца OilName, введя
  • Примечание. Квадратные скобки не будут отображаться в результате выполнения запроса. Они просто указывают SQL Server интерпретировать текст "Oil Name" как одно имя. Квадратные скобки обязательны только в том случае, если псевдоним содержит пробел, но они могут использоваться для любого имени столбца.

  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит имя в заголовке столбца с пробелом между словами.
  • Создайте псевдоним столбца с использованием панели SQL Pane

  • Скройте панель сетки Grid Paneи отобразите панель SQL Pane, щелкнув на кнопках в панели инструментов конструктора запросов Query Designer.
  • Добавьте [Latin Name] в качестве псевдонима для второго столбца.
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. Конструктор запросов отобразит имя в заголовке столбца с пробелом между двумя словами.
  • Создание вычисляемых столбцов

    В дополнение к столбцам, которые просто отображают информацию из исходных таблиц и представлений, ваш запрос может также содержать столбцы, которые вычисляются на основе исходных данных, функций SQL Server или любой их комбинации. Вычисляемый столбец создается путем задания выражения в качестве столбца. Подробнее с выражениями Transact-SQL мы познакомимся в уроке 21, поэтому в этом упражнении мы лишь используем пару простых выражений на основе оператора + конкатенации строк, который складывает две строки, а также функции GETDATE, возвращающей текущие системные дату и время.

    Создайте вычисляемый столбец с использованием панели сетки Grid Pane

  • Скройте панель SQL Paneи отобразите панель сетки Grid Pane,щелкнув на кнопках в панели инструментов конструктора запросов.
  • Щелкните на пустой ячейке столбца в панели сетки Grid Pane и введите OilName + ' - ' + LatinName.
  • Совет. Вы можете сделать ячейки в панели сетки Grid Pane шире, перетащив разделительные линии между заголовками столбцов.

  • Нажмите клавишу Tab. SQL Server предложит в качестве псевдонима столбца Expr1.
  • Измените псевдоним на Extended Name.
  • Нажмите кнопку Run (Выполнить), чтобы повторно исполнить запрос. Конструктор запросов отобразит новый столбец в панели результатов Results Pane.
  • Создайте вычисляемый столбец с использованием панели SQL Pane

  • Скройте панель сетки Grid Paneи отобразите панель SQL Pane, щелкнув на кнопках в панели инструментов конструктора запросов.
  • Добавьте
  • Совет. Не забудьте поставить запятую перед GETDATE!

  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит текущие данные в каждой из строк.
  • Использование фразы TOP n

    Когда вы выбираете команду Return Top (Показать первые) из контекстного меню таблицы, SQL Server использует фразу TOP n, чтобы создать отображение в конструкторе запросов Query Designer. Помимо задания определенного количества строк, вы также можете отобразить часть строк в процентах от общего их количества, воспользовавшись фразой TOP n PERCENT, которая, как можно ожидать, возвращает указанный процент строк.

    Отобразите первые 5 строк

  • Добавьте фразу
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы повторно исполнить запрос. SQL Server отобразит только первые пять строк.
  • Отобразите первые 5 процентов строк

  • Добавьте слово
  • Нажмите кнопку Run (Выполнить)в панели инструментов конструктора запросов, чтобы исполнить запрос. SQL Server отобразит только первые пять процентов строк.
  • Краткое содержание

    Чтобы ...Синтаксис оператора SELECT
    Выбрать все строки в запросе SELECT * FROM <таблица>
    Выбрать подмножество столбцов в запросе SELECT <столбец>, <столбец>...
    Переименовать столбцы в запросе SELECT <столбец> AS <псевдоним>...
    Создать вычисляемые столбцы в запросе SELECT <выражение> AS <псевдоним>...
    Вернуть первые n строк в запросе SELECT TOP <количество строк>...
    Вернуть первые n процентов строк в запросе SELECT TOP <процент строк> PERCENT...
    Вернуться к учебному плану