Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
db / Лекции / 6 семестр / Языки запросов.docx
Скачиваний:
134
Добавлен:
23.03.2015
Размер:
280.32 Кб
Скачать
      1. Основные фразы – select и from

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

Фраза FROM указывает, из какой таблицы следует выбрать данные, а фраза SELECT – какие именно столбцы из указанной таблицы должны быть выбраны. Следующий запрос приводит к выводу названий факультетов:

SELECT Name

FROM FACULTY;

Фраза FROM должна содержать имя хотя бы одной таблицы, а фраза SELECT – указание на вывод хотя бы одного ее столбца.

      1. Фраза select

        1. Синтаксис фразы select

Рассмотрим, как можно воспользоваться фразой SELECT для организации выдачи данных. Эта фраза имеет две синтаксические формы:

SELECT *

и

SELECT [DISTINCT | ALL]

выр_выбора [[AS] алиас][, выр_выбора [[AS] алиас]]...

Далее на примерах покажем все возможные варианты использования этой фразы.

        1. Указание выводимых столбцов

Основное назначение фразы SELECT - указать, какие столбцы исходной таблицы должны быть выведены.

Вывод значений определенных столбцов

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

Запрос.Вывести из таблицы SGROUP столбцы номера группы, номера курса и количества студентов в группе.

SELECT Num, Year, Quantity

FROM SGROUP;

NUM

YEAR

QUANTITY

505

5

27

504

5

31

307

3

33

408

4

27

201

2

35

Вывод всех столбцов

Также можно вывести все столбцы таблицы. Для этого следует либо все их перечислить во фразе SELECT, либо, если вас устраивает порядок расположения столбцов в исходной таблице, воспользоваться символом *.

Запрос.Вывести все столбцы таблицыDEPARTMENT.

SELECT DepPK, FacFK, Name, Head, Building, Fund

FROM DEPARTMENT;

либо

SELECT *

FROM DEPARTMENT;

DEPPK

FACFK

NAME

HEAD

BUILDING

FUND

1

1

базы данных

Соколов

6

26000

2

1

программирование

Федоров

б

12000

3

1

интернет

Стрельцов

3

10000

4

2

теория языков

Глущенко

3

10000

5

2

лингвистика

Коробов

3

14100

6

2

базы данных

Тараненко

5

27000

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

Уточнение имен

Имена столбцов являются уникальными в пределах одной таблицы, поэтому при использовании в запросе только одной таблицы никаких коллизий имен столбцов быть не может. Однако при вычислении запроса может использоваться несколько таблиц, и если в них имеются столбцы с одинаковыми именами, при обращении к ним возникает неоднозначность. В связи с этим в SQLдействует правило, согласно которому имя любого столбца в любом месте запроса может быть уточнено именем таблицы:

имя_таблицы.имя_столбца

Уточнять имена столбцов можно всегда, даже когда в этом нет необходимости. Так, например, рассмотренный выше запрос может иметь следующий вид:

SELECTSGROUP.Num,SGROUP.Year.SGROUP.Quantity

FROM SGROUP;