Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Управление полями

Отбор данных из таблиц

DROP INDEX

DROP INDEX

DROP INDEX

DROP INDEX

IndNamePosition ON Personnel.db (Name, Position)

CREATE INDEX

IndName ON Personnel.db (Name)

CREATE INDEX

А так по двум:

 

Для удаления индекса используется оператор drop index формата

<Имя таблицы>.<Имя индекса >

или

<Имя таблицы >.PRIMARY

 

Во время удаления индекса таблица не должна использоваться другими прило­жениями. При выполнении оператора drop index можно удалить один индекс, обозначив его составным именем, состоящим из имени таблицы и собственно имени индекса. Если удаляется первичный индекс (ключ) таблицы Paradox, то вместо имени индекса указывается описатель primary, поскольку главный ключ не имеет имени.


Например, в операторе

"Personnel.db".indNamePosition

ИЗ таблицы Personnel удаляется индекс indNamePost, созданный по полям Name И Position.

Первичный ключ удаляется так:

"Personnel.db".PRIMARY

Если удаляемый индекс отсутствует или таблица используется другим приложе­нием, то генерируется исключительная ситуация.


Отбор данных из таблиц заключается в получении из них полей и записей, удовлетворяющих заданным условиям. Результат выполнения запроса, на осно­вании которого отбираются записи, называют выборкой. Данные можно выби­рать из одной или нескольких таблиц с помощью оператора select.

3.1. Описание оператора SELECT

Оператор select — важнейший оператор языка SQL. Он используется для отбо­ра записей, удовлетворяющих сложным критериям поиска, и имеет следующий формат:

SELECT [DISTINCT] {* | <Список полей>}

FROM <Список таблиц>

[WHERE <Условия отбора >]

[ORDER BY <Список полей для сортировки >]

[GROUP BY <Список полей для группирования >]

[HAVING <Условия группирования >]

[UNION <Вложенный оператор SELECT>]

Результат выполнения SQL-запроса, заданного оператором select, представляет собой выборку записей, отвечающих заданным в нем условиям. При рассмотре­нии оператора select будем предполагать, что SQL-запрос набран и выполнен с помощью компонента Query. В этом случае результатом выполнения запроса является соответствующий этому компоненту набор данных.

В таком результирующем наборе данных могут быть разрешены или запрещены повторяющиеся записи (т. е. имеющие одинаковые значения всех полей). Этим режимом управляет описатель distinct. Если он отсутствует, то в наборе дан­ных разрешаются повторяющиеся записи.

В оператор select обязательно включается список полей и операнд from, ос­тальные операнды могут отсутствовать. В списке операнда from перечисляются имена таблиц, для которых отбираются записи. Список должен содержать как минимум одну таблицу.

Список полей определяет состав полей результирующего набора данных, эти поля могут принадлежать разным таблицам. В списке должно быть задано хотя бы одно поле. Если в набор данных требуется включить все поля таблицы (таблиц), то вместо перечисления имен полей можно указать символ *. Если список содержит поля нескольких таблиц, то для указания принадлежности по­ля к той или иной таблице используют составное имя, включающее в себя имя таблицы и имя поля, разделенные точкой: <имя таблицы>. <Имя поля>.

Операнд where задает условия (критерии) отбора, которым должны удовлетво­рять записи в результирующем наборе данных. Выражение, описывающее усло­вия отбора, является логическим. Его элементами могут быть имена полей, опе­рации сравнения, арифметические и логические операции, скобки, специальные функции LIKE, NULL, IN и др.

Операнд group by позволяет выделять группы записей в результирующем наборе данных. Группой являются записи с одинаковыми значениями в полях, пере­численных за операндом group by. Выделение групп нужно для выполнения групповых операций над записями, например, для определения количества ка­кого-либо товара на складе.

Операнд having действует совместно с операндом group by и используется для отбора записей внутри групп. Правила записи условий группирования анало­гичны правилам формирования условий отбора в операнде where.

Операнд order by содержит список полей, определяющих порядок сортировки записей результирующего набора данных. По умолчанию сортировка по каждо­му полю выполняется в порядке возрастания значений; если необходимо задать для поля сортировку по убыванию, то после имени этого поля указывается опи­сатель DESC.

Операторы select могут иметь сложную структуру и быть вложенными друг в друга. Для объединения операторов используется операнд union, в котором рас­полагается вложенный оператор select, называемый также подзапросом. Резуль­тирующий набор данных представляют записи, отобранные в результате выпол­нения условий отбора, заданных операндами where обоих операторов.

Оператор select используется также внутри других операторов, например, опе­раторов модификации записей, обеспечивая для их выполнения требуемый от­бор записей.

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

Пример отбора всех полей в таблице:

SELECT * FROM Personnel.db

В результате выполнения этого запроса из таблицы Personnel в набор данных попадают все поля и все записи, и набор данных имеет вид:

 

<== предыдущая лекция | следующая лекция ==>
Create index | FROM Personnel
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 441; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.