Студопедия  
Главная страница | Контакты | Случайная страница

АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатика
ИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханика
ОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторика
СоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансы
ХимияЧерчениеЭкологияЭкономикаЭлектроника

Основные команды SQL

Читайте также:
  1. For, to, step, next - команды цикла
  2. I Кислотно-основные свойства.
  3. I Кислотные и основные свойства
  4. I. Определить основные критерии качества атмосферного воздуха.
  5. I. Основные богословские положения
  6. I. Основные задачи и направления работы библиотеки
  7. I. Основные парадигмы классической социологической теории.
  8. I. Основные положения
  9. I. ОСНОВНЫЕ ПОЛОЖЕНИЯ УЧЕБНОЙ ПРАКТИКИ
  10. I. ОСНОВНЫЕ ПОЛОЖЕНИЯ. РУКОВОДСТВО ПОДГОТОВКОЙ И НАПИСАНИЕМ КУРСОВОЙ РАБОТЫ

Select является мощным средством создания запросов на выборку инфор­мации. Приведем ее предварительный синтаксис:

Select <поля, выражения или *> From <исходные таблицы>

Where <условие отбора записей> Group By <поля для группировки>

Having <условие отбора группы> Order By <поля для сортировки>

Рассмотрим фразы команды (не все фразы обязательны).

Select [Distinct] <выражение> [[As] <псевдоним>] [,...]

From <таблица> [<тип связи> Join <таблица> On <условие связи>]...

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

Псевдоним задает наименование колонки (пробелы запрещены).

Для связывания таблиц используется фраза Join. Тип связи задается сло­вами: Left/Right (в запрос входят все записи из таблицы, стоящей в зап­ро­се слева/справа), Inner (входят только записи с совпадающими ключами связи).

Пример задания базового запроса по базе строек.

Select Stroiki.Ns, Stroiki.Ds, Stroiki.Ss, Stroiki.Fs, Stroiki.M, Stroiki.Em, Podrjdhiki.Np, Zakazhiki.Nz FROM “stroiki.DB“ Stroiki

Inner Join “zakazhiki.db“ Zakazhiki ON (Stroiki.Kz = Zakazhiki.Kz)

Inner Join “podrjdhiki.DB“ Podrjdhiki ON (Stroiki.Kp = Podrjdhiki.Kp)

В результате выполнения запроса получается совокупность колонок, в за­головках которых могут находиться имена полей. Если нас не устраивают имена, формируемые по умолчанию, то можно назначить свои (псевдо­нимы), указав их после слова As. В выражении могут исполь­зо­вать­ся соб­ственные специальные арифметические функции, действующие “по верти­кали”: среднее значение в группе (Avg),минимальное (Min),максимальное (Max),сумма (Sum),число записей в группе (Count). Функция может иметь в качестве аргумента звездочку (Count (*)), что означает подсчет всех записей, попавших в выборку.

Where<условие отбора> - условие отбора записей в запрос. В условиях допускается использование логических операторов And, Or, Not и круглых скобок. В условиях, кроме любых функций Pascal, могут содержаться сле­дующие операторы SQL:

<выражение> Like <шаблон>позволяет построить условие сравне­ния по шаблону, набор символов: “_” (неопределенный символ), “%” (лю­бые символы, например: Where Ns Like ‘Школа%’), [n‑k]% (любые сим­волы из интервала от n до k, например: Like ‘[A‑D]%’);

<выражение> Between <нижнее значение> And <верхнее значение>проверяет, находится ли выражение в указанном диапазоне (Where [Ss] Between 0 And 1000000);

<выражение> In (<выражение>,<выражение>,...) проверяет, нахо­дит­ся ли выражение, стоящее слева от слова IN, среди перечисленных справа от него (Where Kz In (1,2,6)).

Group By<колонка>[,<колонка>... ] ‑ задаются колонки, по которым про­изводится группирование выходных данных. Все записи таблицы, для ко­торых значения колонок совпадают, отображаются в выборке единствен­ной строкой. Группирование удобно для получения некоторых сводных характеристик (суммы, число записей, среднее) группы.

Пример. Вывести число сотрудников, максимальную, среднюю, ми­ни­маль­ную и итого­вую зарплату по подразделениям (поле Podr) по таб­лице SOTRUDNIKI.

Select podr, Count(*),Min (zarpl), Avg (zarpl), Max(zarpl), Sum (zarpl)

From Sotrudniki Group By podr Order By podr

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

Order By<колонка> [Asc/Desc] [,<колонка> [Asc/Desc]...] – опция, которая за­дает упорядочение по колонкам по возрастанию (Asc) или убыванию (Desc). Колонка задается номером или именем поля (Order By Kp, Kz).

Рассмотрим другие команды SQL.

Create Table<имя таблицы> (<поле> <тип поля> [Not Null],...) ‑ соз­да­ние таблицы (Create Table Kadr (Tab Integer, Fam Char (30) Not Null Primary Key (Tab))). Обязательное присутствие значения в поле задается пара­мет­ром Not Null. Основные типы полей в SQL в Delphi: SmallInt (Short), Integer (Long Integer), Numeric(x,y), Float (x,y), Char (n), Data, Boolean, Time, Money, Autoinc. Для других СУБД типы полей могут быть другими.

Create View <имя представления> [(<имя столбца>,...)] As <оператор Select> ‑ соз­да­ние представления с новыми именами столбцов (Create View NameStroek As Select Stroiki.Ns FROM Stroiki).

Alter Table<имя таблицы> {Add | Modify | Drop} <поле> [<тип поля>] [Not Null,... ‑ из­ме­не­ние структуры таблицы: включение (Add), изменение (Modify) и удаление (Drop, тип поля не указывается) полей таблицы (Alter Table Stroiki Add Gorod Integer Drop Kp).

Update<таблица> Set <имя поля>={<новое значение>|Null},...

[Where <условие>] ‑ изменение значений полей (Update Kadr Set Oklad=1.5*Oklad Where Cex=”Цех N2”).

Insert Into<имя таблицы>(<список полей>) {Values (<список значе­ний>)| Select...} ‑ включение новой записи или группы записей из другой таблицы.




Дата добавления: 2014-12-20; просмотров: 97 | Поможем написать вашу работу | Нарушение авторских прав




lektsii.net - Лекции.Нет - 2014-2024 год. (0.015 сек.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав