Инструкция SELECT. Изменение существующих данных. Файловые структуры для хранения информации в базах данных

Страницы работы

Фрагмент текста работы

Инструкция SELECT

Формирование запросов из базы данных

Общий вид команды SELECT

SELECT [DISTINCT][<псевдоним>]<выражение>[,…]

FROM <БД>[<псевдоним>][,…]

[INTO <получатель>][TO FILE][ADDITIVE][TO PRINTER]

[NO CONSOLE][NO WAIT][PLAIN]

[WHERE][<условие связи>][AND <условие связи>…]

[AND <условие отбора>][…]

[ORDER BY <колонка>[,…]]

[HAVING <условие отбора>]

[GROUP BY <колонка>…]

SELECT допускает включение в себя других внутренних команд SELECT

Строчки [1..2]

Указание результатов выборки и источников данных. Перед FROM перечисляются отбираемые выражения, а после – имена таблиц, из которых берутся данные. Выражение может быть полем записи, константой, функцией от переменных, полей и т.д. Если выражение является именем поля, то оно может быть составным. Псевдонимом может быть любое имя, которое вы присваиваете в команде SELECT. Это задаваемое временное имя указывается в опции <псевдоним>, после слова FROM. Никаких последствий за пределами SELECT такое назначение не имеет. Если необходимо построить выборку из всех полей таблицы, вместо их перечисления можно указать «*». В результате выполненной выборки получается совокупность колонок, заголовками которых могут быть имена полей. Если имена совпадают, то такие колонки получают совпадающие имена, к которым присоединяется одна из букв по алфавиту (TAB_A, TAB_B). Аналогичным образом даются имена колонкам, полученным в результате вычисления выражений. Их имена состоят из слова EXP и последовательности чисел (EXP_1, EXP_2). Исключения – выражения, использующие собственные функции SQL (MIN, MAX…). Имена колонок в этом случае будут включать имена функций. Если не устраивают имена, формируемые по назначению, можно назначить свои, указав их после слова AS в следующем виде:

<выражение> AS <новое имя колонки>  

Включение [DISTINCT] исключает возможность вывода одинаковых строк выборки.

Строчки [3..4]

указание объекта, куда пересылается выборка. <получатель> может быть таблица, массив, текстовый файл, экран, принтер. Кроме того, информация может быть переслана в так называемый курсор. Курсор – временный набор данных, который может быть временным файлом и имеет режим только чтения. Данные курсора могут быть напечатаны, из них может быть образовано меню, они могут использоваться командой BROWSE, курсор может быть обработан другой командой SELECT. К колонкам курсора обращаются по  имени этих колонок. Получатель может быть одним из следующих типов

ARRAY <имя массива>

CURSOR <имя курсора>

TABLE<имя>

Если используется слово ADDITIVE, то выборка будет добавлена в конец существующего файла без его перезаписи.

NO CONSOLE – выборка не выдается на экран

PLAIN – заголовки колонок не выдаются
NO WAIT – не делается пауза при заполнении экрана

Строчки [5..6]

Критерии отбора данных.

Условие связи применяется в том случае, если выборка осуществляется из более, чем одной таблицы и указывает критерий, которому должны отвечать поля из разных таблиц. Разрешается использовать знаки отношений >, <, >=, <=. Допускается задание нескольких критериев, соединенных AND. Условие отбора строится аналогично, но из выражений только для одной таблицы, и допускается использование логических операторов OR, NOT.<Условия> могут включать следующие операторы.

LIKE – позволяет построить условие сравнения по шаблону.

Формат: <выражение> LIKE <шаблон>

BETWEEN – проверяет, находится ли выражение в заданном диапазоне.

Формат: <выражение> BETWEEN <нижнее значение> AND <верхнее значение>

IN – проверяет, находится ли выражение, стоящее слева от IN, среди перечисленных справа от IN.

Все эти операторы можно комбинировать с помощью связок OR, AND, NOT и [].

Строчки [7..9]

Группировка, сортировка

GROUP BY <колонка> - задаются колонки, по которым производится группировка выходных данных. Все записи, для которых значения колонок совпадают, отображаются в выборке единственной строкой.

HAVING <условие отбора> - задает критерий отбора данных в каждую сформированную в процессе выборки группу.

ORDER BY <колонка> - опция задает упорядочивание по заданной колонке. По умолчанию – сортировка по возрастанию, но может быть задана и по убыванию.

  1. Выборка всех полей из базы STUD

SELECT * FROM STUD

  1. Вывод min, max, среднего значения поля стипендия

SELECT MAX(STIP), MIN(STIP), AVG(STIP) FROM STUD

  1. Вывод фамилий студентов, получающих стипендию от 500 до 1000 рублей.

SELECT FAM FROM STUD WHERE STIP BETWEEN 500 AND 1000

  1. Вывод фамилий всех студентов, кроме тех, кто учится на «ФБ» и «ФГО»

SELECT FAM, FAK FROM STUD WHERE FAK NOT IN (‘ФБ’, ‘ФГО’)

  1. Вывод названий всех факультетов из базы STUD

SELECT DISTINCT FAK FROM STUD

  1. Вывод фамилий студентов, которые являются семейными

SELECT FAM FROM STUD WHERE SEM_POL=”S”

SEM_POL – признак семейного положения

  1. Вывод фамилий студентов и номеров курса по алфавиту с другими именами колонок

SELECT FAM AS FAMILIA, CURS AS NUMBER_CURS;

FROM STUD ORDER BY FAM

Похожие материалы

Информация о работе

Предмет:
Базы данных
Тип:
Методические указания и пособия
Размер файла:
109 Kb
Скачали:
0